Messages in this thread Patch in this message | | | Date | Thu, 27 Mar 2008 22:24:14 +0100 | From | Ingo Molnar <> | Subject | Re: [git pull] x86 fixes |
| |
* Ingo Molnar <mingo@elte.hu> wrote:
> The patch below (ontop of the tree) is a first cut at fixing all these > problems - but i'd wait at least 24 hours with applying this to let it > be tested through - it affects both 32-bit and 64-bit. The fix further > cleans up this codepath and removes an #ifdef.
scratch that 24 hours - the patch is obviously correct as it only removes the nonsensical bits that get duplicated below anyway.
Linus, please pull the latest x86 git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git for-linus
Thanks,
Ingo
------------------> Ingo Molnar (1): x86: prefetch fix #2
arch/x86/mm/fault.c | 11 ++++------- 1 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index c0c82bc..ec08d83 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -91,13 +91,10 @@ static int is_prefetch(struct pt_regs *regs, unsigned long addr, int prefetch = 0; unsigned char *max_instr; -#ifdef CONFIG_X86_32 - /* Catch an obscure case of prefetch inside an NX page: */ - if ((__supported_pte_mask & _PAGE_NX) && (error_code & 16)) - return 0; -#endif - - /* If it was a exec fault on NX page, ignore */ + /* + * If it was a exec (instruction fetch) fault on NX page, then + * do not ignore the fault: + */ if (error_code & PF_INSTR) return 0;
| |