从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 问题: 函数在发送 PHY_LINK_RESET / PHY_HARD_RESET 命令后,等待 300 毫秒,然后返回。如果 PHY 控制响应来得晚,那么返回的 enable_completion 栈地址将不再有效。这会导致 enable_completion 指针指向一个无效的地址,从而引发内核崩溃。 2. 修复措施: - 修改代码:在 函数中,当 PHY 控制响应来得晚时,将 enable_completion 栈地址设置为 NULL,以避免指向无效地址。 3. 代码变更: - 文件: - 变更位置:文件中第 166 行至 198 行的代码被修改。 - 变更内容: - 删除了将 enable_completion 栈地址赋值给 pm8001_has->phy[phy_id].enable_completion 的代码。 - 添加了在 PHY 控制响应来得晚时,将 enable_completion 栈地址设置为 NULL 的代码。 4. 作者和贡献者: - 提交者:Igor Pylypiv - 贡献者:Terrence Adams、Jack Wang、Martin K. Petersen 5. 链接和参考: - 问题链接:https://lore.kernel.org/r/20240627155924.2361370-2-tadamsjr@google.com - 贡献者链接:https://github.com/tadamsjr 这些信息可以帮助我们理解漏洞的背景、修复措施以及相关的代码变更。