powerpc: Don't write protect kernel text with CONFIG_DYNAMIC_FTRACE enabled
authorStefan Roese <[email protected]>
Thu, 14 Apr 2011 23:49:53 +0000 (23:49 +0000)
committerBenjamin Herrenschmidt <[email protected]>
Mon, 18 Apr 2011 03:08:21 +0000 (13:08 +1000)
This problem was noticed on an MPC855T platform. Ftrace did oops
when trying to write to the kernel text segment.

Many thanks to Joakim for finding the root cause of this problem.

Signed-off-by: Stefan Roese <[email protected]>
Cc: Joakim Tjernlund <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Steven Rostedt <[email protected]>
Signed-off-by: Benjamin Herrenschmidt <[email protected]>
arch/powerpc/include/asm/pte-common.h

index 811f04ac3660842baf72973b3786c3d8f9b92c6c..8d1569c290428e82db7d03cec9bca66c66dcf35b 100644 (file)
@@ -162,7 +162,7 @@ extern unsigned long bad_call_to_PMD_PAGE_SIZE(void);
  * on platforms where such control is possible.
  */
 #if defined(CONFIG_KGDB) || defined(CONFIG_XMON) || defined(CONFIG_BDI_SWITCH) ||\
-       defined(CONFIG_KPROBES)
+       defined(CONFIG_KPROBES) || defined(CONFIG_DYNAMIC_FTRACE)
 #define PAGE_KERNEL_TEXT       PAGE_KERNEL_X
 #else
 #define PAGE_KERNEL_TEXT       PAGE_KERNEL_ROX