diff options
author | Luiz Capitulino <lcapitulino@redhat.com> | 2016-09-07 14:47:21 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2016-09-16 16:57:46 +0200 |
commit | 9d5a1dcebfbe0e421412fcf5ab86d30e2e65bab4 (patch) | |
tree | cb065ab87a144924d42ac60bf90a675d00731fef /virt | |
parent | 3e3f50262eb441d0fd1de4dce06739e9c0fe7c61 (diff) | |
download | lwn-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.c | 8 |
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) |