WIP FPC-III support
[linux/fpc-iii.git] / tools / testing / selftests / ftrace / test.d / kprobe / kprobe_module.tc
blob7e74ee11edf9ea92bc67c9823c4caf6391497d61
1 #!/bin/sh
2 # SPDX-License-Identifier: GPL-2.0
3 # description: Kprobe dynamic event - probing module
4 # requires: kprobe_events
6 rmmod trace-printk ||:
7 if ! modprobe trace-printk ; then
8 echo "No trace-printk sample module - please make CONFIG_SAMPLE_TRACE_PRINTK=
9 m"
10 exit_unresolved;
13 MOD=trace_printk
14 FUNC=trace_printk_irq_work
16 :;: "Add an event on a module function without specifying event name" ;:
18 echo "p $MOD:$FUNC" > kprobe_events
19 PROBE_NAME=`echo $MOD:$FUNC | tr ".:" "_"`
20 test -d events/kprobes/p_${PROBE_NAME}_0 || exit_failure
22 :;: "Add an event on a module function with new event name" ;:
24 echo "p:event1 $MOD:$FUNC" > kprobe_events
25 test -d events/kprobes/event1 || exit_failure
27 :;: "Add an event on a module function with new event and group name" ;:
29 echo "p:kprobes1/event1 $MOD:$FUNC" > kprobe_events
30 test -d events/kprobes1/event1 || exit_failure
32 :;: "Remove target module, but event still be there" ;:
33 if ! rmmod trace-printk ; then
34 echo "Failed to unload module - please enable CONFIG_MODULE_UNLOAD"
35 exit_unresolved;
37 test -d events/kprobes1/event1
39 :;: "Check posibility to defining events on unloaded module";:
40 echo "p:event2 $MOD:$FUNC" >> kprobe_events
42 :;: "Target is gone, but we can prepare for next time";:
43 echo 1 > events/kprobes1/event1/enable
45 :;: "Load module again, which means the event1 should be recorded";:
46 modprobe trace-printk
47 grep "event1:" trace
49 :;: "Remove the module again and check the event is not locked"
50 rmmod trace-printk
51 echo 0 > events/kprobes1/event1/enable
52 echo "-:kprobes1/event1" >> kprobe_events