CVE-2024-26762

See a problem?
Source
https://nvd.nist.gov/vuln/detail/CVE-2024-26762
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-26762.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2024-26762
Related
Published
2024-04-03T17:15:52Z
Modified
2024-09-18T03:26:03.342049Z
Summary
[none]
Details

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

cxl/pci: Skip to handle RAS errors if CXL.mem device is detached

The PCI AER model is an awkward fit for CXL error handling. While the expectation is that a PCI device can escalate to link reset to recover from an AER event, the same reset on CXL amounts to a surprise memory hotplug of massive amounts of memory.

At present, the CXL error handler attempts some optimistic error handling to unbind the device from the cxl_mem driver after reaping some RAS register values. This results in a "hopeful" attempt to unplug the memory, but there is no guarantee that will succeed.

A subsequent AER notification after the memdev unbind event can no longer assume the registers are mapped. Check for memdev bind before reaping status register values to avoid crashes of the form:

BUG: unable to handle page fault for address: ffa00000195e9100 #PF: supervisor read access in kernel mode #PF: errorcode(0x0000) - not-present page [...] RIP: 0010:cxlhandleras+0x30/0x110 [cxlcore] [...] Call Trace: <TASK> ? _die+0x24/0x70 ? pagefaultoops+0x82/0x160 ? kernelmodefixuporoops+0x84/0x110 ? excpagefault+0x113/0x170 ? asmexcpagefault+0x26/0x30 ? _pfxdpcresetlink+0x10/0x10 ? _cxlhandleras+0x30/0x110 [cxlcore] ? findcxlport+0x59/0x80 [cxlcore] cxlhandlerpras+0xbc/0xd0 [cxlcore] cxlerrordetected+0x6c/0xf0 [cxlcore] reporterrordetected+0xc7/0x1c0 pciwalkbus+0x73/0x90 pciedo_recovery+0x23f/0x330

Longer term, the unbind and PCIERSRESULTDISCONNECT behavior might need to be replaced with a new PCIERSRESULTPANIC.

References

Affected packages

Debian:13 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
6.7.7-1

Affected versions

6.*

6.1.27-1
6.1.37-1
6.1.38-1
6.1.38-2~bpo11+1
6.1.38-2
6.1.38-3
6.1.38-4~bpo11+1
6.1.38-4
6.1.52-1
6.1.55-1~bpo11+1
6.1.55-1
6.1.64-1
6.1.66-1
6.1.67-1
6.1.69-1~bpo11+1
6.1.69-1
6.1.76-1~bpo11+1
6.1.76-1
6.1.82-1
6.1.85-1
6.1.90-1~bpo11+1
6.1.90-1
6.1.94-1~bpo11+1
6.1.94-1
6.1.98-1
6.1.99-1
6.1.106-1
6.1.106-2
6.1.106-3
6.3.1-1~exp1
6.3.2-1~exp1
6.3.4-1~exp1
6.3.5-1~exp1
6.3.7-1~bpo12+1
6.3.7-1
6.3.11-1
6.4~rc6-1~exp1
6.4~rc7-1~exp1
6.4.1-1~exp1
6.4.4-1~bpo12+1
6.4.4-1
6.4.4-2
6.4.4-3~bpo12+1
6.4.4-3
6.4.11-1
6.4.13-1
6.5~rc4-1~exp1
6.5~rc6-1~exp1
6.5~rc7-1~exp1
6.5.1-1~exp1
6.5.3-1~bpo12+1
6.5.3-1
6.5.6-1
6.5.8-1
6.5.10-1~bpo12+1
6.5.10-1
6.5.13-1
6.6.3-1~exp1
6.6.4-1~exp1
6.6.7-1~exp1
6.6.8-1
6.6.9-1
6.6.11-1
6.6.13-1~bpo12+1
6.6.13-1
6.6.15-1
6.6.15-2
6.7-1~exp1
6.7.1-1~exp1
6.7.4-1~exp1

Ecosystem specific

{
    "urgency": "not yet assigned"
}