In the Linux kernel, the following vulnerability has been resolved:
cxl/region: Do not try to cleanup after cxl_region_setup_targets() fails
Commit 5e42bcbc3fef ("cxl/region: decrement ->nr_targets on error in cxl_region_attach()") tried to avoid 'eiw' initialization errors when ->nr_targets exceeded 16, by just decrementing ->nr_targets when cxl_region_setup_targets() failed.
Commit 86987c766276 ("cxl/region: Cleanup target list on attach error") extended that cleanup to also clear cxled->pos and p->targets[pos]. The initialization error was incidentally fixed separately by: Commit 8d4285425714 ("cxl/region: Fix port setup uninitialized variable warnings") which was merged a few days after 5e42bcbc3fef.
But now the original cleanup when cxl_region_setup_targets() fails prevents endpoint and switch decoder resources from being reused:
1) the cleanup does not set the decoder's region to NULL, which results in future dpa_size_store() calls returning -EBUSY 2) the decoder is not properly freed, which results in future commit errors associated with the upstream switch
Now that the initialization errors were fixed separately, the proper cleanup for this case is to just return immediately. Then the resources associated with this target get cleanup up as normal when the failed region is deleted.
The ->nr_targets decrement in the error case also helped prevent a p->targets[] array overflow, so add a new check to prevent against that overflow.
Tested by trying to create an invalid region for a 2 switch * 2 endpoint topology, and then following up with creating a valid region.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 30, 2024 | May 21, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 21, 2024 |
| Suse | — | Upgrade kernel-rt_debug-vdsoUpgrade kernel-debug-livepatch-develUpgrade kernel-rt-livepatch-develUpgrade ocfs2-kmp-64kbUpgrade kernel-syms-azureUpgrade dtb-freescaleUpgrade ocfs2-kmp-rtUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-azure-extraUpgrade kernel-default-optionalUpgrade kernel-azure-vdsoUpgrade reiserfs-kmp-defaultUpgrade kernel-rt_debugUpgrade dtb-amlogicUpgrade kernel-64kb-optionalUpgrade kernel-debugUpgrade kernel-debug-develUpgrade kernel-kvmsmallUpgrade kernel-azure-optionalUpgrade kernel-default-livepatchUpgrade dtb-appleUpgrade kselftests-kmp-64kbUpgrade kernel-develUpgrade dtb-broadcomUpgrade kernel-symsUpgrade kernel-devel-azureUpgrade dtb-apmUpgrade dtb-marvellUpgrade gfs2-kmp-64kbUpgrade kernel-64kb-develUpgrade kernel-64kbUpgrade dlm-kmp-64kbUpgrade kernel-default-extraUpgrade kernel-devel-rtUpgrade kernel-obs-qaUpgrade dlm-kmp-azureUpgrade dtb-lgUpgrade kernel-kvmsmall-develUpgrade kernel-azure-livepatch-develUpgrade kernel-macrosUpgrade kernel-syms-rtUpgrade cluster-md-kmp-defaultUpgrade dtb-xilinxUpgrade dtb-hisiliconUpgrade gfs2-kmp-rtUpgrade kernel-source-azureUpgrade dtb-amazonUpgrade kernel-sourceUpgrade kernel-default-develUpgrade dtb-amdUpgrade kernel-docs-htmlUpgrade kernel-default-vdsoUpgrade kernel-zfcpdumpUpgrade cluster-md-kmp-azureUpgrade dtb-exynosUpgrade kernel-64kb-livepatch-develUpgrade kernel-rt-develUpgrade dtb-mediatekUpgrade kernel-obs-buildUpgrade dtb-sprdUpgrade kernel-source-rtUpgrade kernel-azure-develUpgrade kernel-rt-extraUpgrade dtb-rockchipUpgrade dtb-qcomUpgrade kernel-default-livepatch-develUpgrade dtb-allwinnerUpgrade kselftests-kmp-defaultUpgrade kernel-defaultUpgrade kernel-rt_debug-develUpgrade dlm-kmp-rtUpgrade kernel-rt-optionalUpgrade kernel-default-base-rebuildUpgrade gfs2-kmp-defaultUpgrade dtb-alteraUpgrade kselftests-kmp-rtUpgrade kernel-source-vanillaUpgrade kernel-debug-vdsoUpgrade gfs2-kmp-azureUpgrade dtb-caviumUpgrade reiserfs-kmp-64kbUpgrade kernel-azureUpgrade cluster-md-kmp-64kbUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-kvmsmall-vdsoUpgrade ocfs2-kmp-defaultUpgrade kernel-rt-vdsoUpgrade cluster-md-kmp-rtUpgrade kernel-64kb-extraUpgrade dtb-socionextUpgrade kernel-rtUpgrade dtb-renesasUpgrade kernel-default-baseUpgrade dtb-armUpgrade reiserfs-kmp-azureUpgrade ocfs2-kmp-azureUpgrade reiserfs-kmp-rtUpgrade kselftests-kmp-azureUpgrade kernel-docsUpgrade dlm-kmp-defaultUpgrade dtb-nvidia | Aug 9, 2024 | May 21, 2024 |
| Ubuntu | — | Upgrade linux-nvidia-6.5 | Nov 19, 2024 | May 21, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 14, 2025 | May 21, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub