⬢ DragonFlyBSD Kernel Audit
DF-3601 / fix_validation.log
← back to finding ↓ download raw
# DF-3601 fix validation (2026-09-15 07:36-07:38 UTC), same guest/HDA setup
$ cd /usr/src && patch -p1 < /tmp/fix.diff     # zero-fuzz apply
PATCHED
$ cd /usr/src/sys/dev/sound/driver/hda && make
... cc -O2 ... -Werror ... hdaa.c ... -> snd_hda.ko   # builds clean
$ kldload /tmp/snd_hda_fixed.ko
hdac0: <Intel 82801F HDA Controller> mem 0xfebd0000-0xfebd3fff irq 11 at device 4.0 on pci0
hdacc0: <Generic (0x1af40022) HDA CODEC> at cad 0 on hdac0
hdaa0: <Generic (0x1af40022) Audio Function Group> at nid 1 on hdacc0
pcm0: <Generic (0x1af40022) (Analog)> at nid 3 and 5 on hdaa0

$ date; sysctl dev.hdaa.0.reconfig=1; echo RC1=$?
Tue Sep 15 07:37:58 UTC 2026
dev.hdaa.0.reconfig: 0 -> 0
RC1=0                                  # <-- returns instantly (baseline: never returns)
$ sleep 3; sysctl kern.osreldate
kern.osreldate: 600519
$ dmesg | tail -3
pcm0: <Generic (0x1af40022) (Analog)> at nid 3 and 5 on hdaa0
pcm0: detached
pcm0: <Generic (0x1af40022) (Analog)> at nid 3 and 5 on hdaa0   # deferred task re-attached it
$ sysctl dev.hdaa.0.reconfig=1; echo RC2=$?    # second reconfig
dev.hdaa.0.reconfig: 0 -> 0
RC2=0
$ sysctl dev.hdaa.0.%desc; ls /dev/dsp0; sysctl kern.osreldate
dev.hdaa.0.%desc: Generic (0x1af40022) Audio Function Group
/dev/dsp0
kern.osreldate: 600519
HEALTH_OK

# bonus: unprivileged /dev/dsp0 ioctl battery (SETFRAGMENT before SETFMT, etc.)
$ su maxx -c /tmp/dsptest
dsp ioctls+write OK rate=48000 ch=2