aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/ftrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/ftrace.c')
-rw-r--r--arch/powerpc/kernel/ftrace.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/ftrace.c b/arch/powerpc/kernel/ftrace.c
index 8fc0c1742498..96efc664b49d 100644
--- a/arch/powerpc/kernel/ftrace.c
+++ b/arch/powerpc/kernel/ftrace.c
@@ -105,7 +105,7 @@ __ftrace_make_nop(struct module *mod,
105 struct dyn_ftrace *rec, unsigned long addr) 105 struct dyn_ftrace *rec, unsigned long addr)
106{ 106{
107 unsigned int op; 107 unsigned int op;
108 unsigned long ptr; 108 unsigned long entry, ptr;
109 unsigned long ip = rec->ip; 109 unsigned long ip = rec->ip;
110 void *tramp; 110 void *tramp;
111 111
@@ -136,10 +136,11 @@ __ftrace_make_nop(struct module *mod,
136 136
137 pr_devel("trampoline target %lx", ptr); 137 pr_devel("trampoline target %lx", ptr);
138 138
139 entry = ppc_global_function_entry((void *)addr);
139 /* This should match what was called */ 140 /* This should match what was called */
140 if (ptr != ppc_function_entry((void *)addr)) { 141 if (ptr != entry) {
141 printk(KERN_ERR "addr %lx does not match expected %lx\n", 142 printk(KERN_ERR "addr %lx does not match expected %lx\n",
142 ptr, ppc_function_entry((void *)addr)); 143 ptr, entry);
143 return -EINVAL; 144 return -EINVAL;
144 } 145 }
145 146