• Sean Christopherson's avatar
    KVM: x86/mmu: Require mmu_lock be held for write to zap TDP MMU range · acbda82a
    Sean Christopherson authored
    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: default avatarSean Christopherson <seanjc@google.com>
    Reviewed-by: default avatarBen Gardon <bgardon@google.com>
    Message-Id: <20220226001546.360188-17-seanjc@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    acbda82a
tdp_mmu.c 54.2 KB