From: Steven Rostedt Subject: Re: [PATCH 6/6] arm64: Use ftrace_graph_get_ret_stack() instead of curr_ret_stack Date: Fri, 14 Dec 2018 22:00:54 -0500 Message-ID: <20181214220054.101f9e4c@vmware.local.home> References: <20181210193007.655970639@goodmis.org> <20181210193335.417173167@goodmis.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: James Morse Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, Ingo Molnar , Andrew Morton , linux-arm-kernel@lists.infradead.org, Will Deacon , Mark Rutland , Catalin Marinas List-Id: linux-arch.vger.kernel.org On Thu, 13 Dec 2018 17:09:35 +0000 James Morse 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 ¤t->ret_stack[idx]; + return &task->ret_stack[idx]; return NULL; }