⬢ DragonFlyBSD Kernel Audit
DF-4203 / manifest.json
← back to finding ↓ download raw
{
  "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"
}