⬢ DragonFlyBSD Kernel Audit
DF-2390 / verdict.json
← back to finding ↓ download raw
{
 "finding_id": "DF-2390",
 "status": "not_reproduced",
 "reproduced": 0,
 "impact": "none",
 "confidence": "certain",
 "verdict": "Unreachable through firmware on this ACPICA (20251212): a _CRS containing two dependent-function groups is rejected by ACPICAs own resource walk with AE_AML_INVALID_RESOURCE_TYPE before any DragonFly callback runs (acpi_resource.c:429 prints cant fetch resources, the pci_link attach fails with ENXIO, the machine boots normally). The two-walk disagreement in DragonFly code is real (acpi_count_irq_resources tolerates a second START_DEPENDENT via DPF_IGNORE at acpi_pci_link.c:180-186 while link_add_crs panics at :222-226) but can only be reached if ACPICA ever hands such a buffer over. Retained as defense-in-depth; fix.diff makes link_add_crs tolerate like the counter walk (compile-validated).",
 "exploit_chain": "",
 "evidence": "lnkx_boot.log (SSDT LNKX loaded; cant fetch resources for \\_SB_.LNKX - AE_AML_INVALID_RESOURCE_TYPE; no panic, boot completes)",
 "kernel_refs": [
  "sys/dev/acpica/acpi_pci_link.c:180",
  "sys/dev/acpica/acpi_pci_link.c:222",
  "sys/dev/acpica/acpi_pci_link.c:496",
  "sys/dev/acpica/acpi_resource.c:429"
 ],
 "poc_changes": "ssdt_lnkx.dsl with raw-byte double-DPF _CRS (iasl rejects the macro form) crafted for this batch",
 "attempts": 2,
 "guest_uname": "DragonFly dfbsd 6.5-DEVELOPMENT DragonFly 6.5-DEVELOPMENT #7: Sat Oct 24 00:08:04 UTC 2026     root@dfbsd:/usr/obj/usr/src/sys/ACHARNESS  x86_64",
 "runtime_sec": 400,
 "guest_dirty": 0,
 "runner": "df-bsd-reviewer",
 "build_cmd": "make -j5 nativekernel KERNCONF=ACHARNESS (see build.sh; stock-kernel findings need no build)",
 "run_cmd": "see run.sh",
 "code_hash": "cb21865e4336f2800be8cae82626093876efb27f589b4927a8ab27d7e83ed8bf",
 "notes": "",
 "recommended_fix": "see fix.diff",
 "fix_status": "compile_validated"
}