邮件列表显示,由于某些平台上的缺点,linux 内核将不再默认在支持的硬件上使用 AMD 安全内存加密 (SME)。
自从将 AMD SME 支持引入 Linux 内核以来,当内核中内置 SME 支持 (AMD_MEM_ENCRYPT) 时,安全内存加密都会默认激活。"AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT" 的默认设置允许开箱即用地使用安全内存加密,而无需指定任何额外的内核参数等。然而,这导致了某些平台上的启动失败,尤其是 IOMMU 以及一些图形驱动程序,不希望对内存进行加密。
默认情况下不使用 AMD SME 的更改源于相关平台问题 Raven Ridge,以及默认情况下尝试 SME 可能导致的启动失败。不过,由于 SME 需要在内核启动过程的早期阶段启用,至少目前不可能有增强的逻辑来以更健壮的方式确定何时可以在没有用户交互的情况下启用/禁用 SME。
因此,随着 x86/urgent pr 进入 Linux 5.15,然后向后移植到以前的内核,AMD 内存加密将不会默认启用。如果当前内核已经包含了 AMD 内存加密代码,则仍然可以通过设置 "mem_encrypt=on "选项来启用安全内存加密。
综上所述:大家如果对自己系统有什么特殊要求的,一定记得要修改系统的默认值,否则会有一些意外安全问题!