summaryrefslogtreecommitdiff
path: root/virt
diff options
context:
space:
mode:
authorLuiz Capitulino <lcapitulino@redhat.com>2016-09-07 14:47:21 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2016-09-16 16:57:46 +0200
commit9d5a1dcebfbe0e421412fcf5ab86d30e2e65bab4 (patch)
treecb065ab87a144924d42ac60bf90a675d00731fef /virt
parent3e3f50262eb441d0fd1de4dce06739e9c0fe7c61 (diff)
downloadlwn-9d5a1dcebfbe0e421412fcf5ab86d30e2e65bab4.tar.gz
lwn-9d5a1dcebfbe0e421412fcf5ab86d30e2e65bab4.zip
kvm: kvm_destroy_vm_debugfs(): check debugfs_stat_data pointer
This make it possible to call kvm_destroy_vm_debugfs() from kvm_create_vm_debugfs() in error conditions. Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'virt')
-rw-r--r--virt/kvm/kvm_main.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index a00f8e4045cf..a6e864c67e35 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -559,9 +559,11 @@ static void kvm_destroy_vm_debugfs(struct kvm *kvm)
debugfs_remove_recursive(kvm->debugfs_dentry);
- for (i = 0; i < kvm_debugfs_num_entries; i++)
- kfree(kvm->debugfs_stat_data[i]);
- kfree(kvm->debugfs_stat_data);
+ if (kvm->debugfs_stat_data) {
+ for (i = 0; i < kvm_debugfs_num_entries; i++)
+ kfree(kvm->debugfs_stat_data[i]);
+ kfree(kvm->debugfs_stat_data);
+ }
}
static int kvm_create_vm_debugfs(struct kvm *kvm, int fd)