从这个网页截图中,我们可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 问题描述:处理SVE陷阱时,逻辑错误导致保存的FPSIMD/SVE状态不正确,可能会导致任务在SVE陷阱被触发时,即使CPU状态是有效的,也会触发TIF_FOREIGN_FPSTATE标志。 - 影响:这可能导致do_sve_acc()函数在SVE陷阱未被预期触发时,仍然触发警告。 2. 代码示例: - 代码片段:展示了do_sve_acc()函数中的逻辑,包括检查TIF_SVE标志和TIF_FOREIGN_FPSTATE标志的设置情况。 - 问题代码:在SVE陷阱被触发时,即使CPU状态是有效的,也会触发警告。 3. 修复措施: - 修复代码:修复了在CPU状态不活跃且TIF_FOREIGN_FPSTATE标志设置时,调用fpsimd_flush_task_state()函数来从保存的CPU状态中分离的状态。 - 修复逻辑:确保后续的上下文切换不会重用不活跃的CPU状态,而是重新设置TIF_FOREIGN_FPSTATE标志,强制重新加载新的状态。 4. 补丁信息: - 补丁描述:修复了arm64/sve: Rework SVE access trap to convert state in registers的问题。 - 补丁作者:Mark Rutland和Mark Brown。 - 补丁状态:已签署并已合并。 5. 相关链接: - 报告链接:https://lore.kernel.org/linux-arm-kernel/Ca+G9fYtEGe_DhY2Ms7+L7NKsLYUomGsgqpdBj+QwDLeSg=JhGg@mail.gmail.com/ - 原始问题链接:https://lore.kernel.org/linux-arm-kernel/0000000000000511e9a060ce5a45c@gmail.com/ 这些信息可以帮助我们理解漏洞的背景、影响、修复措施以及相关的补丁信息。