⬢ DragonFlyBSD Kernel Audit
DF-2427 / run_fixed.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-2427 fixed-kernel A/B run (after make_fixed.sh): the same battery
# that corrupted memory on the baseline kernel must now show every
# scenario rejected with zero out-of-struct access.
set -e
VM=/home/maxx/dfbsd/dfbsd/dfbsd-qemu/vm.sh
cd "$(dirname "$0")"

$VM status

echo '=== FIXED: DF-2427 battery mode 2 (wild-pointer deref attempt) ==='
timeout 90 $VM run_root 'sysctl debug.df2427.battery=2' \
	> run_fixed_battery.log 2>&1 || true
tail -3 run_fixed_battery.log || true
$VM run_root 'dmesg | tail -400' > run_fixed_dmesg.log 2>&1 || true
grep -c "DFH:" run_fixed_dmesg.log || true
grep -E "FIXED|VULNERABLE|Fatal trap" run_fixed_dmesg.log || true
if grep -q "^Fatal trap" run_fixed_dmesg.log; then
	echo "STILL PANICS/FAULTS ON FIXED KERNEL"
	exit 1
fi
if grep -q ">>>. *VULNERABLE" run_fixed_dmesg.log; then
	echo "FIXED KERNEL STILL SHOWS VULNERABLE BEHAVIOR"
	exit 1
fi
echo 'FIXED RUN OK: reselects rejected, no corruption, no fault'