On Thu,  1 Oct 2020 09:56:41 +0100
Colin King <[email protected]> wrote:

> From: Colin Ian King <[email protected]>
> 
> More recent libc implementations are now using openat/openat2 system
> calls so also add do_sys_openat2 to the tracing so that the test
> passes on these systems because do_sys_open may not be called.
> 
> Signed-off-by: Colin Ian King <[email protected]>
> ---
>  .../testing/selftests/ftrace/test.d/kprobe/kprobe_args_user.tc  | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_user.tc 
> b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_user.tc
> index a30a9c07290d..cf1b4c3e9e6b 100644
> --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_user.tc
> +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_user.tc
> @@ -9,6 +9,8 @@ grep -A10 "fetcharg:" README | grep -q '\[u\]<offset>' || 
> exit_unsupported
>  :;: "user-memory access syntax and ustring working on user memory";:
>  echo 'p:myevent do_sys_open path=+0($arg2):ustring path2=+u0($arg2):string' \
>       > kprobe_events

OK, at first, you need to check the kernel has do_sys_openat2 from
/proc/kallsyms (grep -qw will help you), because it is new syscall.

> +echo 'p:myevent2 do_sys_openat2 path=+0($arg2):ustring 
> path2=+u0($arg2):string' \
> +     > kprobe_events

Also, you need to append (">>") it instead overwrite (">") to kprobe_events.

>  
>  grep myevent kprobe_events | \
>       grep -q 'path=+0($arg2):ustring path2=+u0($arg2):string'

And also you have to enable both myevent and myevent2 (if exists) after
this.

Then I think your patch will work correctly.

Thank you!

-- 
Masami Hiramatsu <[email protected]>

Reply via email to