When doing a targeted zap during memslot removal (DELETE or MOVE) zap only leaf SPTEs and non-leaf SPTEs with gPTEs, as zapping non-leaf SPTEs without gPTEs is unnecessary and weird because sp->gfn for such SPTEs is rounded, i.e. night tightly coupled to the memslot. Massage the related documentation so that KVM doesn't get stuck maintaining undesirable ABI (again), and opportunistically add a lockdep assertion in kvm_unmap_gfn_range() (largely because I keep forgetting that memslot updates are special). Sean Christopherson (3): KVM: x86/mmu: Zap only SPs that shadow gPTEs when deleting memslot KVM: x86/mmu: Add lockdep assert to enforce safe usage of kvm_unmap_gfn_range() KVM: x86: Clean up documentation for KVM_X86_QUIRK_SLOT_ZAP_ALL Documentation/virt/kvm/api.rst | 16 +++++++++------- arch/x86/kvm/mmu/mmu.c | 26 ++++++++++++++++---------- 2 files changed, 25 insertions(+), 17 deletions(-) base-commit: 8cf0b93919e13d1e8d4466eb4080a4c4d9d66d7b -- 2.47.0.rc1.288.g06298d1525-goog