从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 漏洞发生在处理SVE陷阱时,逻辑错误导致保存的FPSIMD/SVE状态被错误地处理。 - 当任务在预取操作中被抢占时,可能会导致TIF_SVE设置和TIF_FOREIGN_FPSTATE清除,即使实际的CPU状态是有效的(例如,SVE陷阱启用时)。 2. 漏洞影响: - 这种情况会导致do_sve_acc()函数在SVE陷阱不应被触发时发出警告。 - 该漏洞已被报告为警告,例如: 3. 修复措施: - 修复了当状态不活跃且TIF_FOREIGN_FPSTATE设置时,通过调用fpsimd_flush_task_state()来从保存的CPU状态中分离的状态。 - 这确保了后续的上下文切换不会重用无效的CPU状态,而是会重新设置TIF_FOREIGN_FPSTATE,强制新状态从内存中重新加载。 4. 补丁内容: - 修复了在sve_init_regs()函数中,当TIF_FOREIGN_FPSTATE未设置时,将current->thread.fp_type设置为FP_STATE_SVE。 - 添加了fpsimd_flush_task_state()调用来强制重新加载新状态。 5. 报告和审查: - 漏洞报告和修复由Mark Rutland和Greg Kroah-Hartman审查和签署。 - 漏洞报告和修复的链接: 这些信息表明,该漏洞与SVE陷阱处理中的逻辑错误有关,可能导致无效的CPU状态被错误地处理。修复措施通过调用特定的函数来强制重新加载新状态,以确保状态的正确性。