powerpc: Don't write protect kernel text with CONFIG_DYNAMIC_FTRACE enabled
authorStefan Roese <sr@denx.de>
Thu, 14 Apr 2011 23:49:53 +0000 (23:49 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
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 <sr@denx.de>
Cc: Joakim Tjernlund <joakim.tjernlund@transmode.se>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
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