{"id":"CVE-2024-41085","revision":"375dc0f46d4d4ce4954e8414e40e65dd","records":[{"revision":"375dc0f46d4d4ce4954e8414e40e65dd","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2024-41085","aliases":[],"title":"cxl/mem: Fix no cxl_nvd during pmem region auto-assembling","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ncxl/mem: Fix no cxl_nvd during pmem region auto-assembling\n\nWhen CXL subsystem is auto-assembling a pmem region during cxl\nendpoint port probing, always hit below calltrace.\n\n BUG: kernel NULL pointer dereference, address: 0000000000000078\n #PF: supervisor read access in kernel mode\n #PF: error_code(0x0000) - not-present page\n RIP: 0010:cxl_pmem_region_probe+0x22e/0x360 [cxl_pmem]\n Call Trace:\n  <TASK>\n  ? __die+0x24/0x70\n  ? page_fault_oops+0x82/0x160\n  ? do_user_addr_fault+0x65/0x6b0\n  ? exc_page_fault+0x7d/0x170\n  ? asm_exc_page_fault+0x26/0x30\n  ? cxl_pmem_region_probe+0x22e/0x360 [cxl_pmem]\n  ? cxl_pmem_region_probe+0x1ac/0x360 [cxl_pmem]\n  cxl_bus_probe+0x1b/0x60 [cxl_core]\n  really_probe+0x173/0x410\n  ? __pfx___device_attach_driver+0x10/0x10\n  __driver_probe_device+0x80/0x170\n  driver_probe_device+0x1e/0x90\n  __device_attach_driver+0x90/0x120\n  bus_for_each_drv+0x84/0xe0\n  __device_attach+0xbc/0x1f0\n  bus_probe_device+0x90/0xa0\n  device_add+0x51c/0x710\n  devm_cxl_add_pmem_region+0x1b5/0x380 [cxl_core]\n  cxl_bus_probe+0x1b/0x60 [cxl_core]\n\nThe cxl_nvd of the memdev needs to be available during the pmem region\nprobe. Currently the cxl_nvd is registered after the endpoint port probe.\nThe endpoint probe, in the case of autoassembly of regions, can cause a\npmem region probe requiring the not yet available cxl_nvd. Adjust the\nsequence so this dependency is met.\n\nThis requires adding a port parameter to cxl_find_nvdimm_bridge() that\ncan be used to query the ancestor root port. The endpoint port is not\nyet available, but will share a common ancestor with its parent, so\nstart the query from there instead.","state":0,"publishedAt":"2024-07-29T15:48:01.267+00:00","modifiedAt":"2026-10-03T10:55:13.057+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/cxl/core/pmem.c\",\n                        \"drivers/cxl/core/region.c\",\n                        \"drivers/cxl/cxl.h\",\n                        \"drivers/cxl/mem.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"f17b558d6663101f876a1d9cbbad3de0c8f4ce4d\",\n                            \"lessThan\": \"bc262c6d32b6c1715e64220e2cbfa64a225cd266\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f17b558d6663101f876a1d9cbbad3de0c8f4ce4d\",\n                            \"lessThan\": \"1d064e4fbebcf5b18dc10c1f3973487eb163b600\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"f17b558d6663101f876a1d9cbbad3de0c8f4ce4d\",\n                            \"lessThan\": \"84ec985944ef34a34a1605b93ce401aa8737af96\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/cxl/core/pmem.c\",\n                        \"drivers/cxl/core/region.c\",\n                        \"drivers/cxl/cxl.h\",\n                        \"drivers/cxl/mem.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"6.2\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"6.2\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.158\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.9.8\",\n                            \"lessThanOrEqual\": \"6.9.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.10\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/bc262c6d32b6c1715e64220e2cbfa64a225cd266","https://git.kernel.org/stable/c/1d064e4fbebcf5b18dc10c1f3973487eb163b600","https://git.kernel.org/stable/c/84ec985944ef34a34a1605b93ce401aa8737af96"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2024-41085","license":"CVE Program Terms of Use","key":"cve-program:CVE-2024-41085","identifiers":["CVE-2024-41085"]},"retained":false,"historicalAffected":[]}],"coverage":[]}