arm64/sve:处理 SVE 陷阱时丢弃陈旧的 CPU 状态(CVE-2024-50275)
CVE编号
CVE-2024-50275
利用情况
暂无
补丁情况
N/A
披露时间
2024-11-19
漏洞描述
在Linux内核中,已经解决了一个关于arm64/sve的漏洞:在处理SVE陷阱时丢弃过时的CPU状态。处理SVE陷阱的逻辑在操纵保存的FPSIMD/SVE状态时存在错误。与抢占(preemption)的竞争条件可能导致任务具有TIF_SVE设置和TIF_FOREIGN_FPSTATE清除,尽管活动的CPU状态已经过时(例如,启用了SVE陷阱)。这种情况会导致do_sve_acc()出现警告,在TIF_SVE设置时不期望出现SVE陷阱。这种形式的警告间歇性地被报告出来。漏洞的具体表现为,当SVE陷阱处理程序在处理保存的FPSIMD/SVE状态之前和之后被抢占,开始在CPU 0上并在CPU 1上结束时,会发生竞争条件。修复此漏洞的方法是,在状态不活跃且TIF_FOREIGN_FPSTATE设置的情况下,通过调用fpsimd_flush_task_state()来脱离保存的CPU状态。这确保了后续上下文切换不会使用过时的CPU状态,而是将从内存中重新加载新状态,以便在返回用户空间之前进行设置。
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
文章评论