从这个网页截图中,可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 漏洞类型:scsi: pm80xx: Set phy->enable_completion only when we wait for it - 问题描述:pm8001_phy_control()函数在设置phy->enable_completion时存在问题。当phy控制响应来得晚时,300毫秒后,pm8001_phy_control()函数返回,而传递的enable_completion堆栈地址不再有效。这会导致kernel crash。 2. 修复措施: - 在pm8001_phy_control()函数中,当phy->phy_id的phy_state为PHY_LINK_DISABLE时,将phy->enable_completion设置为completion,并调用wait_for_completion()函数。 3. 作者和贡献者: - 作者:Igor Pylypiv - 贡献者:Terrence Adams 、Jack Wang 、Martin K. Petersen 、Sasha Levin 4. 代码变更: - 文件:drivers/scsi/pm8001/pm8001_sas.c - 变更内容:在if (PM8001_CHIP_DISP->fatal_errors(pm8001_ha)) {}语句后添加了代码,将phy->enable_completion设置为completion,并调用wait_for_completion()函数。 5. 上下文信息: - Upstream commit:e4f949ef1516c0d74745ee54a0f4882c1f6c7aea - 链接:https://lore.kernel.org/r/20240627155924.2361370-2-tadamsjr@gmail.com 这些信息可以帮助理解漏洞的背景、修复措施以及相关的上下文信息。