虽然 Linux 6.15 带来了许多令人兴奋的 x86_64 CPU 新功能,但也有一些不那么有趣的变化:即 “x86/bugs” 拉取请求,将最新的 CPU 安全缓解工作引入主线内核。
Linux 6.15 内核的 x86/bugs 拉取请求已合并。这一次,它在 AMD 方面有一个新的缓解措施,允许为 Zen 5 处理器提供新的推测返回堆栈溢出 (SRSO) 缓解措施,以解决该漏洞,称为“盗梦空间”。这种新的 Zen 5 特定 SRSO 缓解措施适用于基于内核的虚拟机 (KVM),并标记为 SRSO_MSR_FIX。
这种针对 Zen 5、Ryzen 和 EPYC 处理器的新缓解措施是去年从 Linux 开始为 Zen 5 CPU 准备 AMD“SRSO_USER_KERNEL_NO”支持。在 Linux 6.15 中,缓解措施以改进的形式出现:
“添加对
CPUID Fn8000_0021_EAX[31] 的支持 (SRSO_MSR_FIX)。如果此位为 1,则表示软件可以使用 MSR BP_CFG[BpSpecReduce] 来缓解 SRSO。
启用 BpSpecReduce 以缓解跨来宾/主机边界的 SRSO。
切换回启用虚拟化时启用位,并在禁用虚拟化时清除位,因为使用 MSR 槽会在来宾退出时清除该位,并且来宾所做的任何训练都可能会影响主机内核(当执行进入内核但尚未对来宾进行 VMRUN 时)。
这不会改变 Zen 5 处理器使用虚拟机 (VM) 的上下文之外的情况。
另外,x86/bugs 拉取请求有一些准备补丁,用于开始调整 Linux 内核的角度,以允许通过攻击向量而不是控制单个漏洞来缓解。这项工作并没有结束,只是为 Linux 6.15 提供了一些准备补丁,但该主题将在 Linux 攻击媒介控制更新为更轻松地控制 CPU 安全缓解措施中进一步讨论。
已合并到 Linux 6.15 Git 的 x86/bugs 拉取请求中的更多详细信息。
转自 Linux 6.15 Adds AMD Zen 5 SRSO Mitigation For KVM, Preps For Attack Vector Controls – Phoronix