]> Pileus Git - ~andy/linux/commit
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)
commita4c35ed241129dd142be4cadb1e5a474a56d5464
treec003e1fba1f088b31c99d5e388b7992297265aed
parent23a8e8441a0a74dd612edf81dc89d1600bc0a3d1
ftrace: Fix synchronization location disabling and freeing ftrace_ops

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>
kernel/trace/ftrace.c