[PATCH v4 2/2] wifi: mt76: fix memory leak in USB TX path
Hans Buchheim
hbuchheim at gmail.com
Tue Sep 1 09:10:15 PDT 2026
I tested this series on another mt7921u USB device and confirmed that it fixes the zero-length WNM-frame skb/socket-charge leak.
Hardware and software:
x86_64
Netgear USB 0846:9065, mt7921u
Linux 7.1.9-arch1-2
wpa_supplicant 2.12
NetworkManager 1.58.1
firmware HW/SW 0x8a108a10, WM build 20260224110949
I applied both v4 changes without semantic modification to the exact Linux 7.1.9 source and built the mt76 module set against matching Arch headers.
The reproducer used a nonblocking AF_PACKET/SOCK_DGRAM ETH_P_IP socket to send zero-byte payloads to the associated AP and sampled SIOCOUTQ after each send. This produces the same packet shape as wpa_supplicant's synthetic WNM keep-alive without using the supplicant's socket.
With the stock modules, eight sends returned success and SIOCOUTQ increased monotonically by 960 bytes per frame:
960, 1920, 2880, 3840, 4800, 5760, 6720, 7680
With v4 applied, 500 identical frames paced 10 ms apart completed with SIOCOUTQ=0 on all 500 samples. Both the immediate and settled final values were zero. An additional unpaced burst created a temporary backlog that drained completely to zero in 1.35 seconds.
The link remained healthy after the test: 0% gateway and Internet packet loss, and no mt76 pending-TX timeout, firmware reset, warning, or error in the kernel log.
The reproducer and this report were prepared with assistance from OpenAI Codex using GPT-5.6 Sol at x-high reasoning effort. I reviewed the procedure and results and ran the tests on the hardware described above.
Tested-by: Hans Buchheim <hbuchheim at gmail.com>
More information about the Linux-mediatek
mailing list