[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200304155004.7dd033a3@gandalf.local.home>
Date: Wed, 4 Mar 2020 15:50:04 -0500
From: Steven Rostedt <rostedt@...dmis.org>
To: Seth Forshee <seth.forshee@...onical.com>
Cc: Ingo Molnar <mingo@...hat.com>, Shuah Khan <shuah@...nel.org>,
linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] selftests/ftrace: Use printf instead of echo in kprobe
syntax error tests
On Wed, 4 Mar 2020 10:14:35 -0600
Seth Forshee <seth.forshee@...onical.com> wrote:
> --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc
> +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc
> @@ -37,7 +37,7 @@ fi
>
> check_error 'p vfs_read ^$none_var' # BAD_VAR
>
> -check_error 'p vfs_read ^%none_reg' # BAD_REG_NAME
> +check_error 'p vfs_read ^%%none_reg' # BAD_REG_NAME
> check_error 'p vfs_read ^@...45678abcde' # BAD_MEM_ADDR
> check_error 'p vfs_read ^@...' # FILE_ON_KPROBE
>
> @@ -80,7 +80,7 @@ check_error 'p vfs_read arg1=^' # NO_ARG_BODY
> # instruction boundary check is valid on x86 (at this moment)
> case $(uname -m) in
> x86_64|i[3456]86)
> - echo 'p vfs_read' > kprobe_events
> + printf 'p vfs_read' > kprobe_events
> if grep -q FTRACE ../kprobes/list ; then
> check_error 'p ^vfs_read+3' # BAD_INSN_BNDRY (only if function-tracer is enabled)
> fi
> @@ -89,13 +89,13 @@ esac
>
> # multiprobe errors
> if grep -q "Create/append/" README && grep -q "imm-value" README; then
> -echo 'p:kprobes/testevent _do_fork' > kprobe_events
> +printf 'p:kprobes/testevent _do_fork' > kprobe_events
> check_error '^r:kprobes/testevent do_exit' # DIFF_PROBE_TYPE
> -echo 'p:kprobes/testevent _do_fork abcd=\1' > kprobe_events
> -check_error 'p:kprobes/testevent _do_fork ^bcd=\1' # DIFF_ARG_TYPE
> -check_error 'p:kprobes/testevent _do_fork ^abcd=\1:u8' # DIFF_ARG_TYPE
> -check_error 'p:kprobes/testevent _do_fork ^abcd=\"foo"' # DIFF_ARG_TYPE
> -check_error '^p:kprobes/testevent _do_fork abcd=\1' # SAME_PROBE
> +printf 'p:kprobes/testevent _do_fork abcd=\\1' > kprobe_events
> +check_error 'p:kprobes/testevent _do_fork ^bcd=\\1' # DIFF_ARG_TYPE
> +check_error 'p:kprobes/testevent _do_fork ^abcd=\\1:u8' # DIFF_ARG_TYPE
> +check_error 'p:kprobes/testevent _do_fork ^abcd=\\"foo"'# DIFF_ARG_TYPE
> +check_error '^p:kprobes/testevent _do_fork abcd=\\1' # SAME_PROBE
> fi
>
> exit 0
This change causes my tests to fail:
++ echo 'Test command: p vfs_read arg1="abcd'
Test command: p vfs_read arg1="abcd
++ echo
++ grep 'trace_kprobe: error:' -A 3 error_log
[61913.240093] trace_kprobe: error: Invalid fetch argument
Command: p vfs_read arg1="abcd
^
+++ tail -n 1 error_log
+++ wc -c
++ N=29
+++ expr 13 + 21
++ test 34 -eq 29
-- Steve
Powered by blists - more mailing lists