Memory and debugfs entries are leaked on error. Fix it. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> --- virt/kvm/kvm_main.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index c1dc45e..9293285 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -585,12 +585,12 @@ static int kvm_create_vm_debugfs(struct kvm *kvm, int fd) sizeof(*kvm->debugfs_stat_data), GFP_KERNEL); if (!kvm->debugfs_stat_data) - return -ENOMEM; + goto out_err; for (p = debugfs_entries; p->name; p++) { stat_data = kzalloc(sizeof(*stat_data), GFP_KERNEL); if (!stat_data) - return -ENOMEM; + goto out_err; stat_data->kvm = kvm; stat_data->offset = p->offset; @@ -599,9 +599,13 @@ static int kvm_create_vm_debugfs(struct kvm *kvm, int fd) kvm->debugfs_dentry, stat_data, stat_fops_per_vm[p->kind])) - return -ENOMEM; + goto out_err; } return 0; + +out_err: + kvm_destroy_vm_debugfs(kvm); + return -ENOMEM; } static struct kvm *kvm_create_vm(unsigned long type) -- 2.5.5 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html