From: Jan Kiszka Date: Tue, 26 Mar 2013 16:53:03 +0000 (+0100) Subject: ftrace: Consistently restore trace function on sysctl enabling X-Git-Tag: v3.8.7~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=55c823de4a6973acb4f849e8010f8b99b9205a71;p=thirdparty%2Fkernel%2Fstable.git ftrace: Consistently restore trace function on sysctl enabling commit 5000c418840b309251c5887f0b56503aae30f84c upstream. If we reenable ftrace via syctl, we currently set ftrace_trace_function based on the previous simplistic algorithm. This is inconsistent with what update_ftrace_function does. So better call that helper instead. Link: http://lkml.kernel.org/r/5151D26F.1070702@siemens.com Signed-off-by: Jan Kiszka Signed-off-by: Steven Rostedt Signed-off-by: Greg Kroah-Hartman --- diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index b27052cc3ee80..64bc5d856bba7 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -4537,12 +4537,8 @@ ftrace_enable_sysctl(struct ctl_table *table, int write, ftrace_startup_sysctl(); /* we are starting ftrace again */ - if (ftrace_ops_list != &ftrace_list_end) { - if (ftrace_ops_list->next == &ftrace_list_end) - ftrace_trace_function = ftrace_ops_list->func; - else - ftrace_trace_function = ftrace_ops_list_func; - } + if (ftrace_ops_list != &ftrace_list_end) + update_ftrace_function(); } else { /* stopping ftrace calls (just send to ftrace_stub) */