]> git.ipfire.org Git - thirdparty/linux.git/commit
KVM: arm64: Destroy stage-2 page-table in kvm_arch_destroy_vm()
authorWill Deacon <will@kernel.org>
Fri, 27 Mar 2026 19:27:57 +0000 (19:27 +0000)
committerMarc Zyngier <maz@kernel.org>
Wed, 1 Apr 2026 15:48:16 +0000 (16:48 +0100)
commita3ca3bfd01b7ee9f54ed85718a6d553cdd87050e
tree3e5e18338c243f1e2f873f15ae83ecc7b85d6d63
parent2fc0f3e2b9a9f397554ffe86e8f6eb0e2507ec6e
KVM: arm64: Destroy stage-2 page-table in kvm_arch_destroy_vm()

kvm_arch_destroy_vm() can be called on the kvm_create_vm() error path
after we have failed to register the MMU notifiers for the new VM. In
this case, we cannot rely on the MMU ->release() notifier to call
kvm_arch_flush_shadow_all() and so the stage-2 page-table allocated in
kvm_arch_init_vm() will be leaked.

Explicitly destroy the stage-2 page-table in kvm_arch_destroy_vm(), so
that we clean up after kvm_arch_destroy_vm() without relying on the MMU
notifiers.

Link: https://sashiko.dev/#/patchset/20260327140039.21228-1-will%40kernel.org?patch=12265
Signed-off-by: Will Deacon <will@kernel.org>
Link: https://patch.msgid.link/20260327192758.21739-3-will@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/kvm/arm.c