wifi: rtw88: pci: fix resource leak on failed NAPI setup
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.12.109, 6.18.50, 7.2.4
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: wifi: rtw88: pci: fix resource leak on failed NAPI setup rtw_pci_probe() allocates PCI resources through rtw_pci_setup_resource() before it sets up NAPI. If rtw_pci_napi_init() fails, the error path jumps straight to err_pci_declaim and skips rtw_pci_destroy(), leaving the PCI resources allocated by rtw_pci_setup_resource() behind. Add a dedicated cleanup label for the NAPI setup failure path so probe destroys the PCI resources. The bug was first flagged by an experimental analysis tool we are developing for kernel memory-management bugs while analyzing current mainline kernels. The tool is still under development and is not yet publicly available. Manual inspection confirms that the bug is still present in v7.1-rc7. An x86_64 allyesconfig build showed no new warnings. As we do not have a suitable rtw88 PCI board to test with, no runtime testing was able to be performed.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From d0bcb10e7b94861c714ab1e62c98bf8abaa37527 · fixed in 481fff9bda01720c70b19fb260808145a3f21594; From d0bcb10e7b94861c714ab1e62c98bf8abaa37527 · fixed in 34a505071d1ffc5ebf3dc3cd16d2a12b044bcc84; From d0bcb10e7b94861c714ab1e62c98bf8abaa37527 · fixed in b1596e212ab1739930b25b9d3daf6b5cd307b537; From d0bcb10e7b94861c714ab1e62c98bf8abaa37527 · fixed in e779df4806cd29cbcca5c9dc0a1073662c76b889
- Linux Linux
6.11
- KernelLinux
From 6.11.0 · fixed in 6.12.109; From 6.13.0 · fixed in 6.18.50; From 6.19.0 · fixed in 7.2.4