#!/bin/sh # SPDX-License-Identifier: GPL-2.0 # description: Create/delete multiprobe on kprobe event [ -f kprobe_events ] || exit_unsupported grep -q "Create/append/" README || exit_unsupported # Choose 2 symbols for target SYM1=_do_fork SYM2=do_exit EVENT_NAME=kprobes/testevent DEF1="p:$EVENT_NAME $SYM1" DEF2="p:$EVENT_NAME $SYM2" :;: "Define an event which has 2 probes" ;: echo $DEF1 >> kprobe_events echo $DEF2 >> kprobe_events cat kprobe_events | grep "$DEF1" cat kprobe_events | grep "$DEF2" :;: "Remove the event by name (should remove both)" ;: echo "-:$EVENT_NAME" >> kprobe_events test `cat kprobe_events | wc -l` -eq 0 :;: "Remove just 1 event" ;: echo $DEF1 >> kprobe_events echo $DEF2 >> kprobe_events echo "-:$EVENT_NAME $SYM1" >> kprobe_events ! cat kprobe_events | grep "$DEF1" cat kprobe_events | grep "$DEF2" :;: "Appending different type must fail" ;: ! echo "$DEF1 \$stack" >> kprobe_events