]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: x86/mmu: Require mmu_lock be held for write to zap TDP MMU range
authorSean Christopherson <seanjc@google.com>
Sat, 26 Feb 2022 00:15:34 +0000 (00:15 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 8 Mar 2022 14:31:55 +0000 (09:31 -0500)
commitc627eeaa28139cf892a359622a04dbf360a0f010
tree00b33e307922f905ca6779840b2303e968226cbc
parentaa4e5cf75da302f59170a9ac65ee31e39855512b
KVM: x86/mmu: Require mmu_lock be held for write to zap TDP MMU range

Now that all callers of zap_gfn_range() hold mmu_lock for write, drop
support for zapping with mmu_lock held for read.  That all callers hold
mmu_lock for write isn't a random coincidence; now that the paths that
need to zap _everything_ have their own path, the only callers left are
those that need to zap for functional correctness.  And when zapping is
required for functional correctness, mmu_lock must be held for write,
otherwise the caller has no guarantees about the state of the TDP MMU
page tables after it has run, e.g. the SPTE(s) it zapped can be
immediately replaced by a vCPU faulting in a page.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Reviewed-by: Ben Gardon <bgardon@google.com>
Message-Id: <20220226001546.360188-17-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/mmu/tdp_mmu.c