Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752969AbdF0L5g (ORCPT ); Tue, 27 Jun 2017 07:57:36 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:55748 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752897AbdF0L52 (ORCPT ); Tue, 27 Jun 2017 07:57:28 -0400 From: Claudio Imbrenda To: kvm@vger.kernel.org Cc: linux-kernel@vger.kernel.org, borntraeger@de.ibm.com, frankja@linux.vnet.ibm.com, viro@ZenIV.linux.org.uk, pbonzini@redhat.com Subject: [PATCH v1 1/1] KVM: add missing kvm_put_kvm in case of failure Date: Tue, 27 Jun 2017 13:57:16 +0200 X-Mailer: git-send-email 2.7.4 X-TM-AS-GCONF: 00 x-cbid: 17062711-0008-0000-0000-0000047199B6 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17062711-0009-0000-0000-00001DFBB5D4 Message-Id: <1498564636-20259-1-git-send-email-imbrenda@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-06-27_07:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=1 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1703280000 definitions=main-1706270192 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 960 Lines: 29 If I'm not missing anything, in case kvm_create_vm_debugfs fails, we will have a memory leak due to not freeing the kvm object. A call to kvm_put_kvm was accidentally removed from an error handling in commit 506cfba9e726 ("KVM: don't use anon_inode_getfd() before possible failures") This patch simply restores the call to kvm_put_kvm, so that the kvm object is destroyed before returning an error. Signed-off-by: Claudio Imbrenda Fixes: 506cfba9e726 ("KVM: don't use anon_inode_getfd() before possible failures") --- virt/kvm/kvm_main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index f0fe9d0..257d2a8 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -3194,6 +3194,7 @@ static int kvm_dev_ioctl_create_vm(unsigned long type) if (kvm_create_vm_debugfs(kvm, r) < 0) { put_unused_fd(r); fput(file); + kvm_put_kvm(kvm); return -ENOMEM; } -- 2.7.4