DF-5395 / run.log
# Patched-kernel run (fix.diff applied to guest /usr/src, patched uether.ko # installed in /boot/kernel) — identical harness, identical input state. # Compare with panic.txt (baseline, stock modules): same three markers, # then SURVIVED instead of Fatal trap 12. $ kldload -v /root/df5395/axge_poc.ko 2>&1; echo KLDLOAD_RC=$? Loaded /root/df5395/axge_poc.ko, id=4, path=/root/df5395/axge_poc.ko KLDLOAD_RC=0 $ kldstat | grep -E "axge_poc|uether" 4 1 0xffffffff82600000 1000 axge_poc.ko 5 1 0xffffffff82601000 2000 uether.ko $ dmesg | grep axge_poc axge_poc: constructing post-'allocating USB transfers failed' state (if_axge.c:553-558) axge_poc: state check: ue_lock=0 ue_dev=0 ue_udev=0 ue_tq.up_lock=0 (all must be 0/NULL) axge_poc: entering axge_detach() replay: usbd_transfer_unsetup() + uether_ifdetach() (if_axge.c:586-587) axge_poc: SURVIVED uether_ifdetach() (UNEXPECTED -- guard present?) $ dmesg | grep -c "Fatal trap" 0 $ kldunload axge_poc UNLOAD_OK # patched driver module sanity (detach_usb label compiles + loads): $ kldload -v /usr/src/sys/bus/u4b/net/axge/if_axge.ko && echo DRIVER_LOAD_OK && kldunload if_axge && echo DRIVER_UNLOAD_OK Loaded /usr/src/sys/bus/u4b/net/axge/if_axge.ko, id=6, path=/usr/src/sys/bus/u4b/net/axge/if_axge.ko DRIVER_LOAD_OK DRIVER_UNLOAD_OK # second identical run (fresh kldload, new ids) — stable, not luck: $ kldload -v /root/df5395/axge_poc.ko 2>&1; echo KLDLOAD_RC=$? Loaded /root/df5395/axge_poc.ko, id=8, path=/root/df5395/axge_poc.ko KLDLOAD_RC=0 $ kldstat | grep -E "axge_poc|uether" 8 1 0xffffffff82600000 1000 axge_poc.ko 9 1 0xffffffff82601000 2000 uether.ko $ echo FATAL_COUNT=$(dmesg | grep -c "Fatal trap") FATAL_COUNT=0 $ kldunload axge_poc && echo UNLOAD_OK UNLOAD_OK