diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-27 23:20:47 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-27 23:20:47 +0300 |
commit | fb8c7fb25d7d754a992481e9f763ec0b5889c4d9 (patch) | |
tree | d43cd30836988e263ddeecd54a6c74e9ac03aad2 /arch/x86/mm | |
parent | 074fcab574a36edec35d2e74955250f2e17d6000 (diff) | |
parent | 2e8fe719b57bbdc9e313daed1204bb55fed3ed44 (diff) | |
download | linux-fb8c7fb25d7d754a992481e9f763ec0b5889c4d9.tar.xz |
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')
-rw-r--r-- | arch/x86/mm/fault.c | 3 | ||||
-rw-r--r-- | arch/x86/mm/hugetlbpage.c | 2 |
2 files changed, 3 insertions, 2 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, unsigned char *max_instr; #ifdef CONFIG_X86_32 - if (!(__supported_pte_mask & _PAGE_NX)) + /* Catch an obscure case of prefetch inside an NX page: */ + if ((__supported_pte_mask & _PAGE_NX) && (error_code & 16)) return 0; #endif diff --git a/arch/x86/mm/hugetlbpage.c b/arch/x86/mm/hugetlbpage.c index 4fbafb4bc2f0..0b3d567e686d 100644 --- a/arch/x86/mm/hugetlbpage.c +++ b/arch/x86/mm/hugetlbpage.c @@ -178,7 +178,7 @@ follow_huge_addr(struct mm_struct *mm, unsigned long address, int write) page = &pte_page(*pte)[vpfn % (HPAGE_SIZE/PAGE_SIZE)]; - WARN_ON(!PageCompound(page)); + WARN_ON(!PageHead(page)); return page; } |