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