DF-5037 / run_patched.log
# run_patched.log — fix-validation runs (patched kernel, Sat Sep 26 08:14:53 UTC 2026 build) Console/ssh excerpts captured live during the two validation runs of the exact same PoC against the kernel built with fix.diff applied. ## Validation run 1 (`/tmp/guest_duel.sh 90`) Progress counters never froze; both workers kept cycling for the full runtime: ``` [+] 40.1s p1_reload=139832 p2_remove=7403 fails=7368 r1=2 r2=0 c1=17 c2=0 [+] 42.1s p1_reload=146831 p2_remove=7772 fails=7735 r1=2 r2=0 c1=17 c2=0 [+] 44.1s p1_reload=153826 p2_remove=8145 fails=8107 r1=2 r2=0 c1=17 c2=0 [+] 46.1s p1_reload=160909 p2_remove=8514 fails=8473 r1=0 r2=0 c1=17 c2=0 [+] 48.1s p1_reload=167863 p2_remove=8887 fails=8843 r1=2 r2=0 c1=17 c2=0 [+] 50.1s p1_reload=175513 p2_remove=9257 fails=9212 r1=0 r2=0 c1=17 c2=0 ``` Workers in transient states only (no permanent D-freeze): ``` 829 S0 nanslp dm_abba <- parent watchdog 848 R0 - dm_abba <- P1 running 849 D3 - dm_abba <- P2 transiently in an ioctl ``` At the end of the runtime all three processes exited cleanly (`ps` shows no dm_abba processes; no unkillable D-state leftovers): ``` $ ps axo pid,stat,comm | grep dm_abba | grep -v grep (no output) PS-CLEAN=1 ``` ## Functional sanity on the patched kernel (dm-on-dm stacking + I/O + remove) ``` $ dmsetup create s1 --table "0 1024 linear /dev/vbd0 2048" $ dmsetup create s2 --table "0 512 linear /dev/mapper/s1 256" $ dd if=/dev/zero of=/dev/mapper/s2 bs=512 count=8 4096 bytes transferred in 0.006482 secs (631912 bytes/sec) $ dd if=/dev/mapper/s2 of=/dev/null bs=512 count=8 4096 bytes transferred in 0.000409 secs (10014915 bytes/sec) IO-OK $ dmsetup remove s2 && dmsetup remove s1 && echo REMOVE-OK REMOVE-OK ``` ## Validation run 2 (`/tmp/guest_duel.sh 60`) Second full run: completed with no deadlock, no panic; afterwards: ``` $ ps axo pid,stat,comm | grep dm_abba | grep -v grep (no output) PS-CLEAN=1 $ kldstat | grep -c dm 2 ``` No `[!] DEADLOCK` marker, no `panic:` on the serial console in either run.