1 #!/bin/sh 2 # SPDX-License-Identifier: GPL-2.0 3 # description: Kretprobe dynamic event with maxactive 4 5 [ -f kprobe_events ] || exit_unsupported # this is configurable 6 grep -q 'r\[maxactive\]' README || exit_unsupported # this is older version 7 8 echo > kprobe_events 9 10 # Test if we successfully reject unknown messages 11 if echo 'a:myprobeaccept inet_csk_accept' > kprobe_events; then false; else true; fi 12 13 # Test if we successfully reject too big maxactive 14 if echo 'r1000000:myprobeaccept inet_csk_accept' > kprobe_events; then false; else true; fi 15 16 # Test if we successfully reject unparsable numbers for maxactive 17 if echo 'r10fuzz:myprobeaccept inet_csk_accept' > kprobe_events; then false; else true; fi 18 19 # Test for kretprobe with event name without maxactive 20 echo 'r:myprobeaccept inet_csk_accept' > kprobe_events 21 grep myprobeaccept kprobe_events 22 test -d events/kprobes/myprobeaccept 23 echo '-:myprobeaccept' >> kprobe_events 24 25 # Test for kretprobe with event name with a small maxactive 26 echo 'r10:myprobeaccept inet_csk_accept' > kprobe_events 27 grep myprobeaccept kprobe_events 28 test -d events/kprobes/myprobeaccept 29 echo '-:myprobeaccept' >> kprobe_events 30 31 # Test for kretprobe without event name without maxactive 32 echo 'r inet_csk_accept' > kprobe_events 33 grep inet_csk_accept kprobe_events 34 echo > kprobe_events 35 36 # Test for kretprobe without event name with a small maxactive 37 echo 'r10 inet_csk_accept' > kprobe_events 38 grep inet_csk_accept kprobe_events 39 echo > kprobe_events 40 41 clear_trace 42