Re: [PATCH] tracing/trigger: Fix to return error if failed to alloc snapshot

From: Steven Rostedt
Date: Fri Jan 26 2024 - 11:59:01 EST


On Fri, 26 Jan 2024 09:42:58 +0900
"Masami Hiramatsu (Google)" <mhiramat@xxxxxxxxxx> wrote:

> From: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
>
> Fix register_snapshot_trigger() to return error code if it failed to
> allocate a snapshot instead of 0 (success). Unless that, it will register
> snapshot trigger without an error.
>
> Fixes: 0bbe7f719985 ("tracing: Fix the race between registering 'snapshot' event trigger and triggering 'snapshot' operation")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>

Thanks Masami, I'll apply this.

-- Steve

> ---
> kernel/trace/trace_events_trigger.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/trace/trace_events_trigger.c b/kernel/trace/trace_events_trigger.c
> index 46439e3bcec4..b33c3861fbbb 100644
> --- a/kernel/trace/trace_events_trigger.c
> +++ b/kernel/trace/trace_events_trigger.c
> @@ -1470,8 +1470,10 @@ register_snapshot_trigger(char *glob,
> struct event_trigger_data *data,
> struct trace_event_file *file)
> {
> - if (tracing_alloc_snapshot_instance(file->tr) != 0)
> - return 0;
> + int ret = tracing_alloc_snapshot_instance(file->tr);
> +
> + if (ret < 0)
> + return ret;
>
> return register_trigger(glob, data, file);
> }