{
  "finding": "DF-3584",
  "title": "isp_control() ISPCTL_RESET_DEV/ABORT_CMD index fcp->isp_dev_map[tgt] without validating tgt; caller packs bus<<16 so channel>0 BDR reads ~108 KB out of bounds",
  "verdict": "inconclusive",
  "impact": "none-observed (wild kernel read / panic on multi-channel hardware)",
  "reproduce": {
    "build": "mkdir -p dev/disk/isp && cp /usr/src/sys/dev/disk/isp/{isp_stds.h,ispmbox.h,ispreg.h,ispvar.h} dev/disk/isp/ && cc -Wall -I. -o trigger_df3584 trigger_df3584.c",
    "run": "./trigger_df3584",
    "expected": "FAULT at base+151608 — 108456 bytes past the 43152-byte 2-channel fcparam allocation"
  },
  "kernel_refs": [
    "sys/dev/disk/isp/isp.c:4509-4529",
    "sys/dev/disk/isp/isp.c:4617-4631",
    "sys/dev/disk/isp/isp.c:4247-4254",
    "sys/dev/disk/isp/isp_freebsd.c:4517-4523"
  ],
  "artifacts": [
    "trigger_df3584.c",
    "build.sh",
    "run.sh",
    "build.log",
    "run.log",
    "VERDICT.md",
    "verdict.json",
    "fix.diff",
    "manifest.json"
  ]
}
