• Steven Rostedt (VMware)'s avatar
    x86/ftrace: Make non direct case the default in ftrace_regs_caller · 0b4f8ddc
    Steven Rostedt (VMware) authored
    If a direct function is hooked along with one of the ftrace registered
    functions, then the ftrace_regs_caller is attached to the function that
    shares the direct hook as well as the ftrace hook. The ftrace_regs_caller
    will call ftrace_ops_list_func() that iterates through all the registered
    ftrace callbacks, and if there's a direct callback attached to that
    function, the direct ftrace_ops callback is called to notify that
    ftrace_regs_caller to return to the direct caller instead of going back to
    the function that called it.
    
    But this is a very uncommon case. Currently, the code has it as the default
    case. Modify ftrace_regs_caller to make the default case (the non jump) to
    just return normally, and have the jump to the handling of the direct
    caller.
    
    Link: http://lkml.kernel.org/r/20200422162750.350373278@goodmis.org
    
    Cc: Peter Zijlstra <peterz@infradead.org>
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    0b4f8ddc
ftrace_64.S 8.28 KB