从这个网页截图中可以获取到以下关于漏洞的关键信息: 漏洞描述: - 在 遇到 swapcache 时,内核会出现 BUG。 - 检查 PTE 条目是否存在或是一个交换条目。 - 如果 PTE 条目存在, 处理 folio 迁移。 - 如果 PTE 条目是交换条目, 简单地将 PTE 复制到新的 dst_addr。 问题原因: - 即使 PTE 是交换条目,它仍然可能引用一个保留在交换缓存中的 folio。 - 这种方法不正确,因为它在步骤 2 和 4 之间创建了一个竞争窗口。 - 如果 在步骤 2 和 4 之间的窗口中发生,访问目标会触发 ,这可能会在交换缓存中定位 folio。但由于 folio 的索引未更新以匹配目标 VMA, 会检测到不匹配。 潜在影响: - 这可能导致两个关键问题,具体取决于系统配置。 - 如果 KSM 被禁用,小 folio 和大 folio 都可能在添加 rmap 操作期间触发 BUG。 相关代码片段: 提交信息: - 作者:Barry Song () - 提交者:Greg Kroah-Hartman () - 提交时间:2025-02-26 13:14:00 +1300 - 提交哈希:4e9507246298fd6f1ca7bb42ef01a6e34fb93684 这些信息表明这是一个与内存管理相关的内核漏洞,涉及 和交换缓存的处理。