summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Christopherson <seanjc@google.com>2021-06-22 20:57:01 +0300
committerPaolo Bonzini <pbonzini@redhat.com>2021-06-25 01:00:39 +0300
commit18feaad3c6556192b0d28f0777b021d137076917 (patch)
tree6bcf34b2801a7c2fbd976787cf67a749eef6fc28
parent31e96bc63655ba643e31d83d8652b43f01e43f5b (diff)
downloadlinux-18feaad3c6556192b0d28f0777b021d137076917.tar.xz
KVM: x86/mmu: Drop smep_andnot_wp check from "uses NX" for shadow MMUs
Drop the smep_andnot_wp role check from the "uses NX" calculation now that all non-nested shadow MMUs treat NX as used via the !TDP check. The shadow MMU for nested NPT, which shares the helper, does not need to deal with SMEP (or WP) as NPT walks are always "user" accesses and WP is explicitly noted as being ignored: Table walks for guest page tables are always treated as user writes at the nested page table level. A table walk for the guest page itself is always treated as a user access at the nested page table level The host hCR0.WP bit is ignored under nested paging. Signed-off-by: Sean Christopherson <seanjc@google.com> Message-Id: <20210622175739.3610207-17-seanjc@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--arch/x86/kvm/mmu/mmu.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
index f3c4c6349ddc..588d789cc79f 100644
--- a/arch/x86/kvm/mmu/mmu.c
+++ b/arch/x86/kvm/mmu/mmu.c
@@ -4223,8 +4223,7 @@ reset_shadow_zero_bits_mask(struct kvm_vcpu *vcpu, struct kvm_mmu *context)
* NX can be used by any non-nested shadow MMU to avoid having to reset
* MMU contexts. Note, KVM forces EFER.NX=1 when TDP is disabled.
*/
- bool uses_nx = context->nx || !tdp_enabled ||
- context->mmu_role.base.smep_andnot_wp;
+ bool uses_nx = context->nx || !tdp_enabled;
struct rsvd_bits_validate *shadow_zero_check;
int i;