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