CVE-2022-48985

net: mana: Fix race on per-CQ variable napi work_done

State
Published
Severity
9.8 Critical
Published
Oct 21, 2024
Updated
Aug 5, 2026
Reserved
Aug 22, 2024

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.19.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • e1b5683ff62e7b328317aec08869495992053e9d to before fe50a9bbeb1f042e756c5cfa7708112c944368deAffected
  • e1b5683ff62e7b328317aec08869495992053e9d to before 6740d8572ccd1bca50d8a1ca2bedc333f50ed5f3Affected
  • e1b5683ff62e7b328317aec08869495992053e9d to before 18010ff776fa42340efc428b3ea6d19b3e7c7b21Affected
LinuxLinux
  • 5.15Affected
  • before 5.15Not affected
  • 5.15.83 through 5.15.*Not affected
  • 6.0.13 through 6.0.*Not affected
  • 6.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.