DF-5255
640KB kernel heap leak per interface down/up cycle: urtwn_stop never frees rx/tx lists while urtwn_init unconditionally re-allocates (plus detach-side leak of queued TX mbufs)
Summary
init kmallocs 64x8KB + 8x16KB every !RUNNING->init transition but stop never frees the lists (only detach does) - every ifconfig down/up orphans 655,360 bytes of M_USBDEV heap; failed-init retries leak identically. Secondary: free_list frees dp->buf and drops dp->ni but never m_freem(dp->m) - TX frames stranded in sc_tx_pending leak their mbufs at detach. Deterministic, no race. free-lists-in-stop + m_freem-in-free_list fix.
Discussion (0)
PoC verification
Evidence pack
findings/poc/DF-5255 Β· 1 files| File | Type | Description | Size | |
|---|---|---|---|---|
| verdict.json | file | 990 B | view raw |
Fix verification
not_testablebaseline noβ patch + rebuild βpatched clean
per-fix-DF-5255
Confirmed kernel references
Detail
Evidence (decisive lines)
static trace in finding markdown
Verified recommended fix
see finding markdown
Verdict
untested (hardware-gated; static trace, deterministic leak logic / narrow race window)
No comments yet.