linux/arch
Scott Wood 551ed332da [POWERPC] update_mmu_cache: Don't cache-flush non-readable pages
Currently, update_mmu_cache will crash if given a no-access PTE.
There's no need to synchronize dcache/icache unless it's an exec
mapping -- however, due to the existence of older glibc versions that
execute out of a read-but-no-exec page, readability is tested instead.

This assumes no exec-only mappings; if such mappings become supported,
they will need to go through the kmap_atomic() version of
dcache/icache synchronization.

This fixes a bug reported by some users where the kernel would crash
while dumping core on a threaded program.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-02-06 16:30:01 +11:00
..
alpha alpha: kill deprecated virt_to_bus 2008-02-05 09:44:21 -08:00
arm add mm argument to pte/pmd/pud/pgd_free 2008-02-05 09:44:18 -08:00
avr32 Fix timerfd breakage on avr32 2008-02-05 14:37:15 -08:00
blackfin timerfd: new timerfd API 2008-02-05 09:44:07 -08:00
cris arch/cris: add a missing iounmap 2008-02-05 09:44:24 -08:00
frv timerfd: fix remaining architectures 2008-02-05 14:37:15 -08:00
h8300 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2008-02-04 07:58:52 -08:00
ia64 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 2008-02-05 10:24:52 -08:00
m32r timerfd: fix remaining architectures 2008-02-05 14:37:15 -08:00
m68k mac68k: remove dead MAC_ADBKEYCODES 2008-02-05 09:44:24 -08:00
m68knommu m68knommu: remove duplicate exports 2008-02-05 09:44:21 -08:00
mips timerfd: new timerfd API 2008-02-05 09:44:07 -08:00
parisc Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2008-02-04 07:58:52 -08:00
powerpc [POWERPC] update_mmu_cache: Don't cache-flush non-readable pages 2008-02-06 16:30:01 +11:00
ppc add mm argument to pte/pmd/pud/pgd_free 2008-02-05 09:44:18 -08:00
s390 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2008-02-05 10:11:02 -08:00
sh timerfd: fix remaining architectures 2008-02-05 14:37:15 -08:00
sparc timerfd: new timerfd API 2008-02-05 09:44:07 -08:00
sparc64 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-02-05 10:08:47 -08:00
um uml: make mconsole_stack namespace-aware 2008-02-05 09:44:32 -08:00
v850 Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig 2008-02-03 08:58:08 +01:00
x86 stop c_p_a corrupting the pds 2008-02-05 14:37:14 -08:00
xtensa Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig 2008-02-03 08:58:08 +01:00
.gitignore arch: Ignore arch/i386 and arch/x86_64 2008-01-19 21:29:39 -08:00
Kconfig Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig 2008-02-03 08:58:08 +01:00