summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorleixiang <leixiang@kylinos.cn>2026-07-06 17:59:06 +0800
committerSean Christopherson <seanjc@google.com>2026-07-08 13:42:51 -0700
commitdb3a46e200df2f65aec7d1f0a076c99bc8484ea0 (patch)
tree86a455469547cc97315c25e74899c5ddf6894b03
parenta204badd8432f93b7e862e7dac6db0fe3d65f370 (diff)
KVM: Remove kvm_debugfs_dir on kvm_init() error paths
kvm_init_debug() runs before several steps that can fail (kvm_vfio_ops_init(), kvm_gmem_init(), kvm_init_virtualization() and misc_register()), but none of the corresponding error labels remove the "kvm" debugfs directory. Any failure after kvm_init_debug() therefore leaks the directory and its stat files for the lifetime of the boot. kvm_exit() already calls debugfs_remove_recursive(kvm_debugfs_dir); add the same at the err_vfio label, whose fall-through covers every path taken after kvm_init_debug(). Fixes: 2b0128127373 ("KVM: Register /dev/kvm as the _very_ last thing during initialization") Signed-off-by: leixiang <leixiang@kylinos.cn> Link: https://patch.msgid.link/20260706095910.39798-1-leixiang@kylinos.cn Signed-off-by: Sean Christopherson <seanjc@google.com>
-rw-r--r--virt/kvm/kvm_main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index e44c20c04961..d4420ebfd972 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -6559,6 +6559,7 @@ err_virt:
err_gmem:
kvm_vfio_ops_exit();
err_vfio:
+ debugfs_remove_recursive(kvm_debugfs_dir);
kvm_async_pf_deinit();
err_async_pf:
kvm_irqfd_exit();