DF-4098 / push_rig.sh
#!/bin/sh # push_rig.sh -- (re)push rig sources to a fresh guest, build, load, prime set -e DIR="findings/poc/DF-2429" ssh -F dfbsd-qemu/config dfbsd 'mkdir -p /root/rig' scp -F dfbsd-qemu/config "$DIR/dfbt_rig.c" "$DIR/Makefile" "$DIR/dfbt_ctl.c" dfbsd:/root/rig/ printf '%s\n' ' cd /root/rig make 2>&1 | grep -E "error:|warning:" && exit 1 || true cc -O2 -Wall -o dfbt_ctl dfbt_ctl.c kldload /root/rig/dfbt_rig.ko || kldstat | grep dfbt ./dfbt_ctl prime ./dfbt_ctl snap 0 >/dev/null 2>&1 || true echo "--- prologue magic words (must match host-verified constants) ---" sysctl kern.dfbt_m_btaction kern.dfbt_m_btpoll kern.dfbt_m_btdone \ kern.dfbt_m_bttimeout kern.dfbt_m_btreset kern.dfbt_m_btintr ' | ssh -F dfbsd-qemu/config dfbsd /bin/sh echo "EXPECT: btaction=0x56415741e5894855 btpoll=0xfffed7e9187f8b48" echo " btdone=0x55415641e5894855 bttimeout=0x894800000002be55" echo " btreset=0x40b8ffffff80ba55 btintr=0x54415541e5894855" |