linux-trace-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tracing: selftests: Add testing a user string to filters
@ 2025-04-18  2:33 Steven Rostedt
  2025-04-18  7:14 ` Masami Hiramatsu
  0 siblings, 1 reply; 3+ messages in thread
From: Steven Rostedt @ 2025-04-18  2:33 UTC (permalink / raw)
  To: LKML, Linux trace kernel
  Cc: Masami Hiramatsu, Mathieu Desnoyers, Andrew Morton, Shuah Khan,
	linux-kselftest

From: Steven Rostedt <rostedt@goodmis.org>

Running the following commands was broken:

  # cd /sys/kernel/tracing
  # echo "filename.ustring ~ \"/proc*\"" > events/syscalls/sys_enter_openat/filter
  # echo 1 > events/syscalls/sys_enter_openat/enable
  # ls /proc/$$/maps
  # cat trace

And would produce nothing when it should have produced something like:

      ls-1192    [007] .....  8169.828333: sys_openat(dfd: ffffffffffffff9c, filename: 7efc18359904, flags: 80000, mode: 0)

Add a test to check this case so that it will be caught if it breaks
again.

Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
Shuah, I'm Cc'ing you on this for your information, but I'll take it
through my tree as it will be attached with the fix, as it will fail
without it.

 .../test.d/filter/event-filter-function.tc    | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc b/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc
index 118247b8dd84..ab449a2cea8c 100644
--- a/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc
+++ b/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc
@@ -80,6 +80,25 @@ if [ $misscnt -gt 0 ]; then
 	exit_fail
 fi
 
+# Check strings too
+if [ -f events/syscalls/sys_enter_openat/filter ]; then
+	echo "filename.ustring ~ \"*test.d*\"" > events/syscalls/sys_enter_openat/filter
+	echo 1 > events/syscalls/sys_enter_openat/enable
+	echo 1 > tracing_on
+	ls /bin/sh
+	nocnt=`grep openat trace | wc -l`
+	ls $TEST_DIR
+	echo 0 > tracing_on
+	hitcnt=`grep openat trace | wc -l`;
+	echo 0 > events/syscalls/sys_enter_openat/enable
+	if [ $nocnt -gt 0 ]; then
+		exit_fail
+	fi
+	if [ $hitcnt -eq 0 ]; then
+		exit_fail
+	fi
+fi
+
 reset_events_filter
 
 exit 0
-- 
2.47.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] tracing: selftests: Add testing a user string to filters
  2025-04-18  2:33 [PATCH] tracing: selftests: Add testing a user string to filters Steven Rostedt
@ 2025-04-18  7:14 ` Masami Hiramatsu
  2025-04-18 12:25   ` Steven Rostedt
  0 siblings, 1 reply; 3+ messages in thread
From: Masami Hiramatsu @ 2025-04-18  7:14 UTC (permalink / raw)
  To: Steven Rostedt
  Cc: LKML, Linux trace kernel, Masami Hiramatsu, Mathieu Desnoyers,
	Andrew Morton, Shuah Khan, linux-kselftest

On Thu, 17 Apr 2025 22:33:23 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> From: Steven Rostedt <rostedt@goodmis.org>
> 
> Running the following commands was broken:
> 
>   # cd /sys/kernel/tracing
>   # echo "filename.ustring ~ \"/proc*\"" > events/syscalls/sys_enter_openat/filter
>   # echo 1 > events/syscalls/sys_enter_openat/enable
>   # ls /proc/$$/maps
>   # cat trace
> 
> And would produce nothing when it should have produced something like:
> 
>       ls-1192    [007] .....  8169.828333: sys_openat(dfd: ffffffffffffff9c, filename: 7efc18359904, flags: 80000, mode: 0)
> 
> Add a test to check this case so that it will be caught if it breaks
> again.
> 
> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> ---
> Shuah, I'm Cc'ing you on this for your information, but I'll take it
> through my tree as it will be attached with the fix, as it will fail
> without it.
> 
>  .../test.d/filter/event-filter-function.tc    | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
> 
> diff --git a/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc b/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc
> index 118247b8dd84..ab449a2cea8c 100644
> --- a/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc
> +++ b/tools/testing/selftests/ftrace/test.d/filter/event-filter-function.tc
> @@ -80,6 +80,25 @@ if [ $misscnt -gt 0 ]; then
>  	exit_fail
>  fi
>  
> +# Check strings too
> +if [ -f events/syscalls/sys_enter_openat/filter ]; then
> +	echo "filename.ustring ~ \"*test.d*\"" > events/syscalls/sys_enter_openat/filter

I think it is better to use a $TMPDIR for the test script,
instead of reusing the $TEST_DIR. Since $TMPDIR has been
introduced to be used for this purpose.

DIRNAME=`basename $TMPDIR`

echo "filename.ustring ~ \"\*$DIRNAME\*\"" > events/syscalls/sys_enter_openat/filter

> +	echo 1 > events/syscalls/sys_enter_openat/enable
> +	echo 1 > tracing_on
> +	ls /bin/sh
> +	nocnt=`grep openat trace | wc -l`
> +	ls $TEST_DIR

and `ls $TMPDIR` ?

Does that work?

Thank you,

> +	echo 0 > tracing_on
> +	hitcnt=`grep openat trace | wc -l`;
> +	echo 0 > events/syscalls/sys_enter_openat/enable
> +	if [ $nocnt -gt 0 ]; then
> +		exit_fail
> +	fi
> +	if [ $hitcnt -eq 0 ]; then
> +		exit_fail
> +	fi
> +fi
> +
>  reset_events_filter
>  
>  exit 0
> -- 
> 2.47.2
> 


-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] tracing: selftests: Add testing a user string to filters
  2025-04-18  7:14 ` Masami Hiramatsu
@ 2025-04-18 12:25   ` Steven Rostedt
  0 siblings, 0 replies; 3+ messages in thread
From: Steven Rostedt @ 2025-04-18 12:25 UTC (permalink / raw)
  To: Masami Hiramatsu (Google)
  Cc: LKML, Linux trace kernel, Mathieu Desnoyers, Andrew Morton,
	Shuah Khan, linux-kselftest

On Fri, 18 Apr 2025 16:14:04 +0900
Masami Hiramatsu (Google) <mhiramat@kernel.org> wrote:

> > +if [ -f events/syscalls/sys_enter_openat/filter ]; then
> > +	echo "filename.ustring ~ \"*test.d*\"" > events/syscalls/sys_enter_openat/filter  
> 
> I think it is better to use a $TMPDIR for the test script,
> instead of reusing the $TEST_DIR. Since $TMPDIR has been
> introduced to be used for this purpose.
> 
> DIRNAME=`basename $TMPDIR`
> 
> echo "filename.ustring ~ \"\*$DIRNAME\*\"" > events/syscalls/sys_enter_openat/filter
> 
> > +	echo 1 > events/syscalls/sys_enter_openat/enable
> > +	echo 1 > tracing_on
> > +	ls /bin/sh
> > +	nocnt=`grep openat trace | wc -l`
> > +	ls $TEST_DIR  
> 
> and `ls $TMPDIR` ?
> 
> Does that work?
> 

Yeah I can do that instead.

My actual fear is that 'ls' may one day not call openat and the test fails.
But if that happens we can always update the test.

Thanks,

-- Steve


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-04-18 12:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-18  2:33 [PATCH] tracing: selftests: Add testing a user string to filters Steven Rostedt
2025-04-18  7:14 ` Masami Hiramatsu
2025-04-18 12:25   ` Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).