DragonFlyBSD Kernel Audit
DF-2721 / run.sh
← back to finding ↓ download raw
#!/bin/sh
# On the guest (as root), after build.sh + cp slabstrand.ko /tmp/:
kldload /tmp/slabstrand.ko
# natural cross-cpu churn (stock kernel): expect FLAT kmalloc_kva_kb
sysctl -n kern.slabstrand.krun=60
sysctl kern.slabstrand.census
# injected repro (instrumented kernel #1): expect MONOTONIC KVA/wire growth
# that survives drain+settle (+50-80MB/min at inject=50)
sysctl -w debug.slab_strand_watch=1
sysctl -w debug.slab_strand_inject=50
for i in 1 2 3 4 5 6; do
    sysctl -n kern.slabstrand.krun=60 >/dev/null
    sysctl -n kern.slabstrand.census
done
sysctl -w debug.slab_strand_inject=0
sysctl -n kern.slabstrand.drain=1
sleep 20
echo "settled (leak retained on stock protocol):"
sysctl -n kern.slabstrand.census
kldunload -n slabstrand