What’s Vulnerable › Vulnerabilities
CVE-2022-48985: net: mana: Fix race on per-CQ variable napi work_done
- Severity: medium (CVSS 4.7 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2024-10-21 · updated 2026-08-04
Description
In the Linux kernel, the following vulnerability has been resolved: net: mana: Fix race on per-CQ variable napi work_done After calling napi_complete_done(), the NAPIF_STATE_SCHED bit may be cleared, and another CPU can start napi thread and access per-CQ variable, cq->work_done. If the other thread (for example, from busy_poll) sets it to a value >= budget, this thread will continue to run when it should stop, and cause memory corruption and panic. To fix this issue, save the per-CQ work_done variable in a local variable before napi_complete_done(), so it won't be corrupted by a possible concurrent thread after napi_complete_done(). Also, add a flag bit to advertise to the NIC firmware: the NAPI work_done variable race is fixed, so the driver is able to reliably support features like busy_poll.
Affected products
- Linux kernel: from 5.15 before 5.15.83; from 5.16 before 6.0.13; 6.1-rc1, 6.1-rc2, 6.1-rc3, 6.1-rc4, 6.1-rc5, 6.1-rc6 (+2) — fixed in 5.15.83, 6.0.13
How to fix
Upgrade to a fixed version: Linux kernel 5.15.83, 6.0.13. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/18010ff776fa42340efc428b3ea6d19b3e7c7b21
- https://git.kernel.org/stable/c/6740d8572ccd1bca50d8a1ca2bedc333f50ed5f3
- https://git.kernel.org/stable/c/fe50a9bbeb1f042e756c5cfa7708112c944368de
Get alerted when CVE-2022-48985 or the next vulnerability affects your stack