1#!/bin/sh 2# SPDX-License-Identifier: GPL-2.0 3# description: Kprobe event string type argument 4# requires: kprobe_events 5 6case `uname -m` in 7x86_64) 8 ARG1=%di 9;; 10i[3456]86) 11 ARG1=%ax 12;; 13aarch64) 14 ARG1=%x0 15;; 16arm*) 17 ARG1=%r0 18;; 19ppc64*) 20 ARG1=%r3 21;; 22ppc*) 23 ARG1=%r3 24;; 25s390*) 26 ARG1=%r2 27;; 28*) 29 echo "Please implement other architecture here" 30 exit_untested 31esac 32 33: "Test get argument (1)" 34echo "p:testprobe tracefs_create_dir arg1=+0(${ARG1}):string" > kprobe_events 35echo 1 > events/kprobes/testprobe/enable 36echo "p:test $FUNCTION_FORK" >> kprobe_events 37grep -qe "testprobe.* arg1=\"test\"" trace 38 39echo 0 > events/kprobes/testprobe/enable 40: "Test get argument (2)" 41echo "p:testprobe tracefs_create_dir arg1=+0(${ARG1}):string arg2=+0(${ARG1}):string" > kprobe_events 42echo 1 > events/kprobes/testprobe/enable 43echo "p:test $FUNCTION_FORK" >> kprobe_events 44grep -qe "testprobe.* arg1=\"test\" arg2=\"test\"" trace 45 46