Re: [PATCH 6/6] arm64: Use ftrace_graph_get_ret_stack() instead of curr_ret_stack

From: James Morse
Date: Mon Dec 17 2018 - 08:31:03 EST


Hi Steve,

On 15/12/2018 03:00, Steven Rostedt wrote:
> On Thu, 13 Dec 2018 17:09:35 +0000
> James Morse <james.morse@xxxxxxx> wrote:
>> I gave this branch a spin, but I hit the WARN_ON() fairly easily:
>
> Thanks for testing!
>
> Can you see if this patch fixes it for you?

> diff --git a/kernel/trace/fgraph.c b/kernel/trace/fgraph.c
> index d4f04f0ca646..8dfd5021b933 100644
> --- a/kernel/trace/fgraph.c
> +++ b/kernel/trace/fgraph.c
> @@ -246,10 +246,10 @@ unsigned long ftrace_return_to_handler(unsigned long frame_pointer)
> struct ftrace_ret_stack *
> ftrace_graph_get_ret_stack(struct task_struct *task, int idx)
> {
> - idx = current->curr_ret_stack - idx;
> + idx = task->curr_ret_stack - idx;
>
> if (idx >= 0 && idx <= task->curr_ret_stack)
> - return &current->ret_stack[idx];
> + return &task->ret_stack[idx];
>
> return NULL;
> }
>

Heh, yes that fixes it:

Tested-by: James Morse <james.morse@xxxxxxx>


Thanks,

James