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.

Link: 
https://lore.kernel.org/linux-trace-kernel/[email protected]/

Signed-off-by: Steven Rostedt (Google) <[email protected]>
---
Changes since v1: 
https://lore.kernel.org/[email protected]

- Use $TMPDIR instead of $TESTDIR as test file (Masami Hiramatsu)

 .../test.d/filter/event-filter-function.tc    | 20 +++++++++++++++++++
 1 file changed, 20 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..c62165fabd0c 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,26 @@ if [ $misscnt -gt 0 ]; then
        exit_fail
 fi
 
+# Check strings too
+if [ -f events/syscalls/sys_enter_openat/filter ]; then
+       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 $TMPDIR
+       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


Reply via email to