DF-3152 / manifest.json
{ "finding_id": "DF-3152", "title": "HAMMER1 volume-add: ioc->vol_size never validated against the real device size; KKASSERT error paths and unconditional-success error overwrite (deterministic kernel panic / silent half-add)", "verdict": "reproduced", "impact": "panic", "reproduce": { "build": "cc -O -I/usr/src -o voladd_lie voladd_lie.c", "run": "setup: vnconfig vn0=12G sparse HAMMER1 fs (newfs_hammer -f) mounted rw; vn1=2MB file. Then: ./voladd_lie /mnt/h1 /dev/vn1 2147483648", "expected": "console: 'Initialize freemap volume 1' then 'panic: cluster_callback: unexpected EOF on cluster ...'; guest drops to ddb>" }, "kernel_refs": [ "sys/vfs/hammer/hammer_volume.c:63", "sys/vfs/hammer/hammer_volume.c:103", "sys/vfs/hammer/hammer_volume.c:117-130", "sys/vfs/hammer/hammer_volume.c:616-671", "sys/vfs/hammer/hammer_volume.c:662-668", "sys/vfs/hammer/hammer_volume.c:673-739", "sys/vfs/hammer/hammer_volume.c:415-476", "sys/vfs/hammer/hammer_ondisk.c:109", "sys/vfs/hammer/hammer_ondisk.c:212-213", "sys/vfs/hammer/hammer_ondisk.c:709", "sys/vfs/hammer/hammer_ioctl.c:193-201" ], "artifacts": [ "README.md", "VERDICT.md", "voladd_lie.c", "build.sh", "run.sh", "build.log", "run.log", "run.2.log", "env.txt", "fix.diff", "manifest.json", "verdict.json" ] } |