21/10/2024
19/12/2024
CVE-2022-48985: net: mana: Fix race on per-CQ variable napi work_done
First published: Mon Oct 21 2024(Updated: )
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.
Credit: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Software | Affected Version | How to fix |
---|
Linux Linux kernel | >=5.15<5.15.83 | |
Linux Linux kernel | >=5.16<6.0.13 | |
Linux Linux kernel | =6.1-rc1 | |
Linux Linux kernel | =6.1-rc2 | |
Linux Linux kernel | =6.1-rc3 | |
Linux Linux kernel | =6.1-rc4 | |
Linux Linux kernel | =6.1-rc5 | |
Linux Linux kernel | =6.1-rc6 | |
Linux Linux kernel | =6.1-rc7 | |
Linux Linux kernel | =6.1-rc8 | |
Never miss a vulnerability like this again
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
- agent/title
- agent/references
- agent/type
- agent/description
- agent/first-publish-date
- agent/author
- agent/event
- collector/nvd-api
- source/NVD
- agent/software-canonical-lookup
- agent/severity
- agent/remedy
- agent/softwarecombine
- agent/tags
- collector/mitre-cve
- source/MITRE
- agent/last-modified-date
- agent/source
- vendor/linux
- canonical/linux linux kernel
- version/linux linux kernel/5.15
- version/linux linux kernel/5.16
- version/linux linux kernel/6.1-rc1
- version/linux linux kernel/6.1-rc2
- version/linux linux kernel/6.1-rc3
- version/linux linux kernel/6.1-rc4
- version/linux linux kernel/6.1-rc5
- version/linux linux kernel/6.1-rc6
- version/linux linux kernel/6.1-rc7
- version/linux linux kernel/6.1-rc8
Contact
SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.coBy using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2025 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203