DragonFlyBSD Kernel Audit
DF-0588 / run_local.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-0588 measure harness: report mbufs-in-use before and after ./tun_leak N
set -u
N="${1:-50}"
mbufs_now() {
	netstat -m 2>/dev/null | awk '/mbufs in use/ {gsub(/\/.*/,"",$1); print $1; exit}'
}
BEFORE=$(mbufs_now)
echo "[baseline] mbufs in use: ${BEFORE:-?}"
echo "=== trigger: ./tun_leak $N ==="
./tun_leak "$N" 2>&1
RC=$?
AFTER=$(mbufs_now)
echo "[after]    mbufs in use: ${AFTER:-?}"
if [ -n "${BEFORE:-}" ] && [ -n "${AFTER:-}" ]; then
	DELTA=$((AFTER - BEFORE))
	echo "[delta]    leaked mbufs: ${DELTA} over $N writes (~$((DELTA / (N>0?N:1))) mbufs/write)"
fi
echo "=== full netstat -m after run ==="
netstat -m
echo "tun_leak exit=$RC"