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 |
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 >
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 --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);
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(-)