CVE-2022-49896
kernel: cxl/pmem: Fix cxl_pmem_region and cxl_memdev leak
Severity
LowRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · May 1, 2025
Updated · June 30, 2026
Description
In the Linux kernel, the following vulnerability has been resolved:
cxl/pmem: Fix cxl_pmem_region and cxl_memdev leak
When a cxl_nvdimm object goes through a ->remove() event (device physically removed, nvdimm-bridge disabled, or nvdimm device disabled), then any associated regions must also be disabled. As highlighted by the cxl-create-region.sh test [1], a single device may host multiple regions, but the driver was only tracking one region at a time. This leads to a situation where only the last enabled region per nvdimm device is cleaned up properly. Other regions are leaked, and this also causes cxl_memdev reference leaks.
Fix the tracking by allowing cxl_nvdimm objects to track multiple region associations.
Statement
This patch fixes memory leaks and reference leaks in the CXL pmem stack: a cxl_nvdimm could track only a single cxl_pmem_region, so removing a device after creating multiple regions per nvdimm leaked regions and cxl_memdev refs. The bug is triggered by CXL PMEM region lifecycle actions (e.g., scripts like cxl-create-region.sh) and device removal/disable events. Impact is kernel memory/resource exhaustion, not data corruption or privilege gain.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
No mitigation is specified in collected source.
CVSS / CWE
CVSS 3.1 · 2.3CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:L
CWE not specified