• Steven Rostedt (VMware)'s avatar
    tracing: Disable trace_printk() on post poned tests · 78041c0c
    Steven Rostedt (VMware) authored
    The tracing seftests checks various aspects of the tracing infrastructure,
    and one is filtering. If trace_printk() is active during a self test, it can
    cause the filtering to fail, which will disable that part of the trace.
    
    To keep the selftests from failing because of trace_printk() calls,
    trace_printk() checks the variable tracing_selftest_running, and if set, it
    does not write to the tracing buffer.
    
    As some tracers were registered earlier in boot, the selftest they triggered
    would fail because not all the infrastructure was set up for the full
    selftest. Thus, some of the tests were post poned to when their
    infrastructure was ready (namely file system code). The postpone code did
    not set the tracing_seftest_running variable, and could fail if a
    trace_printk() was added and executed during their run.
    
    Cc: stable@vger.kernel.org
    Fixes: 9afecfbb ("tracing: Postpone tracer start-up tests till the system is more robust")
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    78041c0c
trace.c 228 KB