---
id: CVE-2026-89570
title: 'cxl/mce: Make the MCE notifier per-region'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  cxl/mce: Make the MCE notifier per-region

  Flavien Solt reported lifetime issues with the CXL MCE notifier, which
  can lead to NULL dereferences and use-after-free in th…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
cwe:
  - CWE-476
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 516e5bd0b6bf4ae1ad072df637b428a737c3c870 <
    5563db13c9528a56c7161260ec75ec8690dc5608
  - >-
    Linux >= 516e5bd0b6bf4ae1ad072df637b428a737c3c870 <
    491d8c9ac98d55073bda778f88a5248d4cce3fa0
  - >-
    Linux >= 516e5bd0b6bf4ae1ad072df637b428a737c3c870 <
    775d0f4558f4cec0ee0c8966595d1add1791f36e
  - Linux 6.15
published: '2026-09-11'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T08:49:03.602Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-89570'
references:
  - url: 'https://git.kernel.org/stable/c/5563db13c9528a56c7161260ec75ec8690dc5608'
  - url: 'https://git.kernel.org/stable/c/491d8c9ac98d55073bda778f88a5248d4cce3fa0'
  - url: 'https://git.kernel.org/stable/c/775d0f4558f4cec0ee0c8966595d1add1791f36e'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89570.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-89570'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2532510'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-89570'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89570'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89570.mbox
tags:
  - cve.org
  - csaf
  - vex
  - red-hat
epss: 0.00168
epssPercentile: 0.06143
scores:
  cna: 7.8
  vendor: 7
ingestedAt: '2026-09-14T15:23:07.474Z'
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

cxl/mce: Make the MCE notifier per-region

Flavien Solt reported lifetime issues with the CXL MCE notifier, which
can lead to NULL dereferences and use-after-free in the MCE handler.
The notifier was registered per memory device and stored in 'struct
cxl_memdev_state', even though it only needs the region state (the
region's SPA range and its extended linear cache size).

Instead of keeping the memory device and endpoint alive, the correct fix
is to move the notifier into 'struct cxl_region' and register it from
cxl_region_probe() as it should be a per-region notifier. Setup the
registration to only happen for regions that have an extended linear
cache as that is the only current usage.

Remove cxl_port_get_spa_cache_alias() as it is now dead code.

[ dj: Update dev_warn() when notifier fails due to kconfig. (Ben) ]

## Affected

- `Linux >= 516e5bd0b6bf4ae1ad072df637b428a737c3c870 < 5563db13c9528a56c7161260ec75ec8690dc5608`
- `Linux >= 516e5bd0b6bf4ae1ad072df637b428a737c3c870 < 491d8c9ac98d55073bda778f88a5248d4cce3fa0`
- `Linux >= 516e5bd0b6bf4ae1ad072df637b428a737c3c870 < 775d0f4558f4cec0ee0c8966595d1add1791f36e`
- `Linux 6.15`

## Remediation

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

## Vendor advisories

- **Red Hat VEX** · Moderate · affected: Red Hat Enterprise Linux 10 · no fix planned: Red Hat Enterprise Linux 10 · updated 2026-09-15 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89570.json)
