⬢ DragonFlyBSD Kernel Audit
DF-3541 / run.log
← back to finding ↓ download raw
# DF-3541 baseline run (stock v1 netgraph.ko + ng_socket.ko from /boot/kernel,
# ng_eiface.ko rebuilt with DF-3486's unblock fix only), interface DOWN

$ netstat -m | head -3          # BEFORE
12/146632 mbufs in use (current/max):
256/33552 mbuf clusters in use (current/max):
0/8260 mbuf jumbo clusters in use (current/max)

$ /root/poc41/eiface_leak 500 2048      # root
eiface_leak: uid=0 count=500 buflen=2048
STEP node addr = [eileak]
STEP mkpeer eiface ok
STEP ifname=ngeth1
STEP first sendto errno=50 (Network is down)     <-- ng_eiface.c:514-515 path
STEP sent 500 x 2048 bytes
RESULT done

$ netstat -m | head -3          # AFTER
12/146632 mbufs in use (current/max):
756/33808 mbuf clusters in use (current/max)     <-- +500 clusters, 1:1 with packets
0/8260 mbuf jumbo clusters in use (current/max)
	768 mbufs and mbuf clusters allocated to data   (was 268: +500)

# CONTROL (same unfixed module, interface brought UP during the wait window):
#   clusters 756 -> 756 (ZERO growth; packets consumed by ether_input)
#   see ctrl section of VERDICT.md

# FIX run (m_freem(m) added before the ENETDOWN return), same DOWN test:
#   clusters 256 -> 256 (ZERO growth), ENETDOWN still returned -- see fix_run.log