Hi Shuah,
Sorry to bother you. Steven and Masami have reviewed this patch so can you apply it to your tree?
Thanks, Xiao Yang On 2020/4/7 23:30, Masami Hiramatsu wrote:
On Tue, 7 Apr 2020 09:54:00 -0400 Steven Rostedtrostedt@goodmis.org wrote:
On Tue, 7 Apr 2020 14:34:19 +0800 Xiao Yangyangx.jy@cn.fujitsu.com wrote:
It is possible to get multiple records from trace during test and then more than 4 arguments are assigned to ARGS. This situation results in the failure of kprobe_args_type.tc. For example:
grep testprobe trace ftracetest-5902 [001] d... 111195.682227: testprobe: (_do_fork+0x0/0x460) arg1=334823024 arg2=334823024 arg3=0x13f4fe70 arg4=7 pmlogger-5949 [000] d... 111195.709898: testprobe: (_do_fork+0x0/0x460) arg1=345308784 arg2=345308784 arg3=0x1494fe70 arg4=7 grep testprobe trace sed -e 's/.* arg1=(.*) arg2=(.*) arg3=(.*) arg4=(.*)/\1 \2 \3 \4/' ARGS='334823024 334823024 0x13f4fe70 7 345308784 345308784 0x1494fe70 7'
We don't care which process calls do_fork so just check the first record to fix the issue.
Looks good to me, but Masami will need to ack it.
Ah, good catch! I had fixed similar issue but missed this one.
Acked-by: Masami Hiramatsumhiramat@kernel.org
Thank you!
-- Steve
Signed-off-by: Xiao Yangyangx.jy@cn.fujitsu.com
.../testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc index 1bcb67dcae26..81490ecaaa92 100644 --- a/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc +++ b/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc @@ -38,7 +38,7 @@ for width in 64 32 16 8; do echo 0> events/kprobes/testprobe/enable
: "Confirm the arguments is recorded in given types correctly"
- ARGS=`grep "testprobe" trace | sed -e 's/.* arg1=(.*) arg2=(.*) arg3=(.*) arg4=(.*)/\1 \2 \3 \4/'`
ARGS=`grep "testprobe" trace | head -n 1 | sed -e 's/.* arg1=(.*) arg2=(.*) arg3=(.*) arg4=(.*)/\1 \2 \3 \4/'` check_types $ARGS $width
: "Clear event for next loop"