โฌข DragonFlyBSD Kernel Audit
DF-0613 / fix_run.log
โ† back to finding โ†“ download raw
=== AFTER test: EBUSY fix applied (constructor fix + EBUSY fix) ===
Kernel: DragonFly 6.5-DEVELOPMENT #0: Fri Jul  3 17:30:11 UTC 2026 (noinv-installed, INVARIANTS OFF)
Module: ng_iface_after.ko (SHA256: d091a8d2d111d32a3516ae669d49e64962e5d4ba0d3539a36e51f91599608939)

--- Run 1 ---
=== BEFORE vmstat ===
(empty โ€” no netgraph allocations yet)
=== RUN ===
[+] Opened NG_CONTROL socket fd=3
[+] Created ng_iface peer node (hook leak -> inet)
[+] Interface name: ng0
[+] Brought ng0 UP
[*] Sending 2000 NGM_IFACE_POINT2POINT messages (arglen=0)...
[*] Expected leak: ~104000 bytes (2000 * (52 + 0))
[*] Check 'vmstat -m | grep Netgraph' before/after
    ... 500/2000 sent
    ... 1000/2000 sent
    ... 1500/2000 sent
    ... 2000/2000 sent
[+] Done: sent 2000 messages
[+] Each message leaked ~52 bytes (sizeof(ng_mesg) + arglen=0)
[+] Total leaked: ~104000 bytes
[*] Run 'vmstat -m | grep -i netgraph' to confirm M_NETGRAPH growth
RUN_RC=0
=== AFTER vmstat ===
           netgraph       5   1.11K       0    390M    5.88K

  โ†’ M_NETGRAPH stayed at 1.11K (5 allocs) โ€” NO LEAK

--- Run 2 (determinism check) ---
=== RUN 2 (determinism) ===
[+] Opened NG_CONTROL socket fd=3
[+] Created ng_iface peer node (hook leak -> inet)
[+] Interface name: ng1
[+] Brought ng1 UP
[*] Sending 2000 NGM_IFACE_POINT2POINT messages (arglen=0)...
    ... 500/2000 sent
    ... 1000/2000 sent
    ... 1500/2000 sent
    ... 2000/2000 sent
[+] Done: sent 2000 messages
RUN_RC=0
=== AFTER RUN 2 vmstat ===
           netgraph       9   2.20K       0    390M    11.8K

  โ†’ M_NETGRAPH grew by only ~1K (new node overhead), NOT 112K โ€” NO LEAK