DF-4203 / manifest.json
{ "finding_id": "DF-4203", "verdict": "reproduced", "impact": "panic", "confidence": "likely", "reproduce": { "build": "guest: build the rig per ../DF-2420/build.sh (same df2420_rig.ko provides the 'arm' command)", "run": "race.sh: dd readers + camcontrol reset loop + pass read10 storm + sysctl dev.df2420rig=\"arm 0 45\"", "expected": "panic in <= 45s: ahci.c:3321 ccb->ccb_xa.state != ATA_S_PUT double-put (backtrace through ahci_cam_probe -> ahci_poll -> ahci_port_intr -> ahci_put_ccb x2), or ahci.c:3776 xa->state assertion in ahci_ata_cmd_done from the port thread; control run without arming stays clean" }, "kernel_refs": [ "sys/dev/disk/ahci/ahci_cam.c:989", "sys/dev/disk/ahci/ahci.c:940", "sys/dev/disk/ahci/ahci.c:3321", "sys/dev/disk/ahci/ahci.c:3776", "sys/dev/disk/ahci/ahci_pm.c:876" ], "artifacts": [ "race.sh", "run.log", "panic-race.txt", "panic-race2.txt", "env.txt", "fix.diff", "VERDICT.md", "manifest.json", "verdict.json" ], "note": "trigger state (at_probe=NEED_IDENT) injected via rig: only production producer is ahci_pm.c:876 (SATA PM hard reset), QEMU has no PM device model; everything downstream of the arming is production code on live hardware; identical load without arming is a clean control" } |