{
  "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"
}
