{
  "finding_id": "DF-5550",
  "title": "camq_resize() shrink-below-entries: heap OOB write + persistent queue corruption (DIAGNOSTIC-only guard)",
  "verdict": "reproduced",
  "impact": "memory corruption / local DoS (panic)",
  "reproduce": {
    "build": "sh build.sh   (in guest /root/df5550; builds camqtest.ko ptsim2.ko ptchurn)",
    "run": "kldload ./camqtest/camqtest.ko; sysctl debug.camqtest.run=1; sysctl debug.camqtest.run=2",
    "expected": "T1: entries=4 array_size=3 no panic; T2: 'CANARY(IES) OVERWRITTEN -> heap OOB WRITE proven'; T4: Fatal trap 12 in memmove from the resize bcopy"
  },
  "kernel_refs": [
    "sys/bus/cam/cam_queue.c:111-138",
    "sys/bus/cam/cam_queue.c:116-120",
    "sys/bus/cam/cam_queue.c:131-132",
    "sys/bus/cam/cam_periph.c:573-602",
    "sys/bus/cam/cam_xpt.c:1602-1617",
    "sys/bus/cam/cam_xpt.c:5210-5216"
  ],
  "artifacts": [
    "camqtest.c", "ptsim2.c", "ptchurn.c", "build.sh", "run.sh", "run-live.sh",
    "run.baseline.log", "panic.t4.baseline.txt", "panic.live.txt",
    "fix.diff", "fix_build.log", "fix_run.log",
    "README.md", "VERDICT.md", "manifest.json", "verdict.json", "env.txt"
  ]
}
