diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2008-02-04 10:47:55 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-02-04 10:47:55 -0500 |
commit | b50516fc20f756cf4d18a89f6f9977d60151ccba (patch) | |
tree | 630e6e83bf8fc5dfb0143c2218b5893e9b9adac8 /arch/x86/mm | |
parent | 4cf31841762954ad2868156ccba94d798a16630f (diff) |
x86: CPA remove bogus NX clear
In split_large_page we clear the NX bit for the new split ptes, but we
need to preserve the original setting of it for the split ptes.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/mm')
-rw-r--r-- | arch/x86/mm/pageattr.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index e297bd65e513..877b5cca2cb8 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c | |||
@@ -225,7 +225,6 @@ static int split_large_page(pte_t *kpte, unsigned long address) | |||
225 | paravirt_alloc_pt(&init_mm, page_to_pfn(base)); | 225 | paravirt_alloc_pt(&init_mm, page_to_pfn(base)); |
226 | #endif | 226 | #endif |
227 | 227 | ||
228 | pgprot_val(ref_prot) &= ~_PAGE_NX; | ||
229 | for (i = 0; i < PTRS_PER_PTE; i++, addr += PAGE_SIZE) | 228 | for (i = 0; i < PTRS_PER_PTE; i++, addr += PAGE_SIZE) |
230 | set_pte(&pbase[i], pfn_pte(addr >> PAGE_SHIFT, ref_prot)); | 229 | set_pte(&pbase[i], pfn_pte(addr >> PAGE_SHIFT, ref_prot)); |
231 | 230 | ||