[PATCH] KVM: x86/tdp_mmu: Fix base gfn check when zapping private huge SPTE

pcjer
2026-03-09T08:38:55Z

Signed-off-by: pcjer <pcj3195161583@163.com>
---
arch/x86/kvm/mmu/tdp_mmu.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kvm/mmu/tdp_mmu.c b/arch/x86/kvm/mmu/tdp_mmu.c
index 1266d5452..8482a85d6 100644
--- a/arch/x86/kvm/mmu/tdp_mmu.c
+++ b/arch/x86/kvm/mmu/tdp_mmu.c
@@ -1025,8 +1025,8 @@ static bool tdp_mmu_zap_leafs(struct kvm *kvm, struct kvm_mmu_page *root,

slot = gfn_to_memslot(kvm, gfn);
if (kvm_hugepage_test_mixed(slot, gfn, iter.level) ||
- (gfn & mask) < start ||
- end < (gfn & mask) + KVM_PAGES_PER_HPAGE(iter.level)) {
+ (gfn & ~mask) < start ||
+ end < (gfn & ~mask) + KVM_PAGES_PER_HPAGE(iter.level)) {
WARN_ON_ONCE(!can_yield);
if (split_sp) {
sp = split_sp;
--
2.43.0