summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Blanchard <anton@samba.org>2014-04-03 16:08:38 +1100
committerAnton Blanchard <anton@samba.org>2014-04-23 10:05:33 +1000
commit47f86b4e07afd4652ab0b092cbf493bf8b96559e (patch)
treea20eae30380b3042ef1f78825202b9ae0fa9ce18
parent5e66684fe4c71e4d62d6a5d313057185ac0890cc (diff)
downloadlinux-47f86b4e07afd4652ab0b092cbf493bf8b96559e.tar.gz
linux-47f86b4e07afd4652ab0b092cbf493bf8b96559e.tar.xz
powerpc/kprobes: Fix ABIv2 issues with kprobe_lookup_name
Use ppc_function_entry in places where we previously assumed function descriptors exist. Signed-off-by: Anton Blanchard <anton@samba.org>
-rw-r--r--arch/powerpc/include/asm/kprobes.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/kprobes.h b/arch/powerpc/include/asm/kprobes.h
index 7b6feab6fd26..af15d4d8d604 100644
--- a/arch/powerpc/include/asm/kprobes.h
+++ b/arch/powerpc/include/asm/kprobes.h
@@ -30,6 +30,7 @@
#include <linux/ptrace.h>
#include <linux/percpu.h>
#include <asm/probes.h>
+#include <asm/code-patching.h>
#define __ARCH_WANT_KPROBES_INSN_SLOT
@@ -56,9 +57,9 @@ typedef ppc_opcode_t kprobe_opcode_t;
if ((colon = strchr(name, ':')) != NULL) { \
colon++; \
if (*colon != '\0' && *colon != '.') \
- addr = *(kprobe_opcode_t **)addr; \
+ addr = (kprobe_opcode_t *)ppc_function_entry(addr); \
} else if (name[0] != '.') \
- addr = *(kprobe_opcode_t **)addr; \
+ addr = (kprobe_opcode_t *)ppc_function_entry(addr); \
} else { \
char dot_name[KSYM_NAME_LEN]; \
dot_name[0] = '.'; \