cxl/mce: Make the MCE notifier per-region
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.18.51, 7.2.4
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
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 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) ]
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 516e5bd0b6bf4ae1ad072df637b428a737c3c870 · fixed in 5563db13c9528a56c7161260ec75ec8690dc5608; From 516e5bd0b6bf4ae1ad072df637b428a737c3c870 · fixed in 491d8c9ac98d55073bda778f88a5248d4cce3fa0; From 516e5bd0b6bf4ae1ad072df637b428a737c3c870 · fixed in 775d0f4558f4cec0ee0c8966595d1add1791f36e
- Linux Linux
6.15
- KernelLinux
From 6.15.0 · fixed in 6.18.51; From 6.19.0 · fixed in 7.2.4