]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
tracing: Switch trace_events_synth.c code over to use guard()
authorSteven Rostedt <rostedt@goodmis.org>
Thu, 19 Dec 2024 20:12:09 +0000 (15:12 -0500)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Thu, 26 Dec 2024 15:38:37 +0000 (10:38 -0500)
There are a couple functions in trace_events_synth.c that have "goto out"
or equivalent on error in order to release locks that were taken. This can
be error prone or just simply make the code more complex.

Switch every location that ends with unlocking a mutex on error over to
using the guard(mutex)() infrastructure to let the compiler worry about
releasing locks. This makes the code easier to read and understand.

Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/20241219201346.371082515@goodmis.org
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
kernel/trace/trace_events_synth.c

index c82b401a294d961ae75c48f3a164e92f3ad181b1..e3f7d09e5512084fc045cf7d6637b4792f7c4fbf 100644 (file)
@@ -49,16 +49,11 @@ static char *last_cmd;
 
 static int errpos(const char *str)
 {
-       int ret = 0;
-
-       mutex_lock(&lastcmd_mutex);
+       guard(mutex)(&lastcmd_mutex);
        if (!str || !last_cmd)
-               goto out;
+               return 0;
 
-       ret = err_pos(last_cmd, str);
- out:
-       mutex_unlock(&lastcmd_mutex);
-       return ret;
+       return err_pos(last_cmd, str);
 }
 
 static void last_cmd_set(const char *str)
@@ -74,14 +69,12 @@ static void last_cmd_set(const char *str)
 
 static void synth_err(u8 err_type, u16 err_pos)
 {
-       mutex_lock(&lastcmd_mutex);
+       guard(mutex)(&lastcmd_mutex);
        if (!last_cmd)
-               goto out;
+               return;
 
        tracing_log_err(NULL, "synthetic_events", last_cmd, err_text,
                        err_type, err_pos);
- out:
-       mutex_unlock(&lastcmd_mutex);
 }
 
 static int create_synth_event(const char *raw_command);