Description
In the Linux kernel, the following vulnerability has been resolved: wifi: rtlwifi: pci: fix possible use-after-free caused by unfinished irq_prepare_bcn_tasklet The irq_prepare_bcn_tasklet is initialized in rtl_pci_init() and scheduled when RTL_IMR_BCNINT interrupt is triggered by hardware. But it is never killed in rtl_pci_deinit(). When the rtlwifi card probe fails or is being detached, the ieee80211_hw is deallocated. However, irq_prepare_bcn_tasklet may still be running or pending, leading to use-after-free when the freed ieee80211_hw is accessed in _rtl_pci_prepare_bcn_tasklet(). Similar to irq_tasklet, add tasklet_kill() in rtl_pci_deinit() to ensure that irq_prepare_bcn_tasklet is properly terminated before the ieee80211_hw is released. The issue was identified through static analysis.
Affected products
- Linux / Linux0c8173385e549f95cd80c3fff5aab87b4f881d8d – ae10d4a1ab6bcaa1336abb171908a9a365761d3e
- Linux / Linux0c8173385e549f95cd80c3fff5aab87b4f881d8d – fac1079e0fdec6df6d7562c21941587236dc3def
- Linux / Linux0c8173385e549f95cd80c3fff5aab87b4f881d8d – e40873820c9d245ce482faa7ad514ebdb3b8d23d
- Linux / Linux0c8173385e549f95cd80c3fff5aab87b4f881d8d – 008c456b76e9070979bc0e763897a5d3b0fdd4dc
- Linux / Linux0c8173385e549f95cd80c3fff5aab87b4f881d8d – 7731b67bd59d1284d150cbe40a47e95a10613234
- Linux / Linux0c8173385e549f95cd80c3fff5aab87b4f881d8d – aa10a452e34810987fb9f4a047995b30003fb53f
- Linux / Linux0c8173385e549f95cd80c3fff5aab87b4f881d8d – 3c0e8a3179e6325a7dc6ce221aef0e03d854ab4b
- Linux / Linux0c8173385e549f95cd80c3fff5aab87b4f881d8d – 039cd522dc70151da13329a5e3ae19b1736f468a
- Linux / Linux2.6.38 – 2.6.38
- Linux / Linux0 – 2.6.38
- Linux / Linux5.10.258 – 5.10.*
- Linux / Linux5.15.209 – 5.15.*
- Linux / Linux6.1.175 – 6.1.*
- Linux / Linux6.6.141 – 6.6.*
- Linux / Linux6.12.91 – 6.12.*
- Linux / Linux6.18.33 – 6.18.*
- Linux / Linux7.0.10 – 7.0.*
- Linux / Linux7.1 – *
References
- MISChttps://git.kernel.org/stable/c/ae10d4a1ab6bcaa1336abb171908a9a365761d3e
- MISChttps://git.kernel.org/stable/c/fac1079e0fdec6df6d7562c21941587236dc3def
- MISChttps://git.kernel.org/stable/c/e40873820c9d245ce482faa7ad514ebdb3b8d23d
- MISChttps://git.kernel.org/stable/c/008c456b76e9070979bc0e763897a5d3b0fdd4dc
- MISChttps://git.kernel.org/stable/c/7731b67bd59d1284d150cbe40a47e95a10613234
- MISChttps://git.kernel.org/stable/c/aa10a452e34810987fb9f4a047995b30003fb53f
- MISChttps://git.kernel.org/stable/c/3c0e8a3179e6325a7dc6ce221aef0e03d854ab4b
- MISChttps://git.kernel.org/stable/c/039cd522dc70151da13329a5e3ae19b1736f468a