ftrace: Fix synchronization location disabling and freeing ftrace_ops
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Mon, 13 Jan 2014 17:56:21 +0000 (12:56 -0500)
committerSteven Rostedt <rostedt@goodmis.org>
Mon, 13 Jan 2014 17:56:21 +0000 (12:56 -0500)
The synchronization needed after ftrace_ops are unregistered must happen
after the callback is disabled from becing called by functions.

The current location happens after the function is being removed from the
internal lists, but not after the function callbacks were disabled, leaving
the functions susceptible of being called after their callbacks are freed.

This affects perf and any externel users of function tracing (LTTng and
SystemTap).

Cc: stable@vger.kernel.org # 3.0+
Fixes: cdbe61bfe704 "ftrace: Allow dynamically allocated function tracers"
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>

No differences found