从这个网页截图中,可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 问题: 函数在分配高阶内存时,如果分配失败,会尝试分配低阶内存(order 0)。然而,这种做法可能导致错误的内存映射,从而引发内存错误。 - 原因: 函数假设其参数页面具有相同的页位移。然而,如果 包含 且在 中分配失败,可能会导致两个不同的页位移,从而导致错误的映射。 2. 修复措施: - 解决方案:移除高阶内存分配失败时的低阶内存分配尝试。如果高阶内存分配失败, 函数会尝试重新分配低阶内存,因此不需要在高阶内存分配失败时尝试低阶内存分配。 3. 代码变更: - 变更内容:在 函数中,移除了高阶内存分配失败时的低阶内存分配尝试。 4. 影响范围: - 文件: - 变更行数:11 行 5. 修复者: - 作者:Hailong Liu - 提交者:Greg Kroah-Hartman 6. 相关链接: - 原始问题:https://lkml.kernel.org/r/20240808122019.3361-1-hailong.liu@oppo.com - 修复补丁:e93c3da4d86e ("mm, vmalloc: fix high order __GFP_NOFAIL allocations") 这些信息表明,修复了在高阶内存分配失败时尝试低阶内存分配的问题,从而避免了潜在的内存错误。