diff options
author | Ionut Nicu <ionut.nicu@freescale.com> | 2008-03-05 11:12:54 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-04-06 23:49:19 -0400 |
commit | 221ac329e93fe2a676346af2e98e311251648f69 (patch) | |
tree | fda0c1f9ce619a3f34576a95e94b3385cc154fe3 | |
parent | 0119536cd314ef95553604208c25bc35581f7f0a (diff) |
[POWERPC] Fix kernel panic in arch_arm_kprobe
The code in arch_arm_kprobe was trying to set a breakpoint which
resulted in a page fault because the kernel text pages were write
protected. Disable the write protect when CONFIG_KPROBES is defined.
Signed-off-by: Ionut Nicu <ionut.nicu@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | include/asm-powerpc/pgtable-ppc32.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/asm-powerpc/pgtable-ppc32.h b/include/asm-powerpc/pgtable-ppc32.h index 2c79f550272b..bd5b4011c53b 100644 --- a/include/asm-powerpc/pgtable-ppc32.h +++ b/include/asm-powerpc/pgtable-ppc32.h | |||
@@ -420,7 +420,8 @@ extern int icache_44x_need_flush; | |||
420 | #define _PAGE_IO (_PAGE_KERNEL | _PAGE_NO_CACHE | _PAGE_GUARDED) | 420 | #define _PAGE_IO (_PAGE_KERNEL | _PAGE_NO_CACHE | _PAGE_GUARDED) |
421 | #define _PAGE_RAM (_PAGE_KERNEL | _PAGE_HWEXEC) | 421 | #define _PAGE_RAM (_PAGE_KERNEL | _PAGE_HWEXEC) |
422 | 422 | ||
423 | #if defined(CONFIG_KGDB) || defined(CONFIG_XMON) || defined(CONFIG_BDI_SWITCH) | 423 | #if defined(CONFIG_KGDB) || defined(CONFIG_XMON) || defined(CONFIG_BDI_SWITCH) ||\ |
424 | defined(CONFIG_KPROBES) | ||
424 | /* We want the debuggers to be able to set breakpoints anywhere, so | 425 | /* We want the debuggers to be able to set breakpoints anywhere, so |
425 | * don't write protect the kernel text */ | 426 | * don't write protect the kernel text */ |
426 | #define _PAGE_RAM_TEXT _PAGE_RAM | 427 | #define _PAGE_RAM_TEXT _PAGE_RAM |