⬢ DragonFlyBSD Kernel Audit
DF-3157 / run.2.log
← back to finding ↓ download raw
# DF-3157 PATCHED-kernel (fix.diff, kernel #3) verification matrix -- all
# commands identical to baseline run.log probes.

$ uname -v
DragonFly 6.5-DEVELOPMENT #3: Mon Sep  7 09:32:17 UTC 2026 root@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC
$ for k in "3 0" "3 480" "3 481" "3 511" "0 32" "0 480" "0 481" "0 511" "0 8192" "100 0" "4294967295 0"; do /tmp/fhtest $k; done
fhstat(3,0) = 0 -> ino=4384 size=1145258561 mode=100555 ...     # in-range: still readable (documented residual)
fhstat(3,480) = 0 -> ino=357968 size=1024 mode=40755 ...        # last fully-in-cluster entry: OK
fhstat(3,481) = -1 errno=22(Invalid argument)                   # OOB read: REJECTED
fhstat(3,511) = -1 errno=22(Invalid argument)                   # OOB read: REJECTED
fhstat(0,32) = 0 -> ino=4113 size=512 mode=100755 ...           # real dirent: OK
fhstat(0,480) = 0 -> ino=4127 size=0 mode=100755 ...            # in-range root entry: OK
fhstat(0,481) = -1 errno=22(Invalid argument)                   # OOB (root path): REJECTED
fhstat(0,511) = -1 errno=22(Invalid argument)                   # OOB (root path): REJECTED
fhstat(0,8192) = -1 errno=22(Invalid argument)                  # beyond root area: REJECTED
fhstat(100,0) = 0 -> ino=5936 size=1024 mode=40755 ...          # in-range cluster: still readable (residual)
fhstat(4294967295,0) = -1 errno=22(Invalid argument)            # cluster range: REJECTED

$ /tmp/fhtest 0 32 write            # in-range write must keep working
futimes = 0 errno=0 / fchmod = 0 errno=0
$ /tmp/fhtest 0 32
... mtime=1599999998                                             # legit dirent updated correctly
$ /tmp/fhtest 3 511 write
fhopen(3,511) errno=22(Invalid argument)                         # OOB WRITE: REJECTED

$ DF3157_SRCPORT=800 /tmp/df3157 getattr 0 32                    # baseline: PANIC 3/3
getattr: NFS status=70                                            # clean ESTALE, guest UP
$ DF3157_SRCPORT=800 /tmp/df3157 setattr 0 511 1599999999        # baseline: nfsd wedge
(no wedge; no crash)
$ DF3157_SRCPORT=800 /tmp/df3157 null
NULL -> OK (off=24)                                               # nfsd healthy afterwards
$ vm.sh status -> up     (console clean, no dscheck, no traps)