Re: [PATCH v2 3/3] selftests/ftrace: Fix kprobe string testcase to not probe notrace function

From: Steven Rostedt
Date: Fri Jul 27 2018 - 17:43:21 EST


On Thu, 26 Jul 2018 14:54:23 +0900
Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:

> Fix kprobe string argument testcase to not probe notrace
> function. Instead, it probes tracefs function which must
> be available with ftrace.

Hi Masami,

With these patches applied, this test fails:

./ftracetest test.d/kprobe/probepoint.tc

Gives me the error in dmseg:

trace_kprobe: Could not probe notrace function create_trace_kprobe

Is this expected? I don't see create_trace_kprobe as a notrace function
either.

I even applied patch 3 (going through Shuah's tree) to me test and it
still fails.

Config attached.

-- Steve

>
> Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> ---
> .../ftrace/test.d/kprobe/kprobe_args_string.tc | 30 ++++++++------------
> 1 file changed, 12 insertions(+), 18 deletions(-)
>
> diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_string.tc b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_string.tc
> index a0002563e9ee..1ad70cdaf442 100644
> --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_string.tc
> +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_string.tc
> @@ -9,28 +9,22 @@ echo > kprobe_events
>
> case `uname -m` in
> x86_64)
> - ARG2=%si
> - OFFS=8
> + ARG1=%di
> ;;
> i[3456]86)
> - ARG2=%cx
> - OFFS=4
> + ARG1=%ax
> ;;
> aarch64)
> - ARG2=%x1
> - OFFS=8
> + ARG1=%x0
> ;;
> arm*)
> - ARG2=%r1
> - OFFS=4
> + ARG1=%r0
> ;;
> ppc64*)
> - ARG2=%r4
> - OFFS=8
> + ARG1=%r3
> ;;
> ppc*)
> - ARG2=%r4
> - OFFS=4
> + ARG1=%r3
> ;;
> *)
> echo "Please implement other architecture here"
> @@ -38,17 +32,17 @@ ppc*)
> esac
>
> : "Test get argument (1)"
> -echo "p:testprobe create_trace_kprobe arg1=+0(+0(${ARG2})):string" > kprobe_events
> +echo "p:testprobe tracefs_create_dir arg1=+0(${ARG1}):string" > kprobe_events
> echo 1 > events/kprobes/testprobe/enable
> -! echo test >> kprobe_events
> -tail -n 1 trace | grep -qe "testprobe.* arg1=\"test\""
> +echo "p:test _do_fork" >> kprobe_events
> +grep -qe "testprobe.* arg1=\"test\"" trace
>
> echo 0 > events/kprobes/testprobe/enable
> : "Test get argument (2)"
> -echo "p:testprobe create_trace_kprobe arg1=+0(+0(${ARG2})):string arg2=+0(+${OFFS}(${ARG2})):string" > kprobe_events
> +echo "p:testprobe tracefs_create_dir arg1=+0(${ARG1}):string arg2=+0(${ARG1}):string" > kprobe_events
> echo 1 > events/kprobes/testprobe/enable
> -! echo test1 test2 >> kprobe_events
> -tail -n 1 trace | grep -qe "testprobe.* arg1=\"test1\" arg2=\"test2\""
> +echo "p:test _do_fork" >> kprobe_events
> +grep -qe "testprobe.* arg1=\"test\" arg2=\"test\"" trace
>
> echo 0 > events/enable
> echo > kprobe_events

Attachment: config
Description: Binary data