summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2008-01-30 13:32:57 +0100
committerIngo Molnar <mingo@elte.hu>2008-01-30 13:32:57 +0100
commitc3bcfb57e1e64b9b2f8b2d90564826637e21c5ea (patch)
tree04f6a09f1b4fe9072d7f9539ce7832eeeab07dca /include
parent4614139c6a74fe02c85f702ba9c0e57f8e38647e (diff)
downloadlinux-c3bcfb57e1e64b9b2f8b2d90564826637e21c5ea.tar.gz
linux-c3bcfb57e1e64b9b2f8b2d90564826637e21c5ea.tar.bz2
linux-c3bcfb57e1e64b9b2f8b2d90564826637e21c5ea.zip
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>
Diffstat (limited to 'include')
-rw-r--r--include/asm-x86/pgtable-3level.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-x86/pgtable-3level.h b/include/asm-x86/pgtable-3level.h
index 948a33414118..9816346f7df6 100644
--- a/include/asm-x86/pgtable-3level.h
+++ b/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)
{
- return pte_val(pte) >> PAGE_SHIFT;
+ return (pte_val(pte) & ~_PAGE_NX) >> PAGE_SHIFT;
}
extern unsigned long long __supported_pte_mask;