Linux 或将重新实现 retpoline 改写逻辑
邮件列表显示,英特尔工程师和长期的内核开发人员 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" 启动选项更接近于内核镜像。
如欲了解更多详细内容,可查阅该补丁集。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
KuiBaDB —— Rust 重写的 PostgreSQL
KuiBaDB 是使用 Asynchronous Rust 重写的 PostgreSQL,专注于 OLAP 分析。 KuiBaDB 构建在 kbio 和 tokio 之上,只使用 tokio 的'rt-multi-thread', 'rt' 和 'io-util' 特性。所有 IO,包括文件 IO 和网络 IO,以及异步系统调用都由 kbio 提供支持。 KuiBaDB 仅包含 OLAP 数据库所需的基本功能,例如支持事务但不包含子事务。KuiBaDB 使用矢量化引擎,也是目录驱动的。KuiBaDB 使用了 Hologres 中引入的列式存储。不过作者删除了 Delete Map 并为每行添加了 xmin,xmax,xmin/xmax 保存在行存储中。
- 下一篇
GNOME 新设计:引入全局深色模式、优化用户体验
GNOME 设计团队核心成员 Allan Day 近日在其博客介绍了 GNOME 应用开发平台在 UI 设计方面的最新进展。 简要总结如下: 围绕 libadwaita 对 GNOME/GTK 应用程序的样式进行持续改进,优化用户体验 添加了系统级别的深色模式 开发专门的 demo 应用「GNOME Patterns」,"Patterns" 旨在将 libadwaita 和人机界面指南 (HIG) 作为演示应用程序进行展示 新的"About"窗口设计 此外,Allan 还介绍了部分关于 GNOME 设计未来的想法,以及计划开展的工作: 使用 libadwaita 的新小部件 Toasts 来替换现有的应用程序内通知 使用 Banners 作为 GtkInfoBars 的替代方案,用于在包含文本和控件的标题下方显示带有信息的彩色条 选择模式 最后看看一些已初步完成的实际效果图。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS8编译安装MySQL8.0.19