From: Steven Rostedt <[email protected]>

The trace.c file has become a dumping ground for all tracing code and has
become quite large. In order to move the trace_printk functions out of it
these functions can not access global_trace directly, as that is something
that needs to stay static in trace.c.

Have tracing_update_buffers() take NULL for its trace_array to denote it
should work on the global_trace top level trace_array allows that function
to be used outside of trace.c and still update the global_trace
trace_array.

Signed-off-by: Steven Rostedt (Google) <[email protected]>
---
 kernel/trace/trace.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 4a73822e2603..601b6f622391 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -3234,7 +3234,7 @@ void trace_printk_init_buffers(void)
        pr_warn("**********************************************************\n");
 
        /* Expand the buffers to set size */
-       if (tracing_update_buffers(&global_trace) < 0)
+       if (tracing_update_buffers(NULL) < 0)
                pr_err("Failed to expand tracing buffers for trace_printk() 
calls\n");
        else
                buffers_allocated = 1;
@@ -6186,6 +6186,9 @@ int tracing_update_buffers(struct trace_array *tr)
 {
        int ret = 0;
 
+       if (!tr)
+               tr = &global_trace;
+
        guard(mutex)(&trace_types_lock);
 
        update_last_data(tr);
-- 
2.51.0



Reply via email to