OpenCloudOS-Kernel/arch/x86/kvm/mmu
Sean Christopherson 44ac5958a6 KVM: x86/mmu: Set SPTE_AD_WRPROT_ONLY_MASK if and only if PML is enabled
Check that PML is actually enabled before setting the mask to force a
SPTE to be write-protected.  The bits used for the !AD_ENABLED case are
in the upper half of the SPTE.  With 64-bit paging and EPT, these bits
are ignored, but with 32-bit PAE paging they are reserved.  Setting them
for L2 SPTEs without checking PML breaks NPT on 32-bit KVM.

Fixes: 1f4e5fc83a ("KVM: x86: fix nested guest live migration with PML")
Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20210225204749.1512652-2-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-26 04:43:29 -05:00
..
mmu.c KVM: x86/mmu: Consider the hva in mmu_notifier retry 2021-02-22 13:16:53 -05:00
mmu_audit.c KVM: Stop using deprecated jump label APIs 2021-02-04 05:27:29 -05:00
mmu_internal.h KVM: x86/mmu: Set SPTE_AD_WRPROT_ONLY_MASK if and only if PML is enabled 2021-02-26 04:43:29 -05:00
mmutrace.h kvm: x86/mmu: Add TDP MMU SPTE changed trace point 2020-11-19 10:57:16 -05:00
page_track.c KVM: x86/mmu: Use an rwlock for the x86 MMU 2021-02-04 05:27:43 -05:00
paging_tmpl.h KVM: x86/mmu: Consider the hva in mmu_notifier retry 2021-02-22 13:16:53 -05:00
spte.c KVM: x86: use static calls to reduce kvm_x86_ops overhead 2021-02-04 05:27:30 -05:00
spte.h KVM: x86/mmu: Flush TLBs after zap in TDP MMU PF handler 2021-02-04 05:27:44 -05:00
tdp_iter.c KVM: x86/mmu: Protect TDP MMU page table memory with RCU 2021-02-04 05:27:42 -05:00
tdp_iter.h KVM: x86/mmu: Protect TDP MMU page table memory with RCU 2021-02-04 05:27:42 -05:00
tdp_mmu.c KVM: x86/mmu: Don't set dirty bits when disabling dirty logging w/ PML 2021-02-19 03:08:35 -05:00
tdp_mmu.h KVM: x86/mmu: Don't set dirty bits when disabling dirty logging w/ PML 2021-02-19 03:08:35 -05:00