Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43f6b0cf authored by nixiaoming's avatar nixiaoming Committed by Paul Mackerras
Browse files

KVM: PPC: Book3S HV: Fix memory leak in kvm_vm_ioctl_get_htab_fd



We do ctx = kzalloc(sizeof(*ctx), GFP_KERNEL) and then later on call
anon_inode_getfd(), but if that fails we don't free ctx, so that
memory gets leaked.  To fix it, this adds kfree(ctx) in the failure
path.

Signed-off-by: default avatarnixiaoming <nixiaoming@huawei.com>
Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Signed-off-by: default avatarPaul Mackerras <paulus@ozlabs.org>
parent 4dafecde
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -1941,6 +1941,7 @@ int kvm_vm_ioctl_get_htab_fd(struct kvm *kvm, struct kvm_get_htab_fd *ghf)
	rwflag = (ghf->flags & KVM_GET_HTAB_WRITE) ? O_WRONLY : O_RDONLY;
	rwflag = (ghf->flags & KVM_GET_HTAB_WRITE) ? O_WRONLY : O_RDONLY;
	ret = anon_inode_getfd("kvm-htab", &kvm_htab_fops, ctx, rwflag | O_CLOEXEC);
	ret = anon_inode_getfd("kvm-htab", &kvm_htab_fops, ctx, rwflag | O_CLOEXEC);
	if (ret < 0) {
	if (ret < 0) {
		kfree(ctx);
		kvm_put_kvm(kvm);
		kvm_put_kvm(kvm);
		return ret;
		return ret;
	}
	}