DF-2721 / run.sh
#!/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 |