从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 标题:x86/tdx: Fix "in-kernel MMIO" check - 描述:TDX(Translation Directory)模块只支持内核发起的MMIO(Memory-Mapped I/O)操作。handle_mmio()函数检查内核是否在处理MMIO操作时触发了#VE(Invalid Page Fault)异常。如果内核没有触发异常,函数会拒绝该操作。 - 问题:用户空间可以欺骗内核,使其在用户空间发起MMIO操作。例如,如果用户空间指向一个MMIO地址,系统调用(如get_user()或put_user())会触发#VE异常,内核会将其视为内核发起的MMIO操作。 2. 修复措施: - 检查:确保目标MMIO地址在内核空间内。 - 修复代码:在handle_mmio()函数中添加了检查,如果用户空间发起的MMIO操作在内核空间内,会触发#VE异常。 3. 补丁信息: - 补丁编号:d4fc4d01471528da8a9797a065982e05090e1d81 - 补丁状态:已合并到上游(upstream)。 - 作者:Alexey Gladkov (Intel) - 提交时间:2024-09-13 19:05:56 +0200 - 提交者:Greg Kroah-Hartman - 父提交:04ca17fbc809fc6efb5a5de4dcec377de88906b1 4. 相关补丁和审查: - 相关补丁:31d58c4e557d ("x86/tdx: Handle in-kernel MMIO") - 审查:由Alexey Gladkov、Dave Hansen和Kirill A. Shutemov审查。 5. 代码变更: - 文件:arch/x86/coco/tdx/tdx.c - 变更内容:添加了检查用户空间发起的MMIO操作是否在内核空间内的代码。 这些信息表明,该漏洞修复了内核在处理MMIO操作时的安全性问题,防止了用户空间发起的MMIO操作被内核误认为是内核发起的MMIO操作。