Skip to content

Commit e949b6d

Browse files
committed
riscv/function_graph: Simplify with function_graph_enter()
The function_graph_enter() function does the work of calling the function graph hook function and the management of the shadow stack, simplifying the work done in the architecture dependent prepare_ftrace_return(). Have riscv use the new code, and remove the shadow stack management as well as having to set up the trace structure. This is needed to prepare for a fix of a design bug on how the curr_ret_stack is used. Cc: Greentime Hu <greentime@andestech.com> Cc: Alan Kao <alankao@andestech.com> Cc: stable@kernel.org Fixes: 03274a3 ("tracing/fgraph: Adjust fgraph depth before calling trace return callback") Reviewed-by: Palmer Dabbelt <palmer@sifive.com> Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
1 parent fe60522 commit e949b6d

File tree

1 file changed

+2
-12
lines changed

1 file changed

+2
-12
lines changed

arch/riscv/kernel/ftrace.c

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,6 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr,
132132
{
133133
unsigned long return_hooker = (unsigned long)&return_to_handler;
134134
unsigned long old;
135-
struct ftrace_graph_ent trace;
136135
int err;
137136

138137
if (unlikely(atomic_read(&current->tracing_graph_pause)))
@@ -144,17 +143,8 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr,
144143
*/
145144
old = *parent;
146145

147-
trace.func = self_addr;
148-
trace.depth = current->curr_ret_stack + 1;
149-
150-
if (!ftrace_graph_entry(&trace))
151-
return;
152-
153-
err = ftrace_push_return_trace(old, self_addr, &trace.depth,
154-
frame_pointer, parent);
155-
if (err == -EBUSY)
156-
return;
157-
*parent = return_hooker;
146+
if (function_graph_enter(old, self_addr, frame_pointer, parent))
147+
*parent = return_hooker;
158148
}
159149

160150
#ifdef CONFIG_DYNAMIC_FTRACE

0 commit comments

Comments
 (0)