summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/mmu.c
diff options
context:
space:
mode:
authorBandan Das <bsd@redhat.com>2016-07-12 18:18:48 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2016-07-14 09:02:46 +0200
commit8d5cf1610da526c3c1286bd7b3ac9f35f96ed43d (patch)
treea6451ae6fb09cb3661db7db118aeed87d4e61de8 /arch/x86/kvm/mmu.c
parent6d5315b3a60cc9b136b86b4dafeb73bf272d24c0 (diff)
downloadlinux-8d5cf1610da526c3c1286bd7b3ac9f35f96ed43d.tar.bz2
kvm: mmu: extend the is_present check to 32 bits
This is safe because this function is called on host controlled page table and non-present/non-MMIO sptes never use bits 1..31. For the EPT case, this ensures that cases where only the execute bit is set is marked valid. Signed-off-by: Bandan Das <bsd@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm/mmu.c')
-rw-r--r--arch/x86/kvm/mmu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index 837bf23c5b06..55a20c0524fe 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -304,7 +304,7 @@ static int is_nx(struct kvm_vcpu *vcpu)
static int is_shadow_present_pte(u64 pte)
{
- return pte & PT_PRESENT_MASK && !is_mmio_spte(pte);
+ return (pte & 0xFFFFFFFFull) && !is_mmio_spte(pte);
}
static int is_large_pte(u64 pte)