CVE-2024-26962: dm-raid456, md/raid456: fix a deadlock for dm-raid456 while io concurrent with reshape

Published May 1, 2024
·
Updated

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) MDRECOVERYWAIT is set; 3) MDRECOVERYFROZEN 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>] waitwoken+0x7d/0x90 [<0>] raid5makerequest+0x929/0x1d70 [raid456] [<0>] mdhandlerequest+0xc2/0x3b0 [mdmod] [<0>] raidmap+0x2c/0x50 [dmraid] [<0>] mapbio+0x251/0x380 [dmmod] [<0>] dmsubmitbio+0x1f0/0x760 [dmmod] [<0>] submitbio+0xc2/0x1c0 [<0>] submitbionoacctnocheck+0x17f/0x450 [<0>] submitbionoacct+0x2bc/0x780 [<0>] submitbio+0x70/0xc0 [<0>] mpagereadahead+0x169/0x1f0 [<0>] blkdevreadahead+0x18/0x30 [<0>] readpages+0x7c/0x3b0 [<0>] pagecacheraunbounded+0x1ab/0x280 [<0>] forcepagecachera+0x9e/0x130 [<0>] pagecachesyncra+0x3b/0x110 [<0>] filemapgetpages+0x143/0xa30 [<0>] filemapread+0xdc/0x4b0 [<0>] blkdevreaditer+0x75/0x200 [<0>] vfsread+0x272/0x460 [<0>] ksysread+0x7a/0x170 [<0>] x64sysread+0x1c/0x30 [<0>] dosyscall64+0xc6/0x230 [<0>] entrySYSCALL64afterhwframe+0x6c/0x74

This is because reshape can't make progress.

For md/raid, the problem doesn't exist because register new syncthread 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 MDRECOVERYWAIT; 3) If MDRECOVERYFROZEN is set, mddevsuspend() doesn't hold 'reconfigmutex', hence it can be cleared and reshape can continue by sysfs api 'syncaction'.

However, I'm not sure yet how to avoid the problem in dm-raid yet. This patch on the one hand make sure raidmessage() can't change syncthread() through raidmessage() after presuspend(), on the other hand detect the above 3 cases before wait for IO do be done in dmsuspend(), and let dm-raid requeue those IO.

Other sources

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

The Linux kernel CVE team has assigned CVE-2024-26962 to this issue.

Upstream advisory: https://lore.kernel.org/linux-cve-announce/2024050130-CVE-2024-26962-cbb0@gregkh/T

Red Hat

Affected Software

6 affected componentsFixes available
redhat/kernel<6.7.12
6.7.12
redhat/kernel<6.8.3
6.8.3
redhat/kernel<6.9
6.9
Linux Linux kernel<6.7.12
Linux Linux kernel>=6.8<6.8.3
debian/linux<=5.10.223-1, <=5.10.234-1, <=6.1.129-1, <=6.1.135-1
6.12.25-16.12.27-1

Event History

May 1, 2024
CVE Published
via MITRE·05:19 AM
Data Sourced
via MITRE·05:19 AM
Description
Data Sourced
via Red Hat·04:27 PM
DescriptionSeverityAffected Software
Jun 8, 2024
Data Sourced
via Launchpad·01:11 AM
Description
May 2, 2025
Data Sourced
via Ubuntu·02:23 PM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2024-26962?

CVE-2024-26962 has been classified with a moderate severity level due to its potential impact on system performance during concurrent I/O operations.

2

How do I fix CVE-2024-26962?

To resolve CVE-2024-26962, update the Linux kernel to version 6.7.12, 6.8.3, 6.9, or any version 6.12.10-1, 6.12.11-1, or subsequent.

3

Which Linux versions are affected by CVE-2024-26962?

CVE-2024-26962 affects Linux kernel versions prior to 6.7.12, versions between 6.8 and 6.8.3, as well as versions up to 6.10 from Debian kernel packages.

4

What is the nature of the deadlock in CVE-2024-26962?

The deadlock in CVE-2024-26962 occurs in the dm-raid456 subsystem when I/O operations are waiting for a reshape operation to complete.

5

Is there a workaround for CVE-2024-26962 if immediate patching is not possible?

Currently, there are no known workarounds for CVE-2024-26962 aside from timely updating the kernel to an unaffected version.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203