DF-0883 / fix_run.log
=== PATCHED udf.ko (single-fix module) — PoC: evil.udf (lb_size=0, packet_len=2048) === Kernel: DragonFly 6.5-DEVELOPMENT #0: Thu Jul 2 06:02:54 UTC 2026 Module: /boot/kernel/udf.ko rebuilt with lb_size validation (fix.diff applied) Run 1: [+] loading UDF module (if not loaded)... [+] configuring vnode device... [+] attempting UDF mount (lb_size=0, packet_len=2048)... mount_udf: /dev/vn0: Invalid argument [!] mount returned 1 [+] guest still alive: 10:59PM up 2 mins, 0 users, load averages: 0.11, 0.06, 0.02 RUN_EXIT=0 dmesg: udf: invalid logical block size 0 <-- fix validation message Run 2 (determinism check): vnconfig -c vn0 evil.udf mount -t udf -o rdonly /dev/vn0 /mnt/udf mount_udf: /dev/vn0: Invalid argument mount rc=1 Guest still alive. Contrast with unpatched baseline: BEFORE: Fatal trap 18: integer divide fault ... udf_mount.part.2+0x814: idivl AFTER: mount returns EINVAL cleanly, no panic, guest stays up. Note: The UDF filesystem is a loadable kernel module (kldload udf). The fix lives in the module, not the kernel binary. The before/after comparison uses the SAME #0 kernel binary with the original vs fixed udf.ko module — the only variable is the one-file source change in udf_vfsops.c.