From b406ac61e94875723540bd56e26f634afdeef489 Mon Sep 17 00:00:00 2001 From: Harvey Harrison Date: Wed, 30 Jan 2008 13:34:11 +0100 Subject: [PATCH] x86: remove nx_enabled from fault.c On !PAE 32-bit, _PAGE_NX will be 0, making is_prefetch always return early. The test is sufficient on PAE as __supported_pte_mask is updated in the same places as nx_enabled in init_32.c which also takes disable_nx into account. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner --- arch/x86/mm/fault.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index 14a0c6e541d..99d273dbc75 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -92,18 +92,13 @@ static int is_prefetch(struct pt_regs *regs, unsigned long addr, unsigned char *max_instr; #ifdef CONFIG_X86_32 -# ifdef CONFIG_X86_PAE - /* If it was a exec fault on NX page, ignore */ - if (nx_enabled && (error_code & PF_INSTR)) + if (!(__supported_pte_mask & _PAGE_NX)) return 0; -# else - return 0; -# endif -#else /* CONFIG_X86_64 */ +#endif + /* If it was a exec fault on NX page, ignore */ if (error_code & PF_INSTR) return 0; -#endif instr = (unsigned char *)convert_ip_to_linear(current, regs); max_instr = instr + 15; -- 2.11.4.GIT