On Thu, 29 Oct 2026 16:28:51 -0400, Steven Rostedt <[email protected]> wrote: > From: Steven Rostedt <[email protected]> > > Commit f4a771cc684c7 ("tracing: Have show_event_filters/triggers files take > trace array ref") fixed a bug where the show_event_filters and triggers > did not take a trace array reference allowing an instance to be removed > while active. This would have the reader of these files read data that was > freed by the remove. > > Update the instance test to read all the files in the instance, > instance/events, instance/events/sched and > instance/events/sched/sched_switch directories (with the exception of not > reading trace or trace_pipe). This would hopefully catch issues with files > not taking references. > > Signed-off-by: Steven Rostedt <[email protected]>
Looks good to me. Reviewed-by: Masami Hiramatsu (Google) <[email protected]> Thanks, > --- > .../ftrace/test.d/instances/instance-event.tc | 20 ++++++++++++++++++- > 1 file changed, 19 insertions(+), 1 deletion(-) > > diff --git > a/tools/testing/selftests/ftrace/test.d/instances/instance-event.tc > b/tools/testing/selftests/ftrace/test.d/instances/instance-event.tc > index b0e9d3abbf2f..9374c20c6aaa 100644 > --- a/tools/testing/selftests/ftrace/test.d/instances/instance-event.tc > +++ b/tools/testing/selftests/ftrace/test.d/instances/instance-event.tc > @@ -44,6 +44,19 @@ instance_set() { > done 2> /dev/null > } > > +instance_cat() { > + while :; do > + find instances/foo -maxdepth 1 -type f ! \( -name trace -o > -name trace_pipe \) -exec head {} \; > + sleep 0.1 > + find instances/foo/events -maxdepth 1 -type f -exec cat {} \; > + sleep 0.1 > + find instances/foo/events/sched -maxdepth 1 -type f -exec cat > {} \; > + sleep 0.1 > + find instances/foo/events/sched/sched_waking -maxdepth 1 -type > f -exec cat {} \; > + sleep 0.1 > + done 2> /dev/null > +} > + > instance_set & > p1=$! > echo $p1 > @@ -52,15 +65,20 @@ instance_read & > p2=$! > echo $p2 > > +instance_cat & > +p3=$! > +echo $p3 > + > for i in `seq 10`; do > instance_slam > done > > +kill -1 $p3 > kill -1 $p2 > kill -1 $p1 > > echo "Wait for processes to finish" > -wait $p1 $p2 > +wait $p1 $p2 $p3 > echo "all processes finished, wait for cleanup" > sleep 1 > > -- > 2.53.0 > -- Masami Hiramatsu (Google) <[email protected]>
