• Sean Christopherson's avatar
    KVM: nVMX: Don't clobber nested MMU's A/D status on EPTP switch · 272b0a99
    Sean Christopherson authored
    Drop bogus logic that incorrectly clobbers the accessed/dirty enabling
    status of the nested MMU on an EPTP switch.  When nested EPT is enabled,
    walk_mmu points at L2's _legacy_ page tables, not L1's EPT for L2.
    
    This is likely a benign bug, as mmu->ept_ad is never consumed (since the
    MMU is not a nested EPT MMU), and stuffing mmu_role.base.ad_disabled will
    never propagate into future shadow pages since the nested MMU isn't used
    to map anything, just to walk L2's page tables.
    
    Note, KVM also does a full MMU reload, i.e. the guest_mmu will be
    recreated using the new EPTP, and thus any change in A/D enabling will be
    properly recognized in the relevant MMU.
    
    Fixes: 41ab9372 ("KVM: nVMX: Emulate EPTP switching for the L1 hypervisor")
    Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
    Message-Id: <20210609234235.1244004-4-seanjc@google.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    272b0a99
nested.c 206 KB