DF-0788 / fix_run.log
=== DF-0788 Fix Validation: Before/After Contrast === --- BEFORE: Unpatched #0 kernel (baseline) --- Kernel: DragonFly 6.5-DEVELOPMENT #0: Thu Jul 2 06:02:54 UTC 2026 ntfs.ko: original (Jun 29), no bounds check on a_dataoff $ mount_ntfs -o ro /dev/vn0 /mnt/ntfs (ntfs_0788.img, a_dataoff=0x0F80) VN_RC=0 MOUNT_RC=0 /dev/vn0 on /mnt/ntfs (ntfs, read-only, local) >>> mount SUCCEEDS = ntfs_attrtontvattr memcpy completed = OOB READ HAPPENED >>> (152 bytes past 4096-byte MFT record buffer into adjacent M_TEMP slab heap) === guest alive === up 28 secs, load averages: 0.18, 0.05, 0.01 --- AFTER: Patched #1 kernel (fix applied) --- Kernel: DragonFly 6.5-DEVELOPMENT #1: Fri Jul 10 08:23:19 UTC 2026 ntfs.ko: rebuilt with fix.diff (validates a_dataoff+a_datalen <= a_hdr.reclen) $ mount_ntfs -o ro /dev/vn0 /mnt/ntfs (same ntfs_0788.img) mount_ntfs: /dev/vn0: Invalid argument MOUNT_RC=71 >>> mount FAILS = ntfs_attrtontvattr returned EINVAL = OOB READ PREVENTED === guest alive === up 2 mins, load averages: 0.08, 0.05, 0.01 --- AFTER: Patched #1 kernel + CLEAN image (regression test) --- $ mount_ntfs -o ro /dev/vn0 /mnt/ntfs (ntfs_clean.img, valid offsets) MOUNT_RC=0 /dev/vn0 on /mnt/ntfs (ntfs, read-only, local) >>> clean image still mounts = NO REGRESSION on valid images === CONCLUSION: fix closes the bug (mount fails cleanly on malformed image, valid images unaffected) ===