61 lines · plain
1#!/bin/sh2# SPDX-License-Identifier: GPL-2.03# description: Kprobe event char type argument4# requires: kprobe_events available_filter_functions5 6case `uname -m` in7x86_64)8 ARG1=%di9;;10i[3456]86)11 ARG1=%ax12;;13aarch64)14 ARG1=%x015;;16arm*)17 ARG1=%r018;;19ppc64*)20 ARG1=%r321;;22ppc*)23 ARG1=%r324;;25s390*)26 ARG1=%r227;;28mips*)29 ARG1=%r430;;31loongarch*)32 ARG1=%r433;;34riscv*)35 ARG1=%a036;;37*)38 echo "Please implement other architecture here"39 exit_untested40esac41 42: "Test get argument (1)"43if grep -q eventfs_create_dir available_filter_functions; then44 DIR_NAME="eventfs_create_dir"45elif grep -q eventfs_add_dir available_filter_functions; then46 DIR_NAME="eventfs_add_dir"47else48 DIR_NAME="tracefs_create_dir"49fi50echo "p:testprobe ${DIR_NAME} arg1=+0(${ARG1}):char" > kprobe_events51echo 1 > events/kprobes/testprobe/enable52echo "p:test $FUNCTION_FORK" >> kprobe_events53grep -qe "testprobe.* arg1='t'" trace54 55echo 0 > events/kprobes/testprobe/enable56: "Test get argument (2)"57echo "p:testprobe ${DIR_NAME} arg1=+0(${ARG1}):char arg2=+0(${ARG1}):char[4]" > kprobe_events58echo 1 > events/kprobes/testprobe/enable59echo "p:test $FUNCTION_FORK" >> kprobe_events60grep -qe "testprobe.* arg1='t' arg2={'t','e','s','t'}" trace61