• 公告ID (KylinSec-SA-2024-2051)

摘要:

In the Linux kernel, the following vulnerability has been resolved:block: fix deadlock between bd_link_disk_holder and partition scan open_mutex of gendisk is used to protect open/close block devices. Butin bd_link_disk_holder(), it is used to protect the creation of symlinkbetween holding disk and slave bdev, which introduces some issues.When bd_link_disk_holder() is called, the driver is usually in the processof initialization/modification and may suspend submitting io. At thistime, any io hold open_mutex , such as scanning partitions, can causedeadlocks. For example, in raid:T1 T2bdev_open_by_dev lock open_mutex [1] ... efi_partition ... md_submit_bio md_ioctl mddev_syspend -> suspend all io md_add_new_disk bind_rdev_to_array bd_link_disk_holder try lock open_mutex [2] md_handle_request -> wait mddev_resumeT1 scan partition, T2 add a new device to raid. T1 waits for T2 to resumemddev, but T2 waits for open_mutex held by T1. Deadlock occurs.Fix it by introducing a local mutex blk_holder_mutex to replace open_mutex .

安全等级: Low

公告ID: KylinSec-SA-2024-2051

发布日期: 2024年5月27日

关联CVE: CVE-2024-26899  

  • 详细介绍

1. 漏洞描述

   

In the Linux kernel, the following vulnerability has been resolved:block: fix deadlock between bd_link_disk_holder and partition scan open_mutex of gendisk is used to protect open/close block devices. Butin bd_link_disk_holder(), it is used to protect the creation of symlinkbetween holding disk and slave bdev, which introduces some issues.When bd_link_disk_holder() is called, the driver is usually in the processof initialization/modification and may suspend submitting io. At thistime, any io hold open_mutex , such as scanning partitions, can causedeadlocks. For example, in raid:T1 T2bdev_open_by_dev lock open_mutex [1] ... efi_partition ... md_submit_bio md_ioctl mddev_syspend -> suspend all io md_add_new_disk bind_rdev_to_array bd_link_disk_holder try lock open_mutex [2] md_handle_request -> wait mddev_resumeT1 scan partition, T2 add a new device to raid. T1 waits for T2 to resumemddev, but T2 waits for open_mutex held by T1. Deadlock occurs.Fix it by introducing a local mutex blk_holder_mutex to replace open_mutex .

2. 影响范围

cve名称 产品 组件 是否受影响
CVE-2024-26899 KY3.4-4A kernel Unaffected
CVE-2024-26899 KY3.4-5 kernel Unaffected
CVE-2024-26899 KY3.5.1 kernel Unaffected
CVE-2024-26899 V6 kernel Unaffected

3. 影响组件

    无

4. 修复版本

    无

5. 修复方法

   无

6. 下载链接

    无
上一篇:KylinSec-SA-2024-2050 下一篇:KylinSec-SA-2024-2052