• Steven Rostedt (Google)'s avatar
    tracing: Only make selftest conditionals affect the global_trace · ac9d2cb1
    Steven Rostedt (Google) authored
    The tracing_selftest_running and tracing_selftest_disabled variables were
    to keep trace_printk() and other writes from affecting the tracing
    selftests, as the tracing selftests would examine the ring buffer to see
    if it contained what it expected or not. trace_printk() and friends could
    add to the ring buffer and cause the selftests to fail (and then disable
    the tracer that was being tested). To keep that from happening, these
    variables were added and would keep trace_printk() and friends from
    writing to the ring buffer while the tests were going on.
    
    But this was only the top level ring buffer (owned by the global_trace
    instance). There is no reason to prevent writing into ring buffers of
    other instances via the trace_array_printk() and friends. For the
    functions that could be used by other instances, check if the global_trace
    is the tracer instance that is being written to before deciding to not
    allow the write.
    
    Link: https://lkml.kernel.org/r/20230528051742.1325503-5-rostedt@goodmis.orgSigned-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
    ac9d2cb1
trace.c 256 KB