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

御坂弟弟
 御坂弟弟
发布于 2021年10月14日
收藏 2

邮件列表显示,英特尔工程师和长期的内核开发人员 Peter Zijlstra 发布了一组 9 个补丁,重写了 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" 启动选项更接近于内核镜像。

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

 

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Linux 或将重新实现 retpoline 改写逻辑
加载中
返回顶部
顶部