从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 问题描述:在UFS(Universal File System)卸载时,如果在重新启动的开始执行,可能会导致死锁。这是因为SDEV_QUIESCE被设置为所有LU的scsi_devices,而音频驱动在等待blk_mq_submit_bio()时被挂起,等待读取fw binary。在音频驱动关闭时,它会等待blk_mq_submit_bio()的mutex_unlock,导致死锁。 - 解决方案:设置SDEV_OFFLINE为所有LU,除了WLUN,这样在UFS卸载后任何I/O都会返回错误。 2. 代码变更: - 文件:drivers/ufs/core/ufshcd.c - 变更内容: - 删除了scsi_device_quiesce()调用。 - 添加了mutex_lock()和scsi_device_set_state(SDEV_OFFLINE)调用。 - 添加了mutex_unlock()调用。 3. 补丁信息: - 补丁编号:b294ff3e3449 - 补丁描述:"scsi: ufs: core: Enable power management for wlun" - 作者:Seunghwan Baek - 链接:https://lore.kernel.org/r/20240829093913.6282-2-sh8267.baek@samsung.com 4. 审核信息: - 审核者:Bart Van Assche - 审核者:Martin K. Petersen - 审核者:Greg Kroah-Hartman 这些信息表明,这个补丁是为了修复UFS卸载时的死锁问题,通过设置SDEV_OFFLINE来解决。