FAILED: patch "[PATCH] sh/function_graph: Simplify with function_graph_enter()" failed to apply to 4.4-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
bc715ee4dbc5db462c59b9cfba92d31b3274fe3aMon Sep 17 00:00:00 2001
From: "Steven Rostedt (VMware)" <[email protected]>
Date: Sun, 18 Nov 2018 17:35:37 -0500
Subject: [PATCH] sh/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 superh 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.
arch/sh/kernel/ftrace.c +2 -14
@@ -321,8 +321,7 @@ int ftrace_disable_ftrace_graph_caller(void)void prepare_ftrace_return (unsigned long *parent,unsigned long self_addr) {unsigned long old; -int faulted, err; -struct ftrace_graph_ent trace; +int faulted;unsigned long return_hooker = (unsigned long )&return_to_handler;if (unlikely (ftrace_graph_is_dead ()))
@@ -365,18 +364,7 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr) return; } - err =ftrace_push_return_trace (old, self_addr, &trace.depth,0 ,NULL ); -if (err == -EBUSY ) { +if (function_graph_enter (old, self_addr,0 ,NULL ))__raw_writel (old, parent); -return ; - } - - trace.func = self_addr; - -/* Only trace if the calling function expects to */ -if (!ftrace_graph_entry (&trace)) { - current->curr_ret_stack--; -__raw_writel (old, parent); - } }#endif /* CONFIG_FUNCTION_GRAPH_TRACER */