CVE-2024-26899

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
17/04/2024
Last modified:
29/04/2024

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> block: fix deadlock between bd_link_disk_holder and partition scan<br /> <br /> &amp;#39;open_mutex&amp;#39; of gendisk is used to protect open/close block devices. But<br /> in bd_link_disk_holder(), it is used to protect the creation of symlink<br /> between holding disk and slave bdev, which introduces some issues.<br /> <br /> When bd_link_disk_holder() is called, the driver is usually in the process<br /> of initialization/modification and may suspend submitting io. At this<br /> time, any io hold &amp;#39;open_mutex&amp;#39;, such as scanning partitions, can cause<br /> deadlocks. For example, in raid:<br /> <br /> T1 T2<br /> bdev_open_by_dev<br /> lock open_mutex [1]<br /> ...<br /> efi_partition<br /> ...<br /> md_submit_bio<br /> md_ioctl mddev_syspend<br /> -&gt; suspend all io<br /> md_add_new_disk<br /> bind_rdev_to_array<br /> bd_link_disk_holder<br /> try lock open_mutex [2]<br /> md_handle_request<br /> -&gt; wait mddev_resume<br /> <br /> T1 scan partition, T2 add a new device to raid. T1 waits for T2 to resume<br /> mddev, but T2 waits for open_mutex held by T1. Deadlock occurs.<br /> <br /> Fix it by introducing a local mutex &amp;#39;blk_holder_mutex&amp;#39; to replace<br /> &amp;#39;open_mutex&amp;#39;.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.7.11 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.8 (including) 6.8.2 (excluding)