In the Linux kernel, the following vulnerability has been resolved:
dm-raid456, md/raid456: fix a deadlock for dm-raid456 while io concurrent with reshape
For raid456, if reshape is still in progress, then IO across reshape position will wait for reshape to make progress. However, for dm-raid, in following cases reshape will never make progress hence IO will hang:
1) the array is read-only; 2) MD_RECOVERY_WAIT is set; 3) MD_RECOVERY_FROZEN is set;
After commit c467e97f079f ("md/raid6: use valid sector values to determine if an I/O should wait on the reshape") fix the problem that IO across reshape position doesn't wait for reshape, the dm-raid test shell/lvconvert-raid-reshape.sh start to hang:
[root@fedora ~]# cat /proc/979/stack [<0>] wait_woken+0x7d/0x90 [<0>] raid5_make_request+0x929/0x1d70 [raid456] [<0>] md_handle_request+0xc2/0x3b0 [md_mod] [<0>] raid_map+0x2c/0x50 [dm_raid] [<0>] __map_bio+0x251/0x380 [dm_mod] [<0>] dm_submit_bio+0x1f0/0x760 [dm_mod] [<0>] __submit_bio+0xc2/0x1c0 [<0>] submit_bio_noacct_nocheck+0x17f/0x450 [<0>] submit_bio_noacct+0x2bc/0x780 [<0>] submit_bio+0x70/0xc0 [<0>] mpage_readahead+0x169/0x1f0 [<0>] blkdev_readahead+0x18/0x30 [<0>] read_pages+0x7c/0x3b0 [<0>] page_cache_ra_unbounded+0x1ab/0x280 [<0>] force_page_cache_ra+0x9e/0x130 [<0>] page_cache_sync_ra+0x3b/0x110 [<0>] filemap_get_pages+0x143/0xa30 [<0>] filemap_read+0xdc/0x4b0 [<0>] blkdev_read_iter+0x75/0x200 [<0>] vfs_read+0x272/0x460 [<0>] ksys_read+0x7a/0x170 [<0>] __x64_sys_read+0x1c/0x30 [<0>] do_syscall_64+0xc6/0x230 [<0>] entry_SYSCALL_64_after_hwframe+0x6c/0x74
This is because reshape can't make progress.
For md/raid, the problem doesn't exist because register new sync_thread doesn't rely on the IO to be done any more:
1) If array is read-only, it can switch to read-write by ioctl/sysfs; 2) md/raid never set MD_RECOVERY_WAIT; 3) If MD_RECOVERY_FROZEN is set, mddev_suspend() doesn't hold 'reconfig_mutex', hence it can be cleared and reshape can continue by sysfs api 'sync_action'.
However, I'm not sure yet how to avoid the problem in dm-raid yet. This patch on the one hand make sure raid_message() can't change sync_thread() through raid_message() after presuspend(), on the other hand detect the above 3 cases before wait for IO do be done in dm_suspend(), and let dm-raid requeue those IO.
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 | May 15, 2025 | May 1, 2024 |
| Redhat_linux | — | No solution existsUpgrade kernel-rtUpgrade kernel | Dec 5, 2024 | May 1, 2024 |
| Suse | — | Upgrade dtb-hisiliconUpgrade cluster-md-kmp-64kbUpgrade ocfs2-kmp-azureUpgrade dtb-freescaleUpgrade reiserfs-kmp-defaultUpgrade gfs2-kmp-azureUpgrade gfs2-kmp-defaultUpgrade dtb-renesasUpgrade dtb-alteraUpgrade dtb-caviumUpgrade cluster-md-kmp-rtUpgrade kernel-64kb-develUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-rt-develUpgrade kernel-default-vdsoUpgrade kernel-rt_debug-develUpgrade kselftests-kmp-64kbUpgrade kselftests-kmp-rtUpgrade kernel-default-optionalUpgrade dtb-amdUpgrade kernel-64kb-extraUpgrade kernel-azure-optionalUpgrade kernel-default-livepatch-develUpgrade kernel-rt_debug-livepatch-develUpgrade ocfs2-kmp-defaultUpgrade kernel-debug-vdsoUpgrade dtb-mediatekUpgrade kernel-rt-extraUpgrade kernel-debugUpgrade dtb-nvidiaUpgrade kernel-defaultUpgrade ocfs2-kmp-64kbUpgrade kernel-debug-develUpgrade dtb-xilinxUpgrade kernel-develUpgrade kernel-devel-rtUpgrade dtb-allwinnerUpgrade dtb-sprdUpgrade reiserfs-kmp-azureUpgrade kselftests-kmp-azureUpgrade dlm-kmp-rtUpgrade kernel-source-vanillaUpgrade kernel-azureUpgrade dtb-appleUpgrade dlm-kmp-64kbUpgrade kernel-obs-buildUpgrade kernel-default-baseUpgrade kernel-64kb-optionalUpgrade reiserfs-kmp-rtUpgrade kernel-default-livepatchUpgrade kernel-syms-rtUpgrade kernel-source-rtUpgrade kernel-rt_debug-vdsoUpgrade kernel-default-base-rebuildUpgrade kernel-kvmsmall-develUpgrade kernel-azure-vdsoUpgrade ocfs2-kmp-rtUpgrade kernel-default-extraUpgrade kernel-default-develUpgrade kernel-64kbUpgrade dtb-amlogicUpgrade dtb-amazonUpgrade dtb-marvellUpgrade gfs2-kmp-rtUpgrade dtb-lgUpgrade cluster-md-kmp-defaultUpgrade reiserfs-kmp-64kbUpgrade kernel-symsUpgrade kernel-sourceUpgrade kernel-rt-livepatch-develUpgrade kernel-azure-develUpgrade kernel-rtUpgrade dtb-broadcomUpgrade kernel-rt-optionalUpgrade kernel-64kb-livepatch-develUpgrade kselftests-kmp-defaultUpgrade kernel-zfcpdumpUpgrade kernel-rt_debugUpgrade kernel-docsUpgrade dtb-qcomUpgrade dtb-rockchipUpgrade cluster-md-kmp-azureUpgrade kernel-source-azureUpgrade kernel-kvmsmallUpgrade kernel-docs-htmlUpgrade kernel-debug-livepatch-develUpgrade dtb-exynosUpgrade kernel-rt-vdsoUpgrade kernel-obs-qaUpgrade kernel-devel-azureUpgrade gfs2-kmp-64kbUpgrade dtb-apmUpgrade kernel-syms-azureUpgrade dtb-armUpgrade dlm-kmp-azureUpgrade dtb-socionextUpgrade kernel-kvmsmall-vdsoUpgrade kernel-azure-livepatch-develUpgrade kernel-azure-extraUpgrade dlm-kmp-defaultUpgrade kernel-macros | Jun 24, 2024 | May 1, 2024 |
| Ubuntu | — | Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-ibmUpgrade linux-image-lowlatencyUpgrade linux-image-generic-64kUpgrade linux-image-azure-fdeUpgrade linux-image-genericUpgrade linux-image-raspiUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1005-raspiUpgrade linux-image-6.8.0-1008-azureUpgrade linux-image-azureUpgrade linux-image-6.8.0-1006-ibmUpgrade linux-image-lowlatency-64kUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-35-genericUpgrade linux-image-ibm-classicUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1008-gcpUpgrade linux-image-kvmUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1006-oracleUpgrade linux-image-6.8.0-35-lowlatency-64kUpgrade linux-image-virtualUpgrade linux-image-6.8.0-1004-gkeUpgrade linux-image-awsUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-35-generic-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-oracleUpgrade linux-image-gkeUpgrade linux-image-6.8.0-35-lowlatencyUpgrade linux-image-6.8.0-1008-azure-fdeUpgrade linux-image-6.8.0-1006-oemUpgrade linux-image-6.8.0-1009-awsUpgrade linux-image-6.8.0-1006-oracle-64kUpgrade linux-image-generic-lpae | Jul 1, 2024 | May 1, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 9, 2025 | May 1, 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