DragonFlyBSD Kernel Audit
DF-3078 / run.patched.log
← back to finding ↓ download raw
DF-3078 run.patched.log — FIX-VALIDATION (kernel #1 with fix.diff)
Guest: DragonFly 6.5-DEVELOPMENT #1: Sun Sep  6 02:02:00 UTC 2026
       (sys/vfs/ufs/ffs_vfsops.c patched with findings/poc/DF-3078/fix.diff:
        geometry cross-check in ffs_reload + newfs->fs_fmod = 0)

=== fsize0 (baseline: Fatal trap 18 idivl) ============================
MOUNTED_RO
patched int32 sb+52 = 0 (0x00000000)
CRAFTED fsize0
mount: Invalid argument
RELOAD_RC=1
GUEST_STILL_UP
FS_ACCESSIBLE

=== ncg=0x20000000 (baseline: vm_fault stack-guard panic) =============
MOUNTED_RO
patched int32 sb+44 = 536870912 (0x20000000)
CRAFTED ncg
mount: Invalid argument
RELOAD_RC=1
GUEST_STILL_UP
FS_ACCESSIBLE

=== cssize=0x80000 (baseline: silent 522KB heap smash) ================
MOUNTED_RO
patched int32 sb+156 = 524288 (0x00080000)
CRAFTED cssize
mount: Invalid argument
RELOAD_RC=1
GUEST_STILL_UP
FS_ACCESSIBLE

=== sbsize_fault=65536 (baseline: trap 12 supervisor-read fault) =====
patched int32 sb+104 = 65536 (0x00010000)
CRAFTED sbsize_fault
mount: Invalid argument
RELOAD_RC=1
RW_UPGRADE_RC=0                     [RW upgrade uses the OLD in-core sb]
GUEST_STILL_UP=OK

=== sbsize_leak=8192 (baseline: 6KB heap -> media) ====================
patched int32 sb+104 = 8192 (0x00002000)
CRAFTED sbsize_leak
mount: Invalid argument
RELOAD_RC=1
RW_UPGRADE_RC=0
leak region [sb+2048..8192) = all zeros    [no OOB read performed]
GUEST_STILL_UP=OK

=== Regression: unchanged reload ======================================
MOUNTED_RO
RELOAD RETURNED
RELOAD_RC=0
GUEST_STILL_UP
FS_ACCESSIBLE

=== Regression: normal RW mount + file create =========================
RW_MOUNT_OK
-rw-r--r-- 1 root wheel 0 Sep  6 02:13 /mnt/gv/proof
hello df3078
REGRESSION_OK

fix_status: FIXED — every crafted variant cleanly rejected with EINVAL,
guest never panics; legitimate reloads and RW mounts unaffected.