Re: [PATCH] x86: Remove nx_enabled from fault.c

From: Ingo Molnar
Date: Fri Jan 25 2008 - 05:14:55 EST



* Harvey Harrison <harvey.harrison@xxxxxxxxx> wrote:

> 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.

> @@ -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
> +

thanks, applied this portion of the patch.

> @@ -468,7 +463,7 @@ static int vmalloc_fault(unsigned long address)
> pmd_t *pmd, *pmd_ref;
> pte_t *pte, *pte_ref;
>
> - if (address >= VMALLOC_START && address < VMALLOC_END)
> + if (!(address >= VMALLOC_START && address < VMALLOC_END))
> return -1;

hm, what's this?

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/