summaryrefslogtreecommitdiffstats
path: root/virt
diff options
context:
space:
mode:
authorLuiz Capitulino <lcapitulino@redhat.com>2016-09-07 20:47:21 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2016-09-16 16:57:46 +0200
commit9d5a1dcebfbe0e421412fcf5ab86d30e2e65bab4 (patch)
treecb065ab87a144924d42ac60bf90a675d00731fef /virt
parentkvm: x86: drop read_tsc_offset() (diff)
downloadlinux-9d5a1dcebfbe0e421412fcf5ab86d30e2e65bab4.tar.xz
linux-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)