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

From: Steven Rostedt
Date: Fri Dec 14 2018 - 22:01:07 EST


On Thu, 13 Dec 2018 17:09:35 +0000
James Morse <james.morse@xxxxxxx> wrote:

> Hi Steven,
>

> 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?

-- Steve

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;
}