DF-3396 / verdict.json
{ "finding_id": "DF-3396", "status": "build_failed", "reproduced": 0, "impact": "none", "confidence": "likely", "verdict": "Latent (analysis-verified): netmap_mem_rings_creates cleanup path (netmap_mem2.c:987) frees ring objects but leaks every already-allocated packet buffer referenced by those rings slots, unlike netmap_mem_rings_delete (:1005-1011) which frees slot buffers first; repeated failing ring creations drain the global buffer pool to permanent ENOMEM. PoC impossible on this tree: the netmap module itself does not compile (ifnet if_unused7 mismatch, netmap_build.log, EXIT=1).", "exploit_chain": "", "evidence": [ "VERDICT.md \u2014 cleanup-vs-delete asymmetry at netmap_mem2.c:987 vs :1005-1011", "netmap_build.log \u2014 module build failure on this tree (15 errors)" ], "kernel_refs": [ "sys/net/netmap/netmap_mem2.c:987", "sys/net/netmap/netmap_mem2.c:892", "sys/net/netmap/netmap_mem2.c:1005", "sys/net/netmap/netmap_mem2.c:1011" ], "poc_changes": "No executable PoC possible; analysis-only finding with concrete build-failure evidence.", "attempts": 0, "guest_uname": "DragonFly dfbsd 6.5-DEVELOPMENT DragonFly 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": 95, "guest_dirty": 1, "build_cmd": "cd /usr/src/sys/net/netmap && make", "run_cmd": "n/a", "code_hash": "", "notes": "Same latent status as pass-1 DF-0546..DF-0550 (module predates current ifnet layout). Guest left with /tmp build artifacts only.", "recommended_fix": "In the cleanup path, free each allocated rings slot buffers (netmap_free_buf) before netmap_free_rings, mirroring netmap_mem_rings_delete.", "fix_status": "build_blocked", "fix_kernel_uname": "", "fix_baseline_reproduced": 0, "fix_patched_reproduced": 0, "fix_verdict": "fix.diff authored; cannot be built/validated because the netmap module itself does not compile on this tree.", "fix_evidence": "fix.diff" } |