diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2008-01-30 07:32:57 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:32:57 -0500 |
commit | c3bcfb57e1e64b9b2f8b2d90564826637e21c5ea (patch) | |
tree | 04f6a09f1b4fe9072d7f9539ce7832eeeab07dca /include/asm-x86/pgtable-3level.h | |
parent | 4614139c6a74fe02c85f702ba9c0e57f8e38647e (diff) |
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/asm-x86/pgtable-3level.h')
-rw-r--r-- | include/asm-x86/pgtable-3level.h | 2 |
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) | |||
155 | 155 | ||
156 | static inline unsigned long pte_pfn(pte_t pte) | 156 | static inline unsigned long pte_pfn(pte_t pte) |
157 | { | 157 | { |
158 | return pte_val(pte) >> PAGE_SHIFT; | 158 | return (pte_val(pte) & ~_PAGE_NX) >> PAGE_SHIFT; |
159 | } | 159 | } |
160 | 160 | ||
161 | extern unsigned long long __supported_pte_mask; | 161 | extern unsigned long long __supported_pte_mask; |