diff options
author | Anton Blanchard <anton@samba.org> | 2014-04-03 01:08:38 -0400 |
---|---|---|
committer | Anton Blanchard <anton@samba.org> | 2014-04-22 20:05:33 -0400 |
commit | 47f86b4e07afd4652ab0b092cbf493bf8b96559e (patch) | |
tree | a20eae30380b3042ef1f78825202b9ae0fa9ce18 | |
parent | 5e66684fe4c71e4d62d6a5d313057185ac0890cc (diff) |
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.h | 5 |
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 @@ | |||
30 | #include <linux/ptrace.h> | 30 | #include <linux/ptrace.h> |
31 | #include <linux/percpu.h> | 31 | #include <linux/percpu.h> |
32 | #include <asm/probes.h> | 32 | #include <asm/probes.h> |
33 | #include <asm/code-patching.h> | ||
33 | 34 | ||
34 | #define __ARCH_WANT_KPROBES_INSN_SLOT | 35 | #define __ARCH_WANT_KPROBES_INSN_SLOT |
35 | 36 | ||
@@ -56,9 +57,9 @@ typedef ppc_opcode_t kprobe_opcode_t; | |||
56 | if ((colon = strchr(name, ':')) != NULL) { \ | 57 | if ((colon = strchr(name, ':')) != NULL) { \ |
57 | colon++; \ | 58 | colon++; \ |
58 | if (*colon != '\0' && *colon != '.') \ | 59 | if (*colon != '\0' && *colon != '.') \ |
59 | addr = *(kprobe_opcode_t **)addr; \ | 60 | addr = (kprobe_opcode_t *)ppc_function_entry(addr); \ |
60 | } else if (name[0] != '.') \ | 61 | } else if (name[0] != '.') \ |
61 | addr = *(kprobe_opcode_t **)addr; \ | 62 | addr = (kprobe_opcode_t *)ppc_function_entry(addr); \ |
62 | } else { \ | 63 | } else { \ |
63 | char dot_name[KSYM_NAME_LEN]; \ | 64 | char dot_name[KSYM_NAME_LEN]; \ |
64 | dot_name[0] = '.'; \ | 65 | dot_name[0] = '.'; \ |