DragonFlyBSD Kernel Audit
DF-2631 / run.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-2631 build/run — no forging needed: the trigger uses plain dd clones
# of one newfs_hammer2 image created inside the guest.
#
# STOCK RUN (root):
#   scp -F dfbsd-qemu/config trigger_df2631.sh dfbsd:/root/
#   dfbsd-qemu/vm.sh run_root 'sh /root/trigger_df2631.sh'
# EXPECT: umount -f D-state h2twait forever; h2nod-testvol in h2coll;
#         108 h2xop survivors; third mount D-state mntlk; degraded
#         shutdown; REBOOT required.
#
# FIX RUN (kernel rebuilt with fix.diff):
#   scp -F dfbsd-qemu/config fix_validate.sh dfbsd:/root/
#   dfbsd-qemu/vm.sh run_root 'sh /root/fix_validate.sh'
# EXPECT: UMOUNTF_RC=0 ELAPSED=61s (defaults) or 11s (knob at 10);
#         third mount works; single-device mounts unaffected.
#         NOTE: a delayed (1-5 min) Fatal trap 12 in
#         hammer2_primary_xops_thread was observed after cluster
#         umount -f on all elapsed-bound fix kernels — see VERDICT.md.
set -e
echo "see comments inside for the exact commands"