| #!/bin/sh |
| # SPDX-License-Identifier: GPL-2.0 |
| # description: Kretprobe dynamic event with maxactive |
| |
| [ -f kprobe_events ] || exit_unsupported # this is configurable |
| grep -q 'r\[maxactive\]' README || exit_unsupported # this is older version |
| |
| echo > kprobe_events |
| |
| # Test if we successfully reject unknown messages |
| if echo 'a:myprobeaccept inet_csk_accept' > kprobe_events; then false; else true; fi |
| |
| # Test if we successfully reject too big maxactive |
| if echo 'r1000000:myprobeaccept inet_csk_accept' > kprobe_events; then false; else true; fi |
| |
| # Test if we successfully reject unparsable numbers for maxactive |
| if echo 'r10fuzz:myprobeaccept inet_csk_accept' > kprobe_events; then false; else true; fi |
| |
| # Test for kretprobe with event name without maxactive |
| echo 'r:myprobeaccept inet_csk_accept' > kprobe_events |
| grep myprobeaccept kprobe_events |
| test -d events/kprobes/myprobeaccept |
| echo '-:myprobeaccept' >> kprobe_events |
| |
| # Test for kretprobe with event name with a small maxactive |
| echo 'r10:myprobeaccept inet_csk_accept' > kprobe_events |
| grep myprobeaccept kprobe_events |
| test -d events/kprobes/myprobeaccept |
| echo '-:myprobeaccept' >> kprobe_events |
| |
| # Test for kretprobe without event name without maxactive |
| echo 'r inet_csk_accept' > kprobe_events |
| grep inet_csk_accept kprobe_events |
| echo > kprobe_events |
| |
| # Test for kretprobe without event name with a small maxactive |
| echo 'r10 inet_csk_accept' > kprobe_events |
| grep inet_csk_accept kprobe_events |
| echo > kprobe_events |
| |
| clear_trace |