---
id: CVE-2026-89972
title: |-
  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->s…
summary: |-
  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->s…
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= ed754e5deeb17f4e675c84e4b6c640cc7344e498 <
    0d4735418512ef825176726eaaa8bd6a35f6b46d
  - >-
    Linux >= ed754e5deeb17f4e675c84e4b6c640cc7344e498 <
    d663944dbad81bb0e3635d7090db4713e6300858
  - >-
    Linux >= ed754e5deeb17f4e675c84e4b6c640cc7344e498 <
    76023560d60f10b4f808941163aa2975f1631683
  - >-
    Linux >= ed754e5deeb17f4e675c84e4b6c640cc7344e498 <
    ef248d5de4469fb6bbaf8dbe0c4c47800080d648
  - Linux 4.15
published: '2026-09-16'
updated: '2026-10-03'
sourceUpdated: '2026-10-03T11:17:45.160'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89972'
references:
  - url: 'https://git.kernel.org/stable/c/0d4735418512ef825176726eaaa8bd6a35f6b46d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/76023560d60f10b4f808941163aa2975f1631683'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d663944dbad81bb0e3635d7090db4713e6300858'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/ef248d5de4469fb6bbaf8dbe0c4c47800080d648'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89972.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-89972'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2535140'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-89972'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89972'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89972.mbox
  - url: 'https://access.redhat.com/errata/RHSA-2026:75747'
  - url: 'https://access.redhat.com/errata/RHSA-2026:75746'
  - url: 'https://git.kernel.org/stable/c/3868476cd39161f18720582df17a1b621e805b5d'
  - url: 'https://access.redhat.com/errata/RHSA-2026:76738'
  - url: 'https://access.redhat.com/errata/RHSA-2026:76739'
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
  - score-dispute
epss: 0.00635
epssPercentile: 0.50213
ingestedAt: '2026-09-16T10:53:53.956Z'
patched:
  - enterprise_linux_baseos_v_8
  - enterprise_linux_crb_v_8
  - enterprise_linux_nfv_v_8
  - enterprise_linux_rt_v_8
cwe:
  - CWE-366
scores:
  nvd: 9.8
  vendor: 7.8
  cna: 9.8
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **RHSA-2026:75747** · Red Hat · fixed in: Red Hat Enterprise Linux BaseOS (v. 8), Red Hat Enterprise Linux CRB (v. 8) · released 2026-10-05 · [advisory](https://access.redhat.com/errata/RHSA-2026:75747)
- **RHSA-2026:75746** · Red Hat · fixed in: Red Hat Enterprise Linux NFV (v. 8), Red Hat Enterprise Linux RT (v. 8) · released 2026-10-05 · [advisory](https://access.redhat.com/errata/RHSA-2026:75746)
- **Red Hat VEX** · Important · affected: Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · no fix planned: Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · updated 2026-10-26 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89972.json)
- **RHSA-2026:76738** · Red Hat · fixed in: 10Base-SMTV, Red Hat Enterprise Linux AppStream (v. 10), Red Hat Enterprise Linux BaseOS (v. 10), Red Hat Enterprise Linux CodeReady Linux Builder (v. 10), Red Hat Enterprise Linux Hidden (v. 10), Red Hat Enterprise Linux Real Time for NFV (v. 10), … · released 2026-10-08 · [advisory](https://access.redhat.com/errata/RHSA-2026:76738)
- **RHSA-2026:76739** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream (v. 9), Red Hat Enterprise Linux BaseOS (v. 9), Red Hat Enterprise Linux CodeReady Linux Builder (v. 9), Red Hat Enterprise Linux Real Time for NFV (v. 9), Red Hat Enterprise Linux Real Time (v. 9) · released 2026-10-08 · [advisory](https://access.redhat.com/errata/RHSA-2026:76739)
