从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 问题描述:如果 函数被调用时传递的无效描述符数量为0(例如,用于DMA排水目的),可能会导致软锁定。这是因为提交线程未能检测到无效等待描述符的完成。 - 影响:虽然这个bug在现有用户中没有影响,因为没有调用者提交无效描述符数量为0的无效描述符。但是,这个修复将允许未来的用户(如DMA排水)调用 时传递0个无效描述符。 2. 修复机制: - 问题根源:无效描述符的状态 被用于两个冲突的目的: - 信号一个描述符准备好被释放。 - 信号硬件等待描述符完成。 - 解决方案:通过使用 状态来分离状态,确保 函数能够正确地检测到无效等待描述符的完成。 3. 代码变更: - 文件: - 变更内容: - 修改了 函数,确保只有标记为 的无效描述符被释放。 - 修改了 函数,确保在提交无效描述符时能够正确地检测到无效等待描述符的完成。 4. 签名-off: - 作者:Sanjay K Kumar - 其他签名-off:Jacob Pan、Kevin Tian、Lu Baolu、Joerg Roedel、Sasha Levin 5. 链接: - 上游提交:Upstream commit 3cf74230c139f208b7fb313ae0054386eee31a81 这些信息表明,修复了 函数在处理无效描述符数量为0时的软锁定问题,通过分离无效描述符的状态来确保正确的检测和处理。