lkml.org 
[lkml]   [2020]   [Oct]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] selftests/ftrace: check for do_sys_openat2 in user-memory test
    On Thu, 1 Oct 2020 16:40:33 +0100
    Colin Ian King <colin.king@canonical.com> wrote:

    > On 01/10/2020 15:44, Steven Rostedt wrote:
    > > On Thu, 1 Oct 2020 09:56:41 +0100
    > > Colin King <colin.king@canonical.com> wrote:
    > >
    > >> From: Colin Ian King <colin.king@canonical.com>
    > >>
    > >> 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 <colin.king@canonical.com>
    > >> ---
    > >> .../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
    > >> +echo 'p:myevent2 do_sys_openat2 path=+0($arg2):ustring path2=+u0($arg2):string' \
    > >> + > kprobe_events
    > >>
    > >
    > > This still wont work, because the rest of the code only enables the myevent
    > > event, and not the one you just added.
    >
    > Yep, I botched this and tested the wrong fix.
    >
    > >
    > > Did you see this broken before, and this patch fixes it?
    >
    > So this test breaks with a recent libc and support tools built against
    > libc. I believe the do_sys_open is not being detected because
    > do_sys_openat2 is being called instead.
    >
    > Not sure now of the correct way to fix this.

    Hmm, this actually just try to catch the user-string. So the another
    function which accepts any user-string, is OK.
    Let me try to use another one.

    Thank you for reporting!


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


    --
    Masami Hiramatsu <mhiramat@kernel.org>

    \
     
     \ /
      Last update: 2020-10-02 09:33    [W:3.961 / U:1.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site