lkml.org 
[lkml]   [2019]   [May]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v7 5/6] selftests/ftrace: Add user-memory access syntax testcase
    Date
    Add a user-memory access syntax testcase which checks
    new user-memory access syntax and ustring type.

    Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
    ---
    Changes in v6:
    - Add $argN availability check
    ---
    .../ftrace/test.d/kprobe/kprobe_args_user.tc | 32 ++++++++++++++++++++
    1 file changed, 32 insertions(+)
    create mode 100644 tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_user.tc

    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
    new file mode 100644
    index 000000000000..0f60087583d8
    --- /dev/null
    +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_user.tc
    @@ -0,0 +1,32 @@
    +#!/bin/sh
    +# SPDX-License-Identifier: GPL-2.0
    +# description: Kprobe event user-memory access
    +
    +[ -f kprobe_events ] || exit_unsupported # this is configurable
    +
    +grep -q '\$arg<N>' README || exit_unresolved # depends on arch
    +grep -A10 "fetcharg:" README | grep -q 'ustring' || exit_unsupported
    +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
    +
    +grep myevent kprobe_events | \
    + grep -q 'path=+0($arg2):ustring path2=+u0($arg2):string'
    +echo 1 > events/kprobes/myevent/enable
    +echo > /dev/null
    +echo 0 > events/kprobes/myevent/enable
    +
    +grep myevent trace | grep -q 'path="/dev/null" path2="/dev/null"'
    +
    +:;: "user-memory access syntax and ustring not working with kernel memory";:
    +echo 'p:myevent vfs_symlink path=+0($arg3):ustring path2=+u0($arg3):string' \
    + > kprobe_events
    +echo 1 > events/kprobes/myevent/enable
    +ln -s foo $TMPDIR/bar
    +echo 0 > events/kprobes/myevent/enable
    +
    +grep myevent trace | grep -q 'path=(fault) path2=(fault)'
    +
    +exit 0
    \
     
     \ /
      Last update: 2019-05-08 15:33    [W:2.940 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site