• Steven Rostedt (Red Hat)'s avatar
    ftrace: Fix synchronization location disabling and freeing ftrace_ops · a4c35ed2
    Steven Rostedt (Red Hat) authored
    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: cdbe61bf "ftrace: Allow dynamically allocated function tracers"
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    a4c35ed2
ftrace.c 117 KB