Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1717466 > unrolled thread

[PATCH] fix memory leak on kvm_vm_ioctl_get_htab_fd

Started bynixiaoming <nixiaoming@huawei.com>
First post2017-08-22 16:40 +0200
Last post2017-08-22 18:00 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] fix memory leak on kvm_vm_ioctl_get_htab_fd nixiaoming <nixiaoming@huawei.com> - 2017-08-22 16:40 +0200
    Re: [PATCH] fix memory leak on kvm_vm_ioctl_get_htab_fd Paolo Bonzini <pbonzini@redhat.com> - 2017-08-22 18:00 +0200

#1717466 — [PATCH] fix memory leak on kvm_vm_ioctl_get_htab_fd

Fromnixiaoming <nixiaoming@huawei.com>
Date2017-08-22 16:40 +0200
Subject[PATCH] fix memory leak on kvm_vm_ioctl_get_htab_fd
Message-ID<uhivw-3DB-21@gated-at.bofh.it>
ctx = kzalloc(sizeof(*ctx), GFP_KERNEL);
but no free when anon_inode_getfd return fail
so, add kfree(ctx) to fix memory leak

Signed-off-by: nixiaoming <nixiaoming@huawei.com>
---
 arch/powerpc/kvm/book3s_64_mmu_hv.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/kvm/book3s_64_mmu_hv.c b/arch/powerpc/kvm/book3s_64_mmu_hv.c
index b42812e..be3d08f 100644
--- a/arch/powerpc/kvm/book3s_64_mmu_hv.c
+++ b/arch/powerpc/kvm/book3s_64_mmu_hv.c
@@ -1940,6 +1940,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;
 	ret = anon_inode_getfd("kvm-htab", &kvm_htab_fops, ctx, rwflag | O_CLOEXEC);
 	if (ret < 0) {
+		kfree(ctx);
 		kvm_put_kvm(kvm);
 		return ret;
 	}
-- 
2.11.0.1

[toc] | [next] | [standalone]


#1717525

FromPaolo Bonzini <pbonzini@redhat.com>
Date2017-08-22 18:00 +0200
Message-ID<uhjKV-4r8-9@gated-at.bofh.it>
In reply to#1717466
On 22/08/2017 16:18, nixiaoming wrote:
> ctx = kzalloc(sizeof(*ctx), GFP_KERNEL);
> but no free when anon_inode_getfd return fail
> so, add kfree(ctx) to fix memory leak
> 
> Signed-off-by: nixiaoming <nixiaoming@huawei.com>
> ---
>  arch/powerpc/kvm/book3s_64_mmu_hv.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/powerpc/kvm/book3s_64_mmu_hv.c b/arch/powerpc/kvm/book3s_64_mmu_hv.c
> index b42812e..be3d08f 100644
> --- a/arch/powerpc/kvm/book3s_64_mmu_hv.c
> +++ b/arch/powerpc/kvm/book3s_64_mmu_hv.c
> @@ -1940,6 +1940,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;
>  	ret = anon_inode_getfd("kvm-htab", &kvm_htab_fops, ctx, rwflag | O_CLOEXEC);
>  	if (ret < 0) {
> +		kfree(ctx);
>  		kvm_put_kvm(kvm);
>  		return ret;
>  	}
> 

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web