上周发布到 Linux 内核邮件列表,现在已经通过 tip/tip.git 的“x86/cpu”Git 分支排队,它支持我们直到现在才听说的 AMD CPU 新功能……ERAPS,增强的返回地址预测安全性。
AMD ERAPS(增强型返回地址预测安全性)尚未出现在 AMD 的公共官方编程文档中(除了简单地指出 ERAPS 指示器的位位置),也没有作为 EPYC 9005“都灵”系列简报的一部分被提及。
AMD ERAPS 旨在帮助恢复过去几年中在 Spectre 类漏洞之后引入的安全缓解措施的一些性能。ERAPS 是一种新的防御措施,用于缓解某些类别的推理攻击,例如返回堆栈缓冲区 (RSB) 中毒攻击。
补丁上允许 Linux 内核在 Turin 和未来处理器上使用 ERAPS 的消息进一步解释:
“使用 ERAPS 功能 (Zen5) 删除 VMEXIT 上的显式 RET 填充/填充和 AMD CPU 上的上下文切换。
使用增强型返回地址预测安全功能时,任何硬件 TLB 刷新都会导致 RSB(在 AMD 规范中也称为 RAP)刷新。这保证了上下文切换之间的 RSB 刷新。该功能还显式标记主机和来宾地址,无需在 VMEXIT 上显式刷新 RSB。
AMD CPU 中的 BTC_NO 功能可确保 RET 预测不会从 RSB 外部进行推测。BTC_NO 和 ERAPS 功能相结合,确保不再需要冲洗或填充 RSB。
随着 AMD ERAPS 功能现在在 TIP 的 x86/cpu 分支中,它可能会在即将到来的 Linux 6.13 周期中被合并。
我将检查这个针对 Linux 内核的新 AMD ERAPS 支持,看看它是否为新的 EPYC 9005 系列服务器处理器在实际工作负载中的性能提供了任何可衡量的好处。
转自 Linux Preps New AMD ERAPS Feature With EPYC Turin To Benefit Performance – Phoronix