IT资讯 Linux 或将重新实现 retpoline 改写逻辑

cary · 2021-10-14 09:30:06 · 热度: 13

邮件列表显示,英特尔工程师和长期的内核开发人员 Peter Zijlstra 发布了一组 9 个补丁,重写了 Retpoline 的改写逻辑代码。

Linux 或将重新实现 retpoline 改写逻辑

Retpoline 是 Google 开发的针对 Spectre 漏洞的技术,它允许将间接分支与推测执行隔离开来。这可用于保护敏感二进制文件(例如操作系统或管理程序实现)免受针对其间接分支的分支目标注入攻击。Linux 内核于 2018 年开始支持 Retpoline 技术。

此次提交的补丁重写了 retpoline 的改写方式。Zijlstra 表示,目前 objtool 为大多数 retpoline 调用发出了替代条目,然而非常难以扩展,因此,该补丁让 objtool 发出一个 .retpoline_sites 部分,列出所有编译器生成的 retpoline thunk 调用,然后,内核可以更方便地处理它们。

根据补丁描述,这个重写的代码将确保 Retpolines 被改写为间接指令,并在编译器允许的情况下将 AMD Retpoline 处理重写为间接 LFENCE。x86 的 BPF代码也被更新,以匹配内核其他部分在 Retpoline 方面的行为。如果在没有启用 "RETPOLINE=Kconfig" 选项的情况下构建内核,运行 "spectre_v2=off" 启动选项更接近于内核镜像。

如欲了解更多详细内容,可查阅该补丁集

 

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册