Linux 内核发布了补丁,开发人员即将启用这个新的 GCC 编译器特性: x86/86_64 上的 -mharden-sls= 选项 。
-mharden-sls= 选项在 x86_64-allyesconfig 上使用 GCC-12 和 GCC-11 构建,并在 x86_64-defconfig+kvm_guest 上进行了引导测试。它支持 none、all、return 或 indirect-branch 四个值,可以减轻在控制流无条件改变后,在内存中线性推测执行指令的直线推测。
该内核补丁添加了直线推测缓解处理,可以通过SLS Kconfig 开关进行配置,工作原理是通过在函数返回和间接分支之后添加 INT3 指令来处理基于编译器的缓解。由于对象 工具 验证产生的维护开销,启用了 SLS 缓解措施生成的的 Linux 内核映像可能会比之前大 2.4% 左右。
还有另一个内核补丁建议启用“-mindirect-branch-cs-prefix”,在启用 retpoline 的内核构建中默认启用。这个在GCC 12中也是新的东西,它允许完全内联GCC 12+内核版本的 AMD Retpoline 配置。
LLVM Clang 编译器也在支持上述编译器选项。
猜你喜欢:暂无回复。