DF-4503 / manifest.json
{ "finding_id": "DF-4503", "title": "ahci_pm_read/ahci_pm_write recycle the ata_xfer while the command is still on the chip after a deferred timeout (FBSS PM port)", "verdict": "inconclusive", "impact": "none (expected: panic via ahci_ata_cmd_done KKASSERT, or cross-command CCB completion corruption, on FBSS PM hardware; guest has no AHCI controller and QEMU has no PM/FBS emulation)", "confidence": "likely", "reproduce": { "build": "sh build.sh (cc -O2 -Wall -o trigger_DF4503 trigger_DF4503.c)", "run": "./trigger_DF4503 /dev/da1 600 & ; while :; do camcontrol rescan <bus>; sleep 1; done", "expected": "\"Deferred timeout until its safe\" then panic: assertion \"xa->state != ATA_S_ONCHIP && xa->state != ATA_S_PUT\" failed in ahci_ata_cmd_done" }, "kernel_refs": [ "sys/dev/disk/ahci/ahci_pm.c:976-1001", "sys/dev/disk/ahci/ahci_pm.c:1013-1036", "sys/dev/disk/ahci/ahci.c:2137-2184", "sys/dev/disk/ahci/ahci.c:3316-3328", "sys/dev/disk/ahci/ahci.c:3749-3780", "sys/dev/disk/ahci/ahci.c:3811-3930", "sys/dev/disk/ahci/ahci.c:841", "sys/dev/disk/ahci/ahci.c:891", "sys/dev/disk/ahci/ahci.c:938", "sys/dev/disk/ahci/ahci.c:2339-2358", "sys/dev/disk/ahci/ahci.c:2424-2467" ], "artifacts": [ "README.md", "VERDICT.md", "trigger_DF4503.c", "build.sh", "run.sh", "build.log", "run.log", "env.txt", "fix.diff", "manifest.json", "verdict.json" ] } |