上个月,Linux内核决定禁用所有AMD fTPM的随机数生成(RNG),结果在英特尔系统上产生了一些意想不到的后果。在所有AMD fTPM上禁用RNG的修补程序最终导致一些基于英特尔平台的系统表现退步,尤其是在触发S3挂起到内存时出现问题。针对该问题的修复程序已提交给正在进行的Linux 6.6合并窗口,并将在未来几天内向稳定内核系列回传。
F0!Z1S0g
E0!d c 图为采用fTPM RNG的AMDRyzen CPU
C>|.0:[% D>|`+=1'0" 早在8月份,英特尔Linux工程师Todd Brandt在一份错误报告中指出,在他们的实验室中,有5个系统在启动S3挂起时出现崩溃和重启,导致S3崩溃。这一内核回归可追溯到AMD在所有AMD fTPM上禁用RNG的变更。
/4T6Z[=s O}i+1 该补丁的出现是为了纠正AMD fTPM检查行为,以修复英特尔硬件上的回归:
,IB\1# 3CD#OCz7& "提交554b841d4703引入的供应商检查("tpm:Disable RNG for all AMD fTPMs")在一些英特尔fTPM上无法正常工作。在报告的系统上,TPM在启动时不回复,并返回命令代码。这导致TPM探测失败。
YZ>L_$:q 7<su8*? 由于只有Microsoft Pluton是唯一已知的AMD CPU与其他供应商的fTPM的组合,因此请禁用hwrng。为了让系统管理员意识到这一点,还可在日志中打印信息"。
+&S7l%- x+cL(R 该补丁已于今天提交,作为Linux 6.6合并窗口TPMDD变更的一部分。一旦内核稳定版本在未来一两天内被主线采纳,该补丁就会被标记为向后移植。改进后的方法将修复受影响的英特尔系统上的挂起行为,同时仍在所有AMD fTPM系统上禁用RNG。
5n?P}kca) f-18nF7{ 了解更多:
=mXC,<] Ba[,9l[ https://lore.kernel.org/lkml/ct256e7tloa3th4muxmhgvysvod35c4vp2aczuybud3q6747ts hglky2egrg7y/T/
h/ n( Z3&}C h https://lore.kernel.org/lkml/20230904202512.29825-1-jarkko kernel.org/
G4'Ia$