• Steven Rostedt (Red Hat)'s avatar
    ftrace: Fix a slight race in modifying what function callback gets traced · 59338f75
    Steven Rostedt (Red Hat) authored
    There's a slight race when going from a list function to a non list
    function. That is, when only one callback is registered to the function
    tracer, it gets called directly by the mcount trampoline. But if this
    function has filters, it may be called by the wrong functions.
    
    As the list ops callback that handles multiple callbacks that are
    registered to ftrace, it also handles what functions they call. While
    the transaction is taking place, use the list function always, and
    after all the updates are finished (only the functions that should be
    traced are being traced), then we can update the trampoline to call
    the function directly.
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    59338f75
ftrace.c 112 KB