⬢ DragonFlyBSD Kernel Audit
DF-2297 / run_fix.sh
← back to finding ↓ download raw
#!/bin/sh
# FIX-validation runs (guest, root).  Prerequisites: fix.diff applied
# to /usr/src/sys/bus/firewire/{fwdma.c,fwdev.c}, module rebuilt via
# build.sh (build pulls the production sources from /usr/src).
# Every test that panicked or corrupted on baseline must now be
# rejected cleanly, and the legit config must keep working.
set -e
kldload /root/df229x/df229x.ko
echo "== fix test 3: DF-2297 primary psize=0 (baseline: Fatal trap 17) =="
sysctl kern.df229x_test=3
sysctl kern.df229x_status
echo "== fix test 1: DF-2297 variant B psize=0x80000000 (baseline: Fatal trap 17) =="
sysctl kern.df229x_test=1
sysctl kern.df229x_status
echo "== fix test 4: DF-2298 trivial variant npacket=0 =="
sysctl kern.df229x_test=4
sysctl kern.df229x_status
echo "== fix test 2: DF-2298 overflow variant 0x10000*0x10000 (baseline: controlled write) =="
sysctl kern.df229x_test=2
sysctl kern.df229x_status
echo "== fix test 5: regression (legit bufspec must still work) =="
sysctl kern.df229x_test=5
sysctl kern.df229x_status
echo "== fix test 6: fwdma.c guard probe (baseline would trap) =="
sysctl kern.df229x_test=6
sysctl kern.df229x_status
echo "== guest still alive =="
uptime