Browse Source

powerpc/ftrace: bugfix for test_24bit_addr

The branch target should be the func addr, not the addr of func_descr_t.
So using ppc_function_entry() to generate the right target addr.

Signed-off-by: Liu Ping Fan <pingfank@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Liu Ping Fan 11 years ago
parent
commit
a95fc58549
1 changed files with 1 additions and 0 deletions
  1. 1 0
      arch/powerpc/kernel/ftrace.c

+ 1 - 0
arch/powerpc/kernel/ftrace.c

@@ -74,6 +74,7 @@ ftrace_modify_code(unsigned long ip, unsigned int old, unsigned int new)
  */
  */
 static int test_24bit_addr(unsigned long ip, unsigned long addr)
 static int test_24bit_addr(unsigned long ip, unsigned long addr)
 {
 {
+	addr = ppc_function_entry((void *)addr);
 
 
 	/* use the create_branch to verify that this offset can be branched */
 	/* use the create_branch to verify that this offset can be branched */
 	return create_branch((unsigned int *)ip, addr, 0);
 	return create_branch((unsigned int *)ip, addr, 0);