AMD 工程师 Borislav Petkov 提交的补丁,已经于 2026 年 9 月 1 日合入 Linux 内核开发树的 x86/bugs 分支。这项调整来自 Linux 7.4 的 x86/bugs 代码合并请求,核心动作是:利用 AMD Zen 6 处理器提供的分支目标缓冲区(BTB)上下文隔离功能,允许系统关闭开销较大的 SafeRET 缓解措施。
打开网易新闻 查看精彩图片
SafeRET 一直被用来缓解特定的推测执行安全漏洞,代价是性能开销。Zen 6 的 BTB 能按上下文标记分支预测信息,把用户态与内核态、虚拟机客户机与宿主机这些不同执行环境隔离开。硬件条件满足时,内核就不必再靠 SafeRET 兜底。
补丁还顺手改了一处报告逻辑:调整内核对相关安全缓解状态的报告方式,避免在未启用 RETPOLINE 的构建中错误报告 Spectre v2 防护状态。对盯着内核日志排查防护状态的开发者来说,这条改动同样值得留意。
但别把 BTB 上下文隔离当成万能钥匙。它主要隔离的是用户态与内核态、虚拟机客户机与宿主机之间的分支预测上下文。用户进程之间、虚拟机之间的相关攻击路径,仍然要靠 Spectre v2 防护设置,以及上下文切换时的间接分支预测屏障(IBPB)等机制来防护。
按目前的节奏,该补丁预计进入 Linux 7.4,最终版本归属仍取决于内核开发进度。对跑在 Zen 6 上的机器来说,这是一次安全防护与性能成本之间的重新配平。
热门跟贴