DF-3827 / verdict.json
{ "finding_id": "DF-3827", "status": "not_reproduced", "reproduced": 0, "impact": "none", "confidence": "certain", "verdict": "Source-certain unchecked-return defect: in e1000_set_d0_lplu_state_82575() the read of IGP01E1000_PHY_PORT_CONFIG at e1000_82575.c:833 has its return value clobbered by the write-back at :836 without being tested, so a failed MDIO read commits the stale IGP02E1000_PHY_POWER_MGMT value (read at :821) into PORT_CONFIG on IGP03/IGP04 PHYs during LPLU transitions. The two sibling branches (:851-855, :864-868) check their reads, proving the omission. Kernel-path reproduction is impossible on this guest: no Intel 8257x/i350 device exists (env.txt), so the HAL/phy-ops path never runs; verdict not_reproduced with the defect certain from the source trace. Impact ceiling on real hardware: transient PHY port-config corruption/link drop, no kernel memory effect.", "exploit_chain": "", "evidence": "VERDICT.md (line-level trace of :821-837 with the sibling-branch contrast); env.txt (no igb device on guest); fix.diff", "kernel_refs": ["sys/dev/netif/ig_hal/e1000_82575.c:833", "sys/dev/netif/ig_hal/e1000_82575.c:836", "sys/dev/netif/ig_hal/e1000_82575.c:851"], "poc_changes": "No seed; no runnable PoC exists for this path without the target PHY hardware - pack documents the source proof and the fix.", "attempts": 1, "guest_uname": "DragonFly dfbsd 6.5-DEVELOPMENT #0: Thu Jul 2 06:02:54 UTC 2026 root@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC x86_64", "runtime_sec": 5, "guest_dirty": 0, "notes": "Checklist item (b) twin of the ich8lan unchecked-PHY-read family (DF-3643). All other read-then-use sites in the file were audited and check returns (see VERDICT.md negative-results list).", "recommended_fix": "Check ret_val of the IGP01E1000_PHY_PORT_CONFIG read before masking/writing it back, as the sibling branches already do.", "fix_status": "not_testable", "fix_baseline_reproduced": 0, "fix_patched_reproduced": 0, "fix_verdict": "fix.diff adds the missing check; no kernel build validation possible without the target device (guest has no Intel NIC), so hardware fix validation is not_testable here.", "fix_evidence": "fix.diff" } |