Browse Source

x86: mask NX from pte_pfn

In 32-bit PAE, mask NX from pte_pfn, since it isn't part of the PFN.
This code is due for unification anyway, but this fixes a latent bug.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Jeremy Fitzhardinge 17 years ago
parent
commit
c3bcfb57e1
1 changed files with 1 additions and 1 deletions
  1. 1 1
      include/asm-x86/pgtable-3level.h

+ 1 - 1
include/asm-x86/pgtable-3level.h

@@ -155,7 +155,7 @@ static inline int pte_none(pte_t pte)
 
 
 static inline unsigned long pte_pfn(pte_t pte)
 static inline unsigned long pte_pfn(pte_t pte)
 {
 {
-	return pte_val(pte) >> PAGE_SHIFT;
+	return (pte_val(pte) & ~_PAGE_NX) >> PAGE_SHIFT;
 }
 }
 
 
 extern unsigned long long __supported_pte_mask;
 extern unsigned long long __supported_pte_mask;