DF-3548 / verdict.json
{ "finding_id": "DF-3548", "status": "untested", "reproduced": 0, "impact": "none", "confidence": "certain", "verdict": "SKIPPED per contract (Low-severity correctness/hardening finding). Certain by source reading: ngdread checks IF_DEQUEUE (ng_device.c:419) before arming NGDF_RWAIT (:423-425), so a producer enqueueing at :277 and checking the flag at :280 in that window never wakes the reader โ read(2) stalls until the next packet or a signal. Reader-side stall only, no memory-safety impact; additionally the file is unbuildable dead code (see DF-3547), so no runtime verification is possible or meaningful.", "exploit_chain": "", "evidence": "README.md path:line chain; ../DF-3547/build.log (file rot)", "kernel_refs": ["sys/netgraph7/ng_device.c:418", "sys/netgraph7/ng_device.c:423", "sys/netgraph7/ng_device.c:277", "sys/netgraph7/ng_device.c:280"], "poc_changes": "no PoC authored (skipped)", "attempts": 0, "guest_uname": "DragonFly dfbsd 6.5-DEVELOPMENT #0: Thu Jul 2 06:02:54 UTC 2026 (X86_64_GENERIC) x86_64", "runtime_sec": 0, "guest_dirty": 0, "build_cmd": "", "run_cmd": "", "code_hash": "", "notes": "Phase V skipped: Low severity + dead code", "recommended_fix": "Re-check the queue atomically with setting NGDF_RWAIT (hold the readq lock across check+flag, or re-dequeue under ngd_mtx before msleep) โ see README.md sketch.", "fix_status": "not_testable", "fix_baseline_reproduced": 0, "fix_patched_reproduced": 0, "fix_verdict": "not_applicable โ skipped Low finding in non-compilable dead code", "fix_evidence": "n/a" } |