DF-0782 / fix_run.log
=== DF-0782 fix validation: run on PATCHED fuse.ko (3/3 deterministic) === Patched fuse.ko built from /usr/src/sys/vfs/fuse with fix.diff applied (uio_offset<0 -> EINVAL; uio_offset > FUSE_MAXFILESIZE - uio_resid -> EFBIG). --- run #1 (patched) --- daemon pid=1110 /dev/fuse on /mnt/fuse (fuse, local) === daemon mounted; triggering write as maxx === [trigger] opening /mnt/fuse/target (O_WRONLY) [trigger] lseek to 0x7ffffffffffffff0 (=9223372036854775792) [trigger] file offset now 0x7ffffffffffffff0 [trigger] writing 16 bytes -> offset+resid wraps to 0x8000000000000000 (INT64_MIN) [trigger] write returned -1 (errno=27 File too large) write: File too large trigger rc=0 === guest survived; vm status: up; NO panic in boot.log === --- run #2 (patched) --- [trigger] write returned -1 (errno=27 File too large) ; guest up, no panic --- run #3 (patched) --- [trigger] write returned -1 (errno=27 File too large) ; guest up, no panic --- sanity: normal write still works --- printf "hello" | dd of=/mnt/fuse/target bs=5 count=1 -> 5 bytes transferred, rc=0 RESULT: FIXED. The overflow is now rejected with EFBIG (errno 27) before reaching fuse_reg_resize(). No panic. Legitimate writes unaffected.