.. | .. |
---|
1 | 1 | #!/bin/sh |
---|
2 | 2 | # SPDX-License-Identifier: GPL-2.0 |
---|
3 | 3 | # description: Kprobe dynamic event with function tracer |
---|
4 | | - |
---|
5 | | -[ -f kprobe_events ] || exit_unsupported # this is configurable |
---|
6 | | -grep function available_tracers || exit_unsupported # this is configurable |
---|
| 4 | +# requires: kprobe_events stack_trace_filter function:tracer |
---|
7 | 5 | |
---|
8 | 6 | # prepare |
---|
9 | 7 | echo nop > current_tracer |
---|
10 | | -echo _do_fork > set_ftrace_filter |
---|
11 | | -echo 0 > events/enable |
---|
12 | | -echo > kprobe_events |
---|
13 | | -echo 'p:testprobe _do_fork' > kprobe_events |
---|
| 8 | +echo $FUNCTION_FORK > set_ftrace_filter |
---|
| 9 | +echo "p:testprobe $FUNCTION_FORK" > kprobe_events |
---|
14 | 10 | |
---|
15 | 11 | # kprobe on / ftrace off |
---|
16 | 12 | echo 1 > events/kprobes/testprobe/enable |
---|
17 | 13 | echo > trace |
---|
18 | 14 | ( echo "forked") |
---|
19 | 15 | grep testprobe trace |
---|
20 | | -! grep '_do_fork <-' trace |
---|
| 16 | +! grep "$FUNCTION_FORK <-" trace |
---|
21 | 17 | |
---|
22 | 18 | # kprobe on / ftrace on |
---|
23 | 19 | echo function > current_tracer |
---|
24 | 20 | echo > trace |
---|
25 | 21 | ( echo "forked") |
---|
26 | 22 | grep testprobe trace |
---|
27 | | -grep '_do_fork <-' trace |
---|
| 23 | +grep "$FUNCTION_FORK <-" trace |
---|
28 | 24 | |
---|
29 | 25 | # kprobe off / ftrace on |
---|
30 | 26 | echo 0 > events/kprobes/testprobe/enable |
---|
31 | 27 | echo > trace |
---|
32 | 28 | ( echo "forked") |
---|
33 | 29 | ! grep testprobe trace |
---|
34 | | -grep '_do_fork <-' trace |
---|
| 30 | +grep "$FUNCTION_FORK <-" trace |
---|
35 | 31 | |
---|
36 | 32 | # kprobe on / ftrace on |
---|
37 | 33 | echo 1 > events/kprobes/testprobe/enable |
---|
.. | .. |
---|
39 | 35 | echo > trace |
---|
40 | 36 | ( echo "forked") |
---|
41 | 37 | grep testprobe trace |
---|
42 | | -grep '_do_fork <-' trace |
---|
| 38 | +grep "$FUNCTION_FORK <-" trace |
---|
43 | 39 | |
---|
44 | 40 | # kprobe on / ftrace off |
---|
45 | 41 | echo nop > current_tracer |
---|
46 | 42 | echo > trace |
---|
47 | 43 | ( echo "forked") |
---|
48 | 44 | grep testprobe trace |
---|
49 | | -! grep '_do_fork <-' trace |
---|
50 | | - |
---|
51 | | -# cleanup |
---|
52 | | -echo nop > current_tracer |
---|
53 | | -echo > set_ftrace_filter |
---|
54 | | -echo 0 > events/kprobes/testprobe/enable |
---|
55 | | -echo > kprobe_events |
---|
56 | | -echo > trace |
---|
| 45 | +! grep "$FUNCTION_FORK <-" trace |
---|