diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-27 16:20:47 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-27 16:20:47 -0400 |
commit | fb8c7fb25d7d754a992481e9f763ec0b5889c4d9 (patch) | |
tree | d43cd30836988e263ddeecd54a6c74e9ac03aad2 /arch/x86/mm/fault.c | |
parent | 074fcab574a36edec35d2e74955250f2e17d6000 (diff) | |
parent | 2e8fe719b57bbdc9e313daed1204bb55fed3ed44 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
xen: fix UP setup of shared_info
xen: fix RMW when unmasking events
x86, documentation: nmi_watchdog=2 works on x86_64
x86: stricter check in follow_huge_addr()
rdc321x: GPIO routines bugfixes
x86: ptrace.c: fix defined-but-unused warnings
x86: fix prefetch workaround
Diffstat (limited to 'arch/x86/mm/fault.c')
-rw-r--r-- | arch/x86/mm/fault.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index fdc667422df9..c0c82bc143c9 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c | |||
@@ -92,7 +92,8 @@ static int is_prefetch(struct pt_regs *regs, unsigned long addr, | |||
92 | unsigned char *max_instr; | 92 | unsigned char *max_instr; |
93 | 93 | ||
94 | #ifdef CONFIG_X86_32 | 94 | #ifdef CONFIG_X86_32 |
95 | if (!(__supported_pte_mask & _PAGE_NX)) | 95 | /* Catch an obscure case of prefetch inside an NX page: */ |
96 | if ((__supported_pte_mask & _PAGE_NX) && (error_code & 16)) | ||
96 | return 0; | 97 | return 0; |
97 | #endif | 98 | #endif |
98 | 99 | ||