Re: [PATCH 2/4] KVM: x86/mmu: Harden "map private PFN" against unexpected root invalidation
"Edgecombe, Rick P" <[email protected]>
| Newsgroups | org.kernel.vger.kvm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 2026-08-06 at 14:40 -0700, Sean Christopherson wrote: > @@ -5199,10 +5195,21 @@ int kvm_tdp_mmu_map_private_pfn(struct kvm_vcpu *vcpu, gfn_t gfn, kvm_pfn_t pfn) > if (kvm_test_request(KVM_REQ_VM_DEAD, vcpu)) > return -EIO; > > + r = kvm_mmu_reload(vcpu); > + if (r) > + return r; > + > cond_resched(); > > guard(read_lock)(&kvm->mmu_lock); > > + /* > + * Because slots_lock is held, it should be impossible for roots > + * to be invalidated after the initial MMU reload. WARN, but > + * continue and re-reload the MMU to try and keep the VM alive. > + */ It might be a little confusing when no MMU reload follows the comment. Maybe mention that the MMU reload is above? Either way ok to me. > + WARN_ON_ONCE(kvm_test_request(KVM_REQ_MMU_FREE_OBSOLETE_ROOTS, vcpu)); > + > r = kvm_tdp_mmu_map(vcpu, &fault);