]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/blame - tools/testing/selftests/ftrace/test.d/kprobe/kprobe_ftrace.tc
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[mirror_ubuntu-disco-kernel.git] / tools / testing / selftests / ftrace / test.d / kprobe / kprobe_ftrace.tc
CommitLineData
d20058f6 1#!/bin/sh
b2441318 2# SPDX-License-Identifier: GPL-2.0
d20058f6
HC
3# description: Kprobe dynamic event with function tracer
4
5[ -f kprobe_events ] || exit_unsupported # this is configurable
6grep function available_tracers || exit_unsupported # this is configurable
7
8# prepare
9echo nop > current_tracer
c28628b8 10echo _do_fork > set_ftrace_filter
d20058f6
HC
11echo 0 > events/enable
12echo > kprobe_events
c28628b8 13echo 'p:testprobe _do_fork' > kprobe_events
d20058f6
HC
14
15# kprobe on / ftrace off
16echo 1 > events/kprobes/testprobe/enable
17echo > trace
18( echo "forked")
19grep testprobe trace
c28628b8 20! grep '_do_fork <-' trace
d20058f6
HC
21
22# kprobe on / ftrace on
23echo function > current_tracer
24echo > trace
25( echo "forked")
26grep testprobe trace
c28628b8 27grep '_do_fork <-' trace
d20058f6
HC
28
29# kprobe off / ftrace on
30echo 0 > events/kprobes/testprobe/enable
31echo > trace
32( echo "forked")
33! grep testprobe trace
c28628b8 34grep '_do_fork <-' trace
d20058f6
HC
35
36# kprobe on / ftrace on
37echo 1 > events/kprobes/testprobe/enable
38echo function > current_tracer
39echo > trace
40( echo "forked")
41grep testprobe trace
c28628b8 42grep '_do_fork <-' trace
d20058f6
HC
43
44# kprobe on / ftrace off
45echo nop > current_tracer
46echo > trace
47( echo "forked")
48grep testprobe trace
c28628b8 49! grep '_do_fork <-' trace
d20058f6
HC
50
51# cleanup
52echo nop > current_tracer
53echo > set_ftrace_filter
54echo 0 > events/kprobes/testprobe/enable
55echo > kprobe_events
56echo > trace