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 >
