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.
Product status
04ad63f086d1a9649b8b082748cbc7a570ade461 (git) before f43b6bfdbab78606735ba81185cf0602b81e40b6
04ad63f086d1a9649b8b082748cbc7a570ade461 (git) before 4d07ae22e79ebc2d7528bbc69daa53b86981cb3a
6.0
Any version before 6.0
6.0.8 (semver)
6.1 (original_commit_for_fix)
References
git.kernel.org/...c/f43b6bfdbab78606735ba81185cf0602b81e40b6
git.kernel.org/...c/4d07ae22e79ebc2d7528bbc69daa53b86981cb3a