diff options
Diffstat (limited to 'arch/s390/kernel/ftrace.c')
-rw-r--r-- | arch/s390/kernel/ftrace.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/s390/kernel/ftrace.c b/arch/s390/kernel/ftrace.c index 39b13d71a8fe..1bb85f60c0dd 100644 --- a/arch/s390/kernel/ftrace.c +++ b/arch/s390/kernel/ftrace.c | |||
@@ -201,17 +201,18 @@ device_initcall(ftrace_plt_init); | |||
201 | * Hook the return address and push it in the stack of return addresses | 201 | * Hook the return address and push it in the stack of return addresses |
202 | * in current thread info. | 202 | * in current thread info. |
203 | */ | 203 | */ |
204 | unsigned long prepare_ftrace_return(unsigned long parent, unsigned long ip) | 204 | unsigned long prepare_ftrace_return(unsigned long ra, unsigned long sp, |
205 | unsigned long ip) | ||
205 | { | 206 | { |
206 | if (unlikely(ftrace_graph_is_dead())) | 207 | if (unlikely(ftrace_graph_is_dead())) |
207 | goto out; | 208 | goto out; |
208 | if (unlikely(atomic_read(¤t->tracing_graph_pause))) | 209 | if (unlikely(atomic_read(¤t->tracing_graph_pause))) |
209 | goto out; | 210 | goto out; |
210 | ip -= MCOUNT_INSN_SIZE; | 211 | ip -= MCOUNT_INSN_SIZE; |
211 | if (!function_graph_enter(parent, ip, 0, NULL)) | 212 | if (!function_graph_enter(ra, ip, 0, (void *) sp)) |
212 | parent = (unsigned long) return_to_handler; | 213 | ra = (unsigned long) return_to_handler; |
213 | out: | 214 | out: |
214 | return parent; | 215 | return ra; |
215 | } | 216 | } |
216 | NOKPROBE_SYMBOL(prepare_ftrace_return); | 217 | NOKPROBE_SYMBOL(prepare_ftrace_return); |
217 | 218 | ||