⬢ DragonFlyBSD Kernel Audit
DF-4800 / manifest.json
← back to finding ↓ download raw
{
  "finding_id": "DF-4800",
  "verdict": "reproduced",
  "impact": "dos",
  "confidence": "certain",
  "reproduce": {
    "build": "cc -O -o /tmp/racer /tmp/racer.c",
    "run": "guest with a second virtio disk: QEMU_EXTRA='-drive file=extra_async.qcow2,if=virtio,format=qcow2'; sh setup_async.sh && sh run.sh (2 racers x 150 VINUM_SETSTATE(object_up,blocksize=4096) ioctls + single-reviver finish + data-window compare)",
    "expected": "stock: 'RESULT: DATA WINDOWS DIFFER -- skipped-block corruption persisted', 152-153 corrupted 4k blocks of 1536 (3/3 runs), plexes both 'up', no errors logged. fixed (fix.diff interlock): second racer 'final error=16' (EBUSY) at ioctl 1, 'DATA WINDOWS IDENTICAL'."
  },
  "kernel_refs": [
    "sys/dev/raid/vinum/vinumrevive.c:89",
    "sys/dev/raid/vinum/vinumrevive.c:187",
    "sys/dev/raid/vinum/vinumrevive.c:190",
    "sys/dev/raid/vinum/vinumstate.c:880",
    "sys/dev/raid/vinum/vinumioctl.c:230"
  ],
  "artifacts": [
    "setup_async.sh", "setup_concurrent.sh", "racer.c", "run.sh",
    "run.log", "run.2.log", "run.3.log",
    "fix.diff", "fix_run.log", "env.txt",
    "README.md", "VERDICT.md", "verdict.json", "manifest.json"
  ]
}