On Thu, 17 Apr 2025 22:33:23 -0400
Steven Rostedt <[email protected]> wrote:

> From: Steven Rostedt <[email protected]>
> 
> 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) <[email protected]>
> ---
> 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) <[email protected]>

Reply via email to