2 # SPDX-License-Identifier: GPL-2.0
3 # description: Kprobe dynamic event with function tracer
5 [ -f kprobe_events ] || exit_unsupported # this is configurable
6 grep "function" available_tracers || exit_unsupported # this is configurable
8 check_filter_file set_ftrace_filter
11 echo nop > current_tracer
12 echo _do_fork > set_ftrace_filter
13 echo 'p:testprobe _do_fork' > kprobe_events
15 # kprobe on / ftrace off
16 echo 1 > events/kprobes/testprobe/enable
20 ! grep '_do_fork <-' trace
22 # kprobe on / ftrace on
23 echo function > current_tracer
27 grep '_do_fork <-' trace
29 # kprobe off / ftrace on
30 echo 0 > events/kprobes/testprobe/enable
33 ! grep testprobe trace
34 grep '_do_fork <-' trace
36 # kprobe on / ftrace on
37 echo 1 > events/kprobes/testprobe/enable
38 echo function > current_tracer
42 grep '_do_fork <-' trace
44 # kprobe on / ftrace off
45 echo nop > current_tracer
49 ! grep '_do_fork <-' trace