• Steven Rostedt (VMware)'s avatar
    x86/ftrace: Do not call function graph from dynamic trampolines · d2a68c4e
    Steven Rostedt (VMware) authored
    Since commit 79922b80 ("ftrace: Optimize function graph to be
    called directly"), dynamic trampolines should not be calling the
    function graph tracer at the end. If they do, it could cause the function
    graph tracer to trace functions that it filtered out.
    
    Right now it does not cause a problem because there's a test to check if
    the function graph tracer is attached to the same function as the
    function tracer, which for now is true. But the function graph tracer is
    undergoing changes that can make this no longer true which will cause
    the function graph tracer to trace other functions.
    
     For example:
    
     # cd /sys/kernel/tracing/
     # echo do_IRQ > set_ftrace_filter
     # mkdir instances/foo
     # echo ip_rcv > instances/foo/set_ftrace_filter
     # echo function_graph > current_tracer
     # echo function > instances/foo/current_tracer
    
    Would cause the function graph tracer to trace both do_IRQ and ip_rcv,
    if the current tests change.
    
    As the current tests prevent this from being a problem, this code does
    not need to be backported. But it does make the code cleaner.
    
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: x86@kernel.org
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    d2a68c4e
ftrace_64.S 7.95 KB