46 lines
1.0 KiB
Bash
46 lines
1.0 KiB
Bash
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
# description: Kprobe dynamic event with function tracer
|
|
# requires: kprobe_events stack_trace_filter function:tracer
|
|
|
|
# prepare
|
|
echo nop > current_tracer
|
|
echo $FUNCTION_FORK > set_ftrace_filter
|
|
echo "p:testprobe $FUNCTION_FORK" > kprobe_events
|
|
|
|
# kprobe on / ftrace off
|
|
echo 1 > events/kprobes/testprobe/enable
|
|
echo > trace
|
|
( echo "forked")
|
|
grep testprobe trace
|
|
! grep "$FUNCTION_FORK <-" trace
|
|
|
|
# kprobe on / ftrace on
|
|
echo function > current_tracer
|
|
echo > trace
|
|
( echo "forked")
|
|
grep testprobe trace
|
|
grep "$FUNCTION_FORK <-" trace
|
|
|
|
# kprobe off / ftrace on
|
|
echo 0 > events/kprobes/testprobe/enable
|
|
echo > trace
|
|
( echo "forked")
|
|
! grep testprobe trace
|
|
grep "$FUNCTION_FORK <-" trace
|
|
|
|
# kprobe on / ftrace on
|
|
echo 1 > events/kprobes/testprobe/enable
|
|
echo function > current_tracer
|
|
echo > trace
|
|
( echo "forked")
|
|
grep testprobe trace
|
|
grep "$FUNCTION_FORK <-" trace
|
|
|
|
# kprobe on / ftrace off
|
|
echo nop > current_tracer
|
|
echo > trace
|
|
( echo "forked")
|
|
grep testprobe trace
|
|
! grep "$FUNCTION_FORK <-" trace
|