diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 5e4b34f094d93d4fa9f2d14ae22a5015e823c1b0..e3ffa384e60160ef5fc2353c6d969551cdf86a40 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -3037,6 +3037,9 @@ int trace_array_printk(struct trace_array *tr, if (!(global_trace.trace_flags & TRACE_ITER_PRINTK)) return 0; + if (!tr) + return -ENOENT; + va_start(ap, fmt); ret = trace_array_vprintk(tr, ip, fmt, ap); va_end(ap); diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c index 6d5f46e0a1483307a43eae069aeed39fc1777c20..08d937cea81b30ab0e37491bc247d137648b229a 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c @@ -800,6 +800,8 @@ static int ftrace_set_clr_event(struct trace_array *tr, char *buf, int set) char *event = NULL, *sub = NULL, *match; int ret; + if (!tr) + return -ENOENT; /* * The buf format can be : * *: means any event by that name.