{
  "finding_id": "DF-4502",
  "title": "ahci_pm_softreset leaks the error-CCB reservation on final-retry second-FIS failure (stuck AP_F_ERR_CCB_RESERVED -> port wedge / KKASSERT panic)",
  "verdict": "inconclusive",
  "impact": "none (expected: panic / port-wedge DoS on PM hardware; guest has no AHCI controller and QEMU has no port-multiplier emulation)",
  "confidence": "certain",
  "reproduce": {
    "build": "sh build.sh   (cc -O2 -Wall -o trigger_DF4502 trigger_DF4502.c)",
    "run": "sh run.sh <cam-bus>   (root; 64 x camcontrol rescan)",
    "expected": "panic: assertion \"(ap->ap_flags & AP_F_ERR_CCB_RESERVED) == 0\" failed in ahci_get_err_ccb — AFTER the port was primed by a PM softreset double second-FIS failure"
  },
  "kernel_refs": [
    "sys/dev/disk/ahci/ahci_pm.c:719",
    "sys/dev/disk/ahci/ahci_pm.c:752-767",
    "sys/dev/disk/ahci/ahci_pm.c:805-817",
    "sys/dev/disk/ahci/ahci_pm.c:862-877",
    "sys/dev/disk/ahci/ahci.c:3352-3353",
    "sys/dev/disk/ahci/ahci.c:3364",
    "sys/dev/disk/ahci/ahci.c:3407-3412",
    "sys/dev/disk/ahci/ahci.c:2319-2322",
    "sys/dev/disk/ahci/ahci.c:1710",
    "sys/dev/disk/ahci/ahci_cam.c:920-923",
    "sys/sys/systm.h:98-101",
    "sys/config/X86_64_GENERIC:56"
  ],
  "artifacts": [
    "README.md", "VERDICT.md", "trigger_DF4502.c", "build.sh", "run.sh",
    "build.log", "run.log", "env.txt", "fix.diff", "manifest.json", "verdict.json"
  ]
}
