tracing: Check state.disabled in synth event trace functions
authorTom Zanussi <zanussi@kernel.org>
Fri, 3 Apr 2020 19:31:19 +0000 (14:31 -0500)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Mon, 1 Jun 2020 12:21:08 +0000 (08:21 -0400)
Since trace_state.disabled is set in __synth_event_trace_start() at
the same time -ENOENT is returned, don't bother returning -ENOENT -
just have callers check trace_state.disabled instead, and avoid the
extra return val munging.

Link: http://lkml.kernel.org/r/87315c3889af870e8370e82b76cf48b426d70130.1585941485.git.zanussi@kernel.org
Suggested-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Tom Zanussi <zanussi@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@godmis.org>
kernel/trace/trace_events_hist.c

index fcab11c..5cfe8f9 100644 (file)
@@ -1845,7 +1845,6 @@ __synth_event_trace_start(struct trace_event_file *file,
        if (!(file->flags & EVENT_FILE_FL_ENABLED) ||
            trace_trigger_soft_disabled(file)) {
                trace_state->disabled = true;
-               ret = -ENOENT;
                goto out;
        }
 
@@ -1907,11 +1906,8 @@ int synth_event_trace(struct trace_event_file *file, unsigned int n_vals, ...)
        int ret;
 
        ret = __synth_event_trace_start(file, &state);
-       if (ret) {
-               if (ret == -ENOENT)
-                       ret = 0; /* just disabled, not really an error */
+       if (ret || state.disabled)
                return ret;
-       }
 
        if (n_vals != state.event->n_fields) {
                ret = -EINVAL;
@@ -1987,11 +1983,8 @@ int synth_event_trace_array(struct trace_event_file *file, u64 *vals,
        int ret;
 
        ret = __synth_event_trace_start(file, &state);
-       if (ret) {
-               if (ret == -ENOENT)
-                       ret = 0; /* just disabled, not really an error */
+       if (ret || state.disabled)
                return ret;
-       }
 
        if (n_vals != state.event->n_fields) {
                ret = -EINVAL;
@@ -2067,16 +2060,10 @@ EXPORT_SYMBOL_GPL(synth_event_trace_array);
 int synth_event_trace_start(struct trace_event_file *file,
                            struct synth_event_trace_state *trace_state)
 {
-       int ret;
-
        if (!trace_state)
                return -EINVAL;
 
-       ret = __synth_event_trace_start(file, trace_state);
-       if (ret == -ENOENT)
-               ret = 0; /* just disabled, not really an error */
-
-       return ret;
+       return __synth_event_trace_start(file, trace_state);
 }
 EXPORT_SYMBOL_GPL(synth_event_trace_start);