linux/arch/powerpc/mm
Segher Boessenkool 9ba4ace39f [POWERPC] PowerPC: Prevent data exception in kernel space (32-bit)
The "is_exec" branch of the protection check in do_page_fault()
didn't do anything on 32-bit PowerPC.  So if a userland program
jumps to a page with Linux protection flags "---p", all the tests
happily fall through, and handle_mm_fault() is called, which in
turn calls handle_pte_fault(), which calls update_mmu_cache(),
which goes flush the dcache to a page with no access rights.

Boom.

This fixes it.

Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>
Cc: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-20 22:07:38 +10:00
..
4xx_mmu.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
44x_mmu.c [POWERPC] Revise PPC44x MMU code for arch/powerpc 2007-05-02 20:04:29 +10:00
Makefile [POWERPC] Introduce address space "slices" 2007-05-09 16:35:00 +10:00
fault.c [POWERPC] PowerPC: Prevent data exception in kernel space (32-bit) 2007-06-20 22:07:38 +10:00
fsl_booke_mmu.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
hash_low_32.S [POWERPC] Fix COMMON symbol warnings 2007-05-17 21:10:15 +10:00
hash_low_64.S [POWERPC] Add ability to 4K kernel to hash in 64K pages 2007-05-09 16:35:00 +10:00
hash_native_64.c [POWERPC] Remove unused variable in hpte_decode() 2007-05-12 11:32:47 +10:00
hash_utils_64.c [POWERPC] Correct #endif comment 2007-05-17 21:11:19 +10:00
hugetlbpage.c [POWERPC] Introduce address space "slices" 2007-05-09 16:35:00 +10:00
imalloc.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
init_32.c [POWERPC] DEBUG_PAGEALLOC for 32-bit 2007-04-13 04:09:39 +10:00
init_64.c [POWERPC] Don't use SLAB/SLUB for PTE pages 2007-05-09 16:35:00 +10:00
lmb.c [POWERPC] Allow duplicate lmb_reserve() calls 2007-03-08 15:43:28 +11:00
mem.c [POWERPC] Fix warning in 32-bit builds with CONFIG_HIGHMEM 2007-05-22 20:20:57 +10:00
mmap.c Detach sched.h from mm.h 2007-05-21 09:18:19 -07:00
mmu_context_32.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mmu_context_64.c [POWERPC] Introduce address space "slices" 2007-05-09 16:35:00 +10:00
mmu_decl.h [POWERPC] Revise PPC44x MMU code for arch/powerpc 2007-05-02 20:04:29 +10:00
numa.c Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
pgtable_32.c [POWERPC] Fix modpost warning 2007-05-23 07:49:37 -05:00
pgtable_64.c [POWERPC] Add spinlock to request_phb_iospace() 2007-05-17 21:11:14 +10:00
ppc_mmu_32.c [POWERPC] Further fixes for the removal of 4level-fixup hack from ppc32 2007-05-09 16:35:01 +10:00
slb.c [POWERPC] Introduce address space "slices" 2007-05-09 16:35:00 +10:00
slb_low.S [POWERPC] Introduce address space "slices" 2007-05-09 16:35:00 +10:00
slice.c [POWERPC] Introduce address space "slices" 2007-05-09 16:35:00 +10:00
stab.c [POWERPC] Add __init annotations to reserve_mem() and stabs_alloc() 2007-05-08 11:54:19 +10:00
tlb_32.c [POWERPC] Further fixes for the removal of 4level-fixup hack from ppc32 2007-05-09 16:35:01 +10:00
tlb_64.c [POWERPC] Add ability to 4K kernel to hash in 64K pages 2007-05-09 16:35:00 +10:00