Overview
About vulnerability
In the Linux kernel, the following vulnerability has been resolved:
nvme: add missing SRCU grace period in error path
nvme_alloc_ns() error path at out_unlink_ns removes ns from the namespace head siblings list with list_del_rcu(&ns->siblings) but does not wait for SRCU readers before freeing the namespace struct. Multipath code iterates the head->list under srcu_read_lock() in nvme_find_path() and nvme_mpath_revalidate_paths(), so a concurrent reader can still hold a reference to ns when kfree(ns) runs.
The normal removal path in nvme_ns_remove() correctly calls synchronize_srcu(&ns->head->srcu) after list_del_rcu() to wait for in-progress readers. Add the same grace period in the error path.
Details
- Affected product:
- AlmaLinux 9.2 ESU , Amazon Linux 2 ELS , CentOS 8.4 ELS , CentOS 8.5 ELS , CentOS Stream 8 ELS , Debian 10 ELS , Debian 11 ELS , Oracle Linux 7 ELS , TuxCare 9.6 ESU , TuxCare 9.8 ESU , Ubuntu 16.04 ELS , Ubuntu 18.04 ELS , Ubuntu 20.04 ELS
- Affected packages:
- linux @ 5.10.259 (+12 more)
Fixes
KernelCare state
Live-patch status from KernelCare for each operating system.
| Operating system | Status | Covered kernels |
|---|---|---|
| AlmaLinux 8 | In Rollout |
139 kernels
|
| AlmaLinux 9 | Released |
139 kernels
|
| AlmaLinux 9.2 ESU | Planned | — |
| AlmaLinux 9.6 ESU | Planned | — |
| CentOS 8 | In Rollout |
33 kernels
|
| CloudLinux OS 7h | In Rollout |
120 kernels
|
| CloudLinux OS 8 | In Rollout |
115 kernels
|
| Debian 13 | In Rollout |
18 kernels
|
| Oracle Linux 8 | In Rollout |
154 kernels
|
| Oracle Linux 9 | Released |
138 kernels
|
| RHEL 8 | In Rollout |
155 kernels
|
| RHEL 9 | Released |
137 kernels
|
| Rocky Linux 8 | In Rollout |
115 kernels
|
| Rocky Linux 9 | Released |
114 kernels
|