DragonFlyBSD Kernel Audit
DF-2644 / validate_fix_df2644.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-2644 fix-validation run (kernel B): bounded injector, sync, then
# immediate unmount so no post-error create/retry can trip the unrelated
# pre-existing chain.c:3112 KKASSERT.  Expected: NO panic, umount OK.
set -x
truncate -s 512M /root/h2644.img
vnconfig -c -S 512m -T vn2 /root/h2644.img
newfs_hammer2 -L DATA /dev/vn2 >/dev/null 2>&1
mkdir -p /mnt/h2644
mount_hammer2 /dev/vn2@DATA /mnt/h2644
mkdir /mnt/h2644/subdir
touch /mnt/h2644/subdir/e1 /mnt/h2644/subdir/e2 /mnt/h2644/subdir/e3
mkdir /mnt/h2644/subdir2
touch /mnt/h2644/subdir2/e4
sleep 5
sysctl vfs.hammer2.df2644_fail_inode_read=16
(sync) 2>/dev/null || /sbin/sync 2>/dev/null || /usr/sbin/sync 2>/dev/null
sleep 2
umount /mnt/h2644 && echo UNMOUNT_OK
vnconfig -u vn2 && echo VN_DETACHED
sleep 5
echo "FIXED_KERNEL_RUN_COMPLETE (no panic)"