aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/kvm/paging_tmpl.h
diff options
context:
space:
mode:
authorAvi Kivity <avi@qumranet.com>2007-10-11 09:08:41 -0400
committerAvi Kivity <avi@qumranet.com>2008-01-30 10:52:51 -0500
commitc22e3514fceb2f514093ce1d19a2f660ac7347ae (patch)
tree7df0ec47014030c2dd126d25be868306ea87a7ec /drivers/kvm/paging_tmpl.h
parente3c5e7ec9efe0ebd47fa812cc86f01c51905edf6 (diff)
KVM: MMU: Fix nx access bit for huge pages
We must set the bit before the shift, otherwise the wrong bit gets set. Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/paging_tmpl.h')
-rw-r--r--drivers/kvm/paging_tmpl.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/kvm/paging_tmpl.h b/drivers/kvm/paging_tmpl.h
index da36e48fd026..e07cb2e006c2 100644
--- a/drivers/kvm/paging_tmpl.h
+++ b/drivers/kvm/paging_tmpl.h
@@ -382,9 +382,9 @@ static u64 *FNAME(fetch)(struct kvm_vcpu *vcpu, gva_t addr,
382 metaphysical = 1; 382 metaphysical = 1;
383 hugepage_access = walker->pte; 383 hugepage_access = walker->pte;
384 hugepage_access &= PT_USER_MASK | PT_WRITABLE_MASK; 384 hugepage_access &= PT_USER_MASK | PT_WRITABLE_MASK;
385 hugepage_access >>= PT_WRITABLE_SHIFT;
385 if (walker->pte & PT64_NX_MASK) 386 if (walker->pte & PT64_NX_MASK)
386 hugepage_access |= (1 << 2); 387 hugepage_access |= (1 << 2);
387 hugepage_access >>= PT_WRITABLE_SHIFT;
388 table_gfn = (walker->pte & PT_BASE_ADDR_MASK) 388 table_gfn = (walker->pte & PT_BASE_ADDR_MASK)
389 >> PAGE_SHIFT; 389 >> PAGE_SHIFT;
390 } else { 390 } else {