DragonFlyBSD Kernel Audit
DF-3030 / run.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-3030 run: mount the normal daemon (root), then as maxx loop renames
# of a ~200-char name pair and measure kernel M_TEMP / kmem before+after.
set -e
cd "$(dirname "$0")"
MNT=/mnt/fuse
kldstat -n fuse >/dev/null 2>&1 || kldload fuse
mkdir -p $MNT
./fuse_daemon normal $MNT > daemon.log 2>&1 &
sleep 3
mount | grep -q "$MNT" || { echo MOUNT_MISSING; cat daemon.log; exit 1; }
chmod 777 $MNT
echo "=== kernel memory BEFORE ==="
vmstat -m | awk '$NF ~ /temp/ || /M_TEMP/ {print}'
sysctl vm.kmem_size_free 2>/dev/null || true
echo "=== rename loop as maxx (100000 renames of ~264B names) ==="
su -m maxx -c "time ./rename_leak $MNT 50000" || true
echo "=== kernel memory AFTER ==="
vmstat -m | awk '$NF ~ /temp/ || /M_TEMP/ {print}'
sysctl vm.kmem_size_free 2>/dev/null || true