diff mbox series

selftests/ftrace: Check the first record for kprobe_args_type.tc

Message ID 20200407063419.292821-1-yangx.jy@cn.fujitsu.com (mailing list archive)
State Mainlined
Commit f0c0d0cf590f71b2213b29a7ded2cde3d0a1a0ba
Headers show
Series selftests/ftrace: Check the first record for kprobe_args_type.tc | expand

Commit Message

Xiao Yang April 7, 2020, 6:34 a.m. UTC
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.

Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
---
 .../testing/selftests/ftrace/test.d/kprobe/kprobe_args_type.tc  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Steven Rostedt April 7, 2020, 1:54 p.m. UTC | #1
On Tue, 7 Apr 2020 14:34:19 +0800
Xiao Yang <yangx.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.

-- Steve

> 
> Signed-off-by: Xiao Yang <yangx.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"
Masami Hiramatsu (Google) April 7, 2020, 3:30 p.m. UTC | #2
On Tue, 7 Apr 2020 09:54:00 -0400
Steven Rostedt <rostedt@goodmis.org> wrote:

> On Tue, 7 Apr 2020 14:34:19 +0800
> Xiao Yang <yangx.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 Hiramatsu <mhiramat@kernel.org>

Thank you!

> -- Steve
> 
> > 
> > Signed-off-by: Xiao Yang <yangx.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"
>
Xiao Yang April 15, 2020, 1:19 a.m. UTC | #3
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 Rostedt<rostedt@goodmis.org>  wrote:
>
>> On Tue, 7 Apr 2020 14:34:19 +0800
>> Xiao Yang<yangx.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 Hiramatsu<mhiramat@kernel.org>
>
> Thank you!
>
>> -- Steve
>>
>>>
>>> Signed-off-by: Xiao Yang<yangx.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"
>>
>
>
Xiao Yang April 24, 2020, 1:12 a.m. UTC | #4
Hi Shuah,

Ping.

Best Regards,
Xiao Yang
On 2020/4/15 9:19, Xiao Yang wrote:
> 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 Rostedt<rostedt@goodmis.org> wrote:
>>
>>> On Tue, 7 Apr 2020 14:34:19 +0800
>>> Xiao Yang<yangx.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 Hiramatsu<mhiramat@kernel.org>
>>
>> Thank you!
>>
>>> -- Steve
>>>
>>>>
>>>> Signed-off-by: Xiao Yang<yangx.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"
>>>
>>
>>
>
Steven Rostedt April 24, 2020, 1:18 a.m. UTC | #5
On Fri, 24 Apr 2020 09:12:47 +0800
Xiao Yang <yangx.jy@cn.fujitsu.com> wrote:

> Hi Shuah,
> 
> Ping.

Shuah usually responds to her linuxfoundation.org email a bit better [ added ].

-- Steve

> 
> Best Regards,
> Xiao Yang
> On 2020/4/15 9:19, Xiao Yang wrote:
> > 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 Rostedt<rostedt@goodmis.org> wrote:
> >>  
> >>> On Tue, 7 Apr 2020 14:34:19 +0800
> >>> Xiao Yang<yangx.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 Hiramatsu<mhiramat@kernel.org>
> >>
> >> Thank you!
> >>  
> >>> -- Steve
> >>>  
> >>>>
> >>>> Signed-off-by: Xiao Yang<yangx.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"  
> >>>  
> >>
> >>  
> >  
> 
>
Xiao Yang April 24, 2020, 1:36 a.m. UTC | #6
On 2020/4/24 9:18, Steven Rostedt wrote:
> On Fri, 24 Apr 2020 09:12:47 +0800
> Xiao Yang<yangx.jy@cn.fujitsu.com>  wrote:
>
>> Hi Shuah,
>>
>> Ping.
>
> Shuah usually responds to her linuxfoundation.org email a bit better [ added ].
Hi Steve,

Thanks for your reminder.
Sorry for the wrong email(shuah@kernel.org).

Thanks,
Xiao Yang
>
> -- Steve
>
>>
>> Best Regards,
>> Xiao Yang
>> On 2020/4/15 9:19, Xiao Yang wrote:
>>> 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 Rostedt<rostedt@goodmis.org>  wrote:
>>>>
>>>>> On Tue, 7 Apr 2020 14:34:19 +0800
>>>>> Xiao Yang<yangx.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 Hiramatsu<mhiramat@kernel.org>
>>>>
>>>> Thank you!
>>>>
>>>>> -- Steve
>>>>>
>>>>>>
>>>>>> Signed-off-by: Xiao Yang<yangx.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"
>>>>>
>>>>
>>>>
>>>
>>
>>
>
>
>
> .
>
Shuah Khan April 24, 2020, 12:22 p.m. UTC | #7
On 4/23/20 7:36 PM, Xiao Yang wrote:
> On 2020/4/24 9:18, Steven Rostedt wrote:
>> On Fri, 24 Apr 2020 09:12:47 +0800
>> Xiao Yang<yangx.jy@cn.fujitsu.com>  wrote:
>>
>>> Hi Shuah,
>>>
>>> Ping.
>>
>> Shuah usually responds to her linuxfoundation.org email a bit better [ 
>> added ].
> Hi Steve,
> 
> Thanks for your reminder.
> Sorry for the wrong email(shuah@kernel.org).
> 

Thanks for the ping. Will be applied shortly.

thanks,
-- Shuah
diff mbox series

Patch

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"