Re: [PATCH v2] tracing: Propagate errors from remote event bulk updates

Vincent Donnefort <[email protected]>
Newsgroups org.kernel.vger.linux-trace-kernel
Message-ID <[email protected]>
On Wed, Jul 15, 2026 at 03:44:55PM +0800, Jackie Liu wrote:
> From: Jackie Liu <[email protected]>
> 
> remote_events_dir_enable_write() ignores the return value from
> trace_remote_enable_event(). If a remote rejects an event state change,
> the write therefore reports success even though the affected event remains
> in its previous state.
> 
> Keep trying all events, but retain and return the first error. This matches
> __ftrace_set_clr_event_nolock(), which permits partial updates while
> notifying userspace when an operation fails.
> 
> Fixes: 775cb093bc50 ("tracing: Add events/ root files to trace remotes")
> Assisted-by: Codex:gpt-5.6-sol
> Signed-off-by: Jackie Liu <[email protected]>

Thanks!

Reviewed-by: Vincent Donnefort <[email protected]>

> ---
>  Changes in v2:
> - Move the eret declaration after evt to follow reverse Christmas tree
>   ordering.
> 
>  kernel/trace/trace_remote.c | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/kernel/trace/trace_remote.c b/kernel/trace/trace_remote.c
> index 0f6ef5c36d84..daeaf1d3eb1c 100644
> --- a/kernel/trace/trace_remote.c
> +++ b/kernel/trace/trace_remote.c
> @@ -1150,10 +1150,21 @@ static ssize_t remote_events_dir_enable_write(struct file *filp, const char __us
>  
>  	for (i = 0; i < remote->nr_events; i++) {
>  		struct remote_event *evt = &remote->events[i];
> +		int eret;
>  
> -		trace_remote_enable_event(remote, evt, enable);
> +		eret = trace_remote_enable_event(remote, evt, enable);
> +		/*
> +		 * Save the first error and return that. Some events
> +		 * may still have been enabled, but let the user
> +		 * know that something went wrong.
> +		 */
> +		if (!ret && eret)
> +			ret = eret;
>  	}
>  
> +	if (ret)
> +		return ret;
> +
>  	return count;
>  }
>  
> -- 
> 2.54.0
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.