Back to home page

OSCL-LXR

 
 

    


0001 #!/bin/sh
0002 # SPDX-License-Identifier: GPL-2.0
0003 # description: Kprobe event string type argument
0004 # requires: kprobe_events
0005 
0006 case `uname -m` in
0007 x86_64)
0008   ARG1=%di
0009 ;;
0010 i[3456]86)
0011   ARG1=%ax
0012 ;;
0013 aarch64)
0014   ARG1=%x0
0015 ;;
0016 arm*)
0017   ARG1=%r0
0018 ;;
0019 ppc64*)
0020   ARG1=%r3
0021 ;;
0022 ppc*)
0023   ARG1=%r3
0024 ;;
0025 s390*)
0026   ARG1=%r2
0027 ;;
0028 mips*)
0029   ARG1=%r4
0030 ;;
0031 *)
0032   echo "Please implement other architecture here"
0033   exit_untested
0034 esac
0035 
0036 : "Test get argument (1)"
0037 echo "p:testprobe tracefs_create_dir arg1=+0(${ARG1}):string" > kprobe_events
0038 echo 1 > events/kprobes/testprobe/enable
0039 echo "p:test $FUNCTION_FORK" >> kprobe_events
0040 grep -qe "testprobe.* arg1=\"test\"" trace
0041 
0042 echo 0 > events/kprobes/testprobe/enable
0043 : "Test get argument (2)"
0044 echo "p:testprobe tracefs_create_dir arg1=+0(${ARG1}):string arg2=+0(${ARG1}):string" > kprobe_events
0045 echo 1 > events/kprobes/testprobe/enable
0046 echo "p:test $FUNCTION_FORK" >> kprobe_events
0047 grep -qe "testprobe.* arg1=\"test\" arg2=\"test\"" trace
0048