{
  "finding_id": "DF-3474",
  "verdict": "reproduced",
  "impact": "dos",
  "reproduce": {
    "build": "cd /usr/src/sys/netgraph7/netgraph && make obj && make; cd /usr/src/sys/netgraph7/socket && make obj && make; cc -O2 -Wall -o /root/trigger trigger.c",
    "run": "kldload /root/ng7/netgraph.ko; kldload /root/ng7/ng_socket.ko; /root/trigger good 250000 (no growth); /root/trigger bad 50000 (leak -> objcache-exhausted wedge)",
    "expected": "GOOD: 250k ok, free pages unchanged. BAD: ENOENT per send, ~4KB leaked per send, 'Warning: objcache(netgraph) exhausted on cpu0!' on console within ~4096+ sends, guest wedges permanently (vm.sh status down)."
  },
  "kernel_refs": [
    "sys/netgraph7/netgraph/ng_base.c:3062",
    "sys/netgraph7/netgraph/ng_base.c:3094",
    "sys/netgraph7/netgraph/ng_base.c:3117",
    "sys/netgraph7/netgraph/netgraph.h:816",
    "sys/netgraph7/netgraph/ng_base.c:2772",
    "sys/kern/kern_objcache.c:547"
  ],
  "artifacts": [
    "README.md",
    "VERDICT.md",
    "trigger.c",
    "build.sh",
    "run.sh",
    "run.log",
    "run.2.log",
    "wedge_serial.log",
    "fix_run.log",
    "fix.diff",
    "verdict.json",
    "manifest.json"
  ]
}
