DF-5806 / fix-run.log
DF-5806 โ FIX VALIDATION LOG
============================
Fix: findings/poc/DF-5806/fix.diff โ never take the zero-progress
`goto restart` in soreceive()/sorecvtcp() when MSG_PEEK is set.
PATCHED-KERNEL BUILD (guest /usr/src, git apply verified FIX-APPLIED,
then):
$ cd /usr/src && make -j6 nativekernel KERNCONF=X86_64_GENERIC
(first attempt with buildkernel failed: "You must buildworld before
buildkernel" โ retried with the nativekernel target as suggested by
make itself)
... 4299 compile lines ...
BUILD-RC=0
$ make installkernel KERNCONF=X86_64_GENERIC
INSTALL-RC=0
>>> Kernel install for X86_64_GENERIC completed on Tue Oct 13 00:15:41
(full build log was in guest /tmp, lost to the reboot /tmp wipe; the
RC lines above are verbatim from the session)
BOOT INTO PATCHED KERNEL:
$ uname -v
DragonFly 6.5-DEVELOPMENT #1: Tue Oct 13 00:10:42 UTC 2026
root@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC
$ md5 /usr/src/sys/kern/uipc_socket.c
263d3630cff133bdc3be1cec2713571f (patched; stock was 6b0c6fa5...)
EXACT SAME PoC RE-RUN (as unpriv user maxx):
== single spinner, variant 0 ==
spawned 1 spinner(s), variant 0
NO-SPINNER-LEFT <- recv() returned; child exited immediately
SINGLE-OK
== 6 spinners variant 0 + 6 variant 1 ==
spawned 6 spinner(s), variant 0
spawned 6 spinner(s), variant 1
NO-SPINNERS <- all 12 children exited
BARRAGE-OK
== guest still responsive? ==
ALIVE
12:17AM up 33 secs, 0 users, load averages: 0.16, 0.04, 0.02
0 peekspin processes left
FIX VERDICT: fixed.
baseline (stock): 1 spinner -> permanent guest-wide wedge (3/3 runs)
patched (fix.diff): 12 spinners -> all exit instantly, guest healthy
The previously-observed bad behavior is GONE on the patched kernel.