从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 问题:在多包WQE(Work Queue Entry)传输中,错误地在没有DMA映射的情况下进行unmap操作。 - 原因:多包WQE传输代码试图获取DMA映射,但在IOMMU(Input/Output Memory Management Unit)压力下,IOMMU驱动器可能无法为页表分配更多内存。代码在处理失败的映射尝试时,错误地从sq(发送队列)的FIFO列表中删除了一个条目,导致随机的DMA映射被删除,这可能会导致PCI(Peripheral Component Interconnect)函数进入错误状态。 2. 修复措施: - 修复代码:修复了在没有DMA映射的情况下进行unmap操作的错误。 - 修复范围:修复了5af75c747e2a("net/mlx5e: Enhanced TX MPWQE for SKBs")的上游提交。 3. 修复者: - Gerd Bayer:提交了修复代码。 - Zhu Yanjun:进行了代码审查。 - Maxim Mikityanskiy:进行了代码验证。 - Saeed Mahameed:进行了代码验证。 - Sasha Levin:进行了代码验证。 4. 受影响的代码文件: - drivers/net/ethernet/mellanox/mlx5/core/en_tx.c:受影响的代码文件。 5. 代码变更: - 文件路径:drivers/net/ethernet/mellanox/mlx5/core/en_tx.c - 变更内容:修复了在没有DMA映射的情况下进行unmap操作的错误。 这些信息表明,该漏洞与多包WQE传输中的DMA映射错误有关,修复了在没有DMA映射的情况下进行unmap操作的错误,并进行了详细的代码审查和验证。