AMD安全内存加密功能存在缺陷,在Linux内核改为默认禁用

d
dnews
楼主 (未名空间)

AMD的安全内存加密(SME)功能被发现存在缺陷,可能会对某些Linux系统造成问题。这是在前几天,被Linux工程师Paul Menzel发现的,安全内存加密功能导致某些配备代号Raven Ridge的APU启动失败。

据Phoronix报道,Linux 5.15内核正在接收一个新的修复程序,其中包括禁用AMD的安全内存加密功能。该功能默认情况下是开通的,但是被发现在某系AMD系统上出现启动失败后,现在改为默认禁用。开发人员将首先更新Linux 5.15内核,但这个更改也将转移到之前的内核上。


AMD的安全内存加密是一项提供给EPYC和Ryzen Pro系列处理器的功能,允许处理器在硬件级别对内存进行加密。AMD表示,这项功能对性能没有显著的影响,并且适用于任何操作系统和应用程序,因为是硬件加速,所以不会依赖于软件。

尽管看起来有不少的好处,但安全内存加密功能在在Linux驱动中出现了与IOMMU和图形驱动交互的错误,导致Linux系统主机启动失败。受影响的系统也不能识别加密的内存,特别是因为某些设备没有正确的直接内存访问API或固件来支持SMU。这个错误主要发生在代号Raven Ridge的APU上,其他Ryzen系列处理器也有可能会遇到。目前通过暂时禁用的方式解决,直到合适的解决方案出现为止。当然,这个问题不会影响Windows系统的用户。