| #!/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 |