DF-4502 / manifest.json
{ "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" ] } |