[PATCH v1 1/1] KVM: add missing kvm_put_kvm in case of failure

From: Claudio Imbrenda
Date: Tue Jun 27 2017 - 07:57:39 EST


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 <imbrenda@xxxxxxxxxxxxxxxxxx>
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