DragonFlyBSD Kernel Audit
DF-0145 / run.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-0145 run: as root, on a guest with vfs.quota_enabled=1.
# Mounts tmpfs, populates RB-trees via vquotactl, unmounts, shows M_MOUNT leak.
cd "$(dirname "$0")"
N=${1:-300}
MNT=/mnt/df0145_$$
mkdir -p "$MNT"
echo "mount-count BEFORE:       $(vmstat -m | awk '$1=="mount"{print $2}')"
mount_tmpfs tmpfs "$MNT" && echo "mounted tmpfs on $MNT (vq_init ran)"
./df0145_pop "$MNT" "$N"
echo "mount-count AFTER populate ($N uid chunks): $(vmstat -m | awk '$1=="mount"{print $2}')"
umount "$MNT" && echo "unmounted (VFS_ACDONE -> vq_done ran)"
echo "mount-count AFTER unmount (LEAKED if not back to baseline): $(vmstat -m | awk '$1=="mount"{print $2}')"
rmdir "$MNT" 2>/dev/null