diff mbox series

[next] kvm: debugfs: fix memory leak in kvm_create_vm_debugfs

Message ID 20210701195500.27097-1-paskripkin@gmail.com (mailing list archive)
State New, archived
Headers show
Series [next] kvm: debugfs: fix memory leak in kvm_create_vm_debugfs | expand

Commit Message

Pavel Skripkin July 1, 2021, 7:55 p.m. UTC
In commit bc9e9e672df9 ("KVM: debugfs: Reuse binary stats descriptors")
loop for filling debugfs_stat_data was copy-pasted 2 times, but
in the second loop pointers are saved over pointers allocated
in the first loop. It causes memory leak. Fix it.

Fixes: bc9e9e672df9 ("KVM: debugfs: Reuse binary stats descriptors")
Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
---
 virt/kvm/kvm_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jing Zhang July 1, 2021, 9:24 p.m. UTC | #1
On Thu, Jul 1, 2021 at 2:55 PM Pavel Skripkin <paskripkin@gmail.com> wrote:
>
> In commit bc9e9e672df9 ("KVM: debugfs: Reuse binary stats descriptors")
> loop for filling debugfs_stat_data was copy-pasted 2 times, but
> in the second loop pointers are saved over pointers allocated
> in the first loop. It causes memory leak. Fix it.
>
> Fixes: bc9e9e672df9 ("KVM: debugfs: Reuse binary stats descriptors")
> Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
> ---
>  virt/kvm/kvm_main.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index 7d95126cda9e..986959833d70 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -935,7 +935,7 @@ static int kvm_create_vm_debugfs(struct kvm *kvm, int fd)
>                 stat_data->kvm = kvm;
>                 stat_data->desc = pdesc;
>                 stat_data->kind = KVM_STAT_VCPU;
> -               kvm->debugfs_stat_data[i] = stat_data;
> +               kvm->debugfs_stat_data[i + kvm_vm_stats_header.num_desc] = stat_data;
Pavel, thanks for fixing this.

Reviewed-by: Jing Zhang <jingzhangos@google.com>
>                 debugfs_create_file(pdesc->name, kvm_stats_debugfs_mode(pdesc),
>                                     kvm->debugfs_dentry, stat_data,
>                                     &stat_fops_per_vm);
> --
> 2.32.0
>
Paolo Bonzini July 8, 2021, 4:58 p.m. UTC | #2
On 01/07/21 23:24, Jing Zhang wrote:
> In commit bc9e9e672df9 ("KVM: debugfs: Reuse binary stats descriptors")
> loop for filling debugfs_stat_data was copy-pasted 2 times, but
> in the second loop pointers are saved over pointers allocated
> in the first loop. It causes memory leak. Fix it.
> 
> Fixes: bc9e9e672df9 ("KVM: debugfs: Reuse binary stats descriptors")
> Signed-off-by: Pavel Skripkin<paskripkin@gmail.com>
> ---

Queued, thanks.

Paolo
diff mbox series

Patch

diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 7d95126cda9e..986959833d70 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -935,7 +935,7 @@  static int kvm_create_vm_debugfs(struct kvm *kvm, int fd)
 		stat_data->kvm = kvm;
 		stat_data->desc = pdesc;
 		stat_data->kind = KVM_STAT_VCPU;
-		kvm->debugfs_stat_data[i] = stat_data;
+		kvm->debugfs_stat_data[i + kvm_vm_stats_header.num_desc] = stat_data;
 		debugfs_create_file(pdesc->name, kvm_stats_debugfs_mode(pdesc),
 				    kvm->debugfs_dentry, stat_data,
 				    &stat_fops_per_vm);