lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201002163253.13feb38f8a1e4f148afca5de@kernel.org>
Date:   Fri, 2 Oct 2020 16:32:53 +0900
From:   Masami Hiramatsu <mhiramat@...nel.org>
To:     Colin Ian King <colin.king@...onical.com>
Cc:     Steven Rostedt <rostedt@...dmis.org>,
        Ingo Molnar <mingo@...hat.com>, Shuah Khan <shuah@...nel.org>,
        Masami Hiramatsu <mhiramat@...nel.org>,
        Tom Zanussi <zanussi@...nel.org>,
        linux-kselftest@...r.kernel.org, kernel-janitors@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [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@...onical.com> wrote:

> On 01/10/2020 15:44, Steven Rostedt wrote:
> > On Thu,  1 Oct 2020 09:56:41 +0100
> > Colin King <colin.king@...onical.com> wrote:
> > 
> >> From: Colin Ian King <colin.king@...onical.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@...onical.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@...nel.org>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ