diff options
author | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2020-06-16 20:53:55 +0200 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2020-06-29 15:01:02 +0200 |
commit | c791cc4b1feb881b3644c059dba5464b076bf592 (patch) | |
tree | e4d5f82db43aae232622f2e7bbb81624f587e21d /kernel | |
parent | Linux 5.8-rc3 (diff) | |
download | linux-c791cc4b1feb881b3644c059dba5464b076bf592.tar.xz linux-c791cc4b1feb881b3644c059dba5464b076bf592.zip |
tracing: Only allow trace_array_printk() to be used by instances
To prevent default "trace_printks()" from spamming the top level tracing
ring buffer, only allow trace instances to use trace_array_printk() (which
can be used without the trace_printk() start up warning).
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/trace/trace.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index bb62269724d5..8241d1448d70 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -3346,12 +3346,16 @@ int trace_array_printk(struct trace_array *tr, int ret; va_list ap; - if (!(global_trace.trace_flags & TRACE_ITER_PRINTK)) - return 0; - if (!tr) return -ENOENT; + /* This is only allowed for created instances */ + if (tr == &global_trace) + return 0; + + if (!(tr->trace_flags & TRACE_ITER_PRINTK)) + return 0; + va_start(ap, fmt); ret = trace_array_vprintk(tr, ip, fmt, ap); va_end(ap); |