1 #!/bin/sh 2 # SPDX-License-Identifier: GPL-2.0 3 # description: Kprobe event char type argument 4 # requires: kprobe_events available_filter_functions 5 6 case `uname -m` in 7 x86_64) 8 ARG1=%di 9 ;; 10 i[3456]86) 11 ARG1=%ax 12 ;; 13 aarch64) 14 ARG1=%x0 15 ;; 16 arm*) 17 ARG1=%r0 18 ;; 19 ppc64*) 20 ARG1=%r3 21 ;; 22 ppc*) 23 ARG1=%r3 24 ;; 25 s390*) 26 ARG1=%r2 27 ;; 28 mips*) 29 ARG1=%r4 30 ;; 31 loongarch*) 32 ARG1=%r4 33 ;; 34 riscv*) 35 ARG1=%a0 36 ;; 37 *) 38 echo "Please implement other architecture here" 39 exit_untested 40 esac 41 42 : "Test get argument (1)" 43 if grep -q eventfs_create_dir available_filter_functions; then 44 DIR_NAME="eventfs_create_dir" 45 elif grep -q eventfs_add_dir available_filter_functions; then 46 DIR_NAME="eventfs_add_dir" 47 else 48 DIR_NAME="tracefs_create_dir" 49 fi 50 echo "p:testprobe ${DIR_NAME} arg1=+0(${ARG1}):char" > kprobe_events 51 echo 1 > events/kprobes/testprobe/enable 52 echo "p:test $FUNCTION_FORK" >> kprobe_events 53 grep -qe "testprobe.* arg1='t'" trace 54 55 echo 0 > events/kprobes/testprobe/enable 56 : "Test get argument (2)" 57 echo "p:testprobe ${DIR_NAME} arg1=+0(${ARG1}):char arg2=+0(${ARG1}):char[4]" > kprobe_events 58 echo 1 > events/kprobes/testprobe/enable 59 echo "p:test $FUNCTION_FORK" >> kprobe_events 60 grep -qe "testprobe.* arg1='t' arg2={'t','e','s','t'}" trace
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.