Linux · Linux Kernel · CVE-2022-48985
**Name of the Vulnerable Software and Affected Versions**
Linux kernel (affected versions not specified)
**Description**
The issue is related to a race condition on the per-CQ variable `napi work done` in the Linux kernel's net component. After calling `napi complete done()`, another CPU can start the napi thread and access the `cq->work done` variable, potentially causing memory corruption and panic if the value is set to >= budget. The estimated number of potentially affected devices worldwide is not available. There is no information about real-world incidents where this issue was exploited.
Technical details about exploitation include:
- The `napi complete done()` function is involved in the issue.
- The `cq->work done` variable is accessed by multiple threads, leading to a race condition.
- The `busy poll` feature can trigger the issue.
**Recommendations**
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`.
At the moment, there is no information about a newer version that contains a fix for this vulnerability.