On Tue, 22 Jul 2014 17:30:53 -0700 <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > The patch below does not apply to the 3.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 <stable@xxxxxxxxxxxxxxx>. My bad, it seems that 3.4 is not affected. I keyed off the commit that added the function update_function_graph_func() which was pushed to stable, but I should have keyed off of the commit that added the shortcut that prevented that function from being called. You can safely ignore this patch for 3.4. Thanks! -- Steve > > thanks, > > greg k-h > > ------------------ original commit in Linus's tree ------------------ > > >From 5f8bf2d263a20b986225ae1ed7d6759dc4b93af9 Mon Sep 17 00:00:00 2001 > From: "Steven Rostedt (Red Hat)" <rostedt@xxxxxxxxxxx> > Date: Tue, 15 Jul 2014 11:05:12 -0400 > Subject: [PATCH] tracing: Fix graph tracer with stack tracer on other archs > > Running my ftrace tests on PowerPC, it failed the test that checks > if function_graph tracer is affected by the stack tracer. It was. > Looking into this, I found that the update_function_graph_func() > must be called even if the trampoline function is not changed. > This is because archs like PowerPC do not support ftrace_ops being > passed by assembly and instead uses a helper function (what the > trampoline function points to). Since this function is not changed > even when multiple ftrace_ops are added to the code, the test that > falls out before calling update_function_graph_func() will miss that > the update must still be done. > > Call update_function_graph_function() for all calls to > update_ftrace_function() > > Cc: stable@xxxxxxxxxxxxxxx # 3.3+ > Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> > > diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c > index 5b372e3ed675..ac9d1dad630b 100644 > --- a/kernel/trace/ftrace.c > +++ b/kernel/trace/ftrace.c > @@ -265,12 +265,12 @@ static void update_ftrace_function(void) > func = ftrace_ops_list_func; > } > > + update_function_graph_func(); > + > /* If there's no change, then do nothing more here */ > if (ftrace_trace_function == func) > return; > > - update_function_graph_func(); > - > /* > * If we are using the list function, it doesn't care > * about the function_trace_ops. -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html