diff options
author | Anton Blanchard <anton@samba.org> | 2014-04-03 16:08:38 +1100 |
---|---|---|
committer | Anton Blanchard <anton@samba.org> | 2014-04-23 10:05:33 +1000 |
commit | 47f86b4e07afd4652ab0b092cbf493bf8b96559e (patch) | |
tree | a20eae30380b3042ef1f78825202b9ae0fa9ce18 /arch/powerpc/include | |
parent | 5e66684fe4c71e4d62d6a5d313057185ac0890cc (diff) | |
download | linux-47f86b4e07afd4652ab0b092cbf493bf8b96559e.tar.gz linux-47f86b4e07afd4652ab0b092cbf493bf8b96559e.tar.bz2 linux-47f86b4e07afd4652ab0b092cbf493bf8b96559e.zip |
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>
Diffstat (limited to 'arch/powerpc/include')
-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 @@ #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] = '.'; \ |