DF-4826 / verdict.json
{ "finding_id": "DF-4826", "status": "reproduced", "reproduced": 1, "impact": "none", "confidence": "certain", "verdict": "The dead-code claim reproduced on every axis: amdgpu_acp.c is absent from the amdgpu Makefile SRCS, its required shim headers (linux/pm_domain.h, sound/designware_i2s.h, sound/pcm.h) do not exist anywhere in sys/dev/drm/include, CONFIG_DRM_AMD_ACP is never defined (so adev->acp and the vi.c acp_ip_block registrations are compiled out), no mfd_*/pm_genpd_*/bus_find_device_by_name implementation exists in the tree, and the shipped guest /boot/kernel/amdgpu.ko contains zero ACP symbols (positive control amdgpu_acpi: 17 matches). Conclusion: DF-1907, DF-1908, DF-1909 and DF-1910 are latent vendored-source defects that cannot execute on DragonFly as shipped; they should be re-triaged as deferred/latent rather than live Medium/Low findings.", "exploit_chain": "", "evidence": "findings/poc/DF-4826/run.log \u2014 all five verdict inputs: [1] Makefile grep amdgpu_acp.c -> none (amdgpu_acpi.c:168 positive control), [2] pm_domain.h/designware_i2s.h/pcm.h ABSENT, [3] CONFIG_DRM_AMD_ACP zero definitions / five ifdef consumers, [4] zero shim implementations for mfd_add_hotplug_devices/mfd_remove_devices/pm_genpd_init/pm_genpd_add_device/bus_find_device_by_name, [5] guest nm amdgpu.ko ACP symbol count 0 vs acpi count 17", "kernel_refs": [ "sys/dev/drm/amd/amdgpu/Makefile:53-347", "sys/dev/drm/amd/amdgpu/amdgpu_acp.c:26", "sys/dev/drm/amd/amdgpu/amdgpu_acp.c:29", "sys/dev/drm/amd/amdgpu/amdgpu.h:823", "sys/dev/drm/amd/amdgpu/vi.c:74", "sys/dev/drm/amd/amdgpu/vi.c:1685", "sys/dev/drm/amd/amdgpu/vi.c:1706", "sys/dev/drm/amd/powerplay/hwmgr/smu8_hwmgr.c:667", "sys/dev/drm/include/linux/platform_device.h:36", "sys/dev/drm/include/linux/mfd/core.h:31" ], "poc_changes": "n/a \u2014 pass-2 originated; PoC authored fresh (check_dead.sh), no seed existed", "attempts": 1, "guest_uname": "DragonFly dfbsd 6.5-DEVELOPMENT DragonFly v6.5.0.1712.g89e6a-DEVELOPMENT #1: Mon Jun 29 14:18:01 UTC 2026 root@ephemeral-5c2002c44b6c:/usr/obj/usr/src/sys/X86_64_GENERIC x86_64", "runtime_sec": 12, "guest_dirty": 0, "build_cmd": "sh findings/poc/DF-4826/build.sh (include-resolution gate; no host compiler \u2014 fact proven by header absence)", "run_cmd": "sh findings/poc/DF-4826/run.sh", "code_hash": "70a8b703d1ab13aa6aae9c496ccaf18a9915f2e6e8da3d7c21fbcd74cb1bcc1c", "notes": "Guest left up and clean (read-only checks: grep/find/nm only). No fix.diff: reachability refutation, nothing to patch in sys/ \u2014 the code is not built. Additional latent error-path defects documented in VERDICT.md (post-pm_genpd_init kcalloc-failure dangling acp_cell/acp_res in hw_fini; -ETIMEDOUT paths skipping teardown) \u2014 all unreachable for the same dead-TU reason, not filed separately. Wait loops proven bounded (0xFF x udelay(100)), killing the infinite-wait hypothesis.", "recommended_fix": "Re-triage DF-1907/DF-1908/DF-1909/DF-1910 as deferred/latent (dead code on DFly); optionally remove amdgpu_acp.c from the vendored tree or finish the mfd/genpd shims before ever wiring CONFIG_DRM_AMD_ACP on.", "fix_status": "not_testable", "fix_baseline_reproduced": 1, "fix_patched_reproduced": null, "fix_verdict": "not_applicable \u2014 no kernel code change involved; the finding is a build-membership refutation, so there is no patched-kernel behavior to compare. Mapped to not_testable for the fix_results CHECK constraint.", "fix_evidence": "n/a (no fix.diff; see VERDICT.md Fix section)" } |