1*cf84ac9aSAndroid Build Coastguard Worker#!/bin/sh -efu 2*cf84ac9aSAndroid Build Coastguard Worker 3*cf84ac9aSAndroid Build Coastguard Worker# Check decoding of successful PERF_EVENT_IOC_{ID,QUERY_BPF} ioctls. 4*cf84ac9aSAndroid Build Coastguard Worker 5*cf84ac9aSAndroid Build Coastguard Worker. "${srcdir=.}/scno_tampering.sh" 6*cf84ac9aSAndroid Build Coastguard Worker 7*cf84ac9aSAndroid Build Coastguard Worker: ${IOCTL_INJECT_START=256} 8*cf84ac9aSAndroid Build Coastguard Worker: ${IOCTL_INJECT_RETVAL=42} 9*cf84ac9aSAndroid Build Coastguard Worker 10*cf84ac9aSAndroid Build Coastguard Workerrun_prog 11*cf84ac9aSAndroid Build Coastguard Workerrun_strace -a35 -e trace=ioctl \ 12*cf84ac9aSAndroid Build Coastguard Worker -e inject=ioctl:retval="${IOCTL_INJECT_RETVAL}":when="${IOCTL_INJECT_START}+" \ 13*cf84ac9aSAndroid Build Coastguard Worker ../ioctl_perf-success "${IOCTL_INJECT_START}" "${IOCTL_INJECT_RETVAL}" > "$EXP" 14*cf84ac9aSAndroid Build Coastguard Workergrep -v '^ioctl([012][,<]' < "$LOG" > "$OUT" 15*cf84ac9aSAndroid Build Coastguard Workermatch_diff "$OUT" "$EXP" 16