CVE-2023-54323
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
30/12/2025
Last modified:
30/12/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
cxl/pmem: Fix nvdimm registration races<br />
<br />
A loop of the form:<br />
<br />
while true; do modprobe cxl_pci; modprobe -r cxl_pci; done<br />
<br />
...fails with the following crash signature:<br />
<br />
BUG: kernel NULL pointer dereference, address: 0000000000000040<br />
[..]<br />
RIP: 0010:cxl_internal_send_cmd+0x5/0xb0 [cxl_core]<br />
[..]<br />
Call Trace:<br />
<br />
cxl_pmem_ctl+0x121/0x240 [cxl_pmem]<br />
nvdimm_get_config_data+0xd6/0x1a0 [libnvdimm]<br />
nd_label_data_init+0x135/0x7e0 [libnvdimm]<br />
nvdimm_probe+0xd6/0x1c0 [libnvdimm]<br />
nvdimm_bus_probe+0x7a/0x1e0 [libnvdimm]<br />
really_probe+0xde/0x380<br />
__driver_probe_device+0x78/0x170<br />
driver_probe_device+0x1f/0x90<br />
__device_attach_driver+0x85/0x110<br />
bus_for_each_drv+0x7d/0xc0<br />
__device_attach+0xb4/0x1e0<br />
bus_probe_device+0x9f/0xc0<br />
device_add+0x445/0x9c0<br />
nd_async_device_register+0xe/0x40 [libnvdimm]<br />
async_run_entry_fn+0x30/0x130<br />
<br />
...namely that the bottom half of async nvdimm device registration runs<br />
after the CXL has already torn down the context that cxl_pmem_ctl()<br />
needs. Unlike the ACPI NFIT case that benefits from launching multiple<br />
nvdimm device registrations in parallel from those listed in the table,<br />
CXL is already marked PROBE_PREFER_ASYNCHRONOUS. So provide for a<br />
synchronous registration path to preclude this scenario.



