Executive brief
The Linux kernel's RTL8192DU Wi-Fi driver has a memory leak in its initialization routine that could accumulate over time or trigger on error conditions. When driver initialization encounters an error after allocating shared data structures, the allocated memory is not properly freed, potentially causing memory to be wasted or increasing system instability during repeated initialization attempts.
Technical details
A memory leak exists in the rtl92du_init_sw_vars() function in the RTL8192DU wireless driver. The vulnerability occurs because rtl92du_init_shared_data() allocates memory, but subsequent error paths in rtl92du_init_sw_vars() return without calling the corresponding cleanup function rtl92du_deinit_shared_data(). This affects error handling paths triggered when firmware buffer allocation (kmalloc) or firmware request operations fail. The fix adds a proper error path label that ensures rtl92du_deinit_shared_data() is invoked before returning error codes, guaranteeing cleanup of all allocated resources. Patches are available in the Linux kernel stable branches.
Affected products
- Linux Linux kernel multiple (fixed in stable branches)
Timeline
- 2026-09-11: disclosed: Published on NVD
- 2026-07-23: patched: Upstream patch by Abdun Nihaal
- 2026-09-07: patched: Included in stable kernel tree