AMD fTPM RNG的BUG使得Linus Torvalds不满

news2024/11/22 18:13:39
导读因为在 Ryzen 系统上对内核造成了困扰,Linus Torvalds 最近在邮件列表中表达了对 AMD fTPM 硬件随机数生成器的不满,并提出了禁用该功能的建议。

AMD fTPM RNG的BUG使得Linus Torvalds不满AMD fTPM RNG的BUG使得Linus Torvalds不满

因为在 Ryzen 系统上对内核造成了困扰,Linus Torvalds 最近在邮件列表中表达了对 AMD fTPM 硬件随机数生成器的不满,并提出了禁用该功能的建议。

据悉,AMD fTPM 的随机数生成器近期引起了一些卡顿问题,最初影响的是 Windows 用户,后续又波及到了 Linux 用户。虽然针对此问题的修复已经推出并回溯至早期内核,但一些与 AMD fTPM RNG 相关的棘手问题仍未解决,部分用户依然报告存在卡顿现象。

上周又有一份新的错误报告称,在某些 AMD 平台上使用 fTPM 可能会导致卡顿。此报告中其使用的 fTPM 固件版本是 0x3005700020005,这也是 Rembrand 平台首次出现此类情况;现有的内核补丁并未起到帮助作用。

这不免引起了 Linus Torvalds 的愤怒,他在邮件列表中表示:

让我们禁用愚蠢的 fTPM hwrnd。

也许在启动时使用它来 “从不同的源收集熵”,但显然它不应该在运行时使用。

为什么有人要使用这个破玩意儿,因为任何一台据说修复了这个问题的机器(事实显然并非如此),其 CPU rdrand 指令也不会出现问题?

如果你不信任 CPU rdrand 实现(它也有漏洞 - 参见 clear_rdrand_cpuid_bit () 和 x86_init_rdrand ()),为什么要信任引起更多问题的 fTPM 版本?所以我看不到说 “那个 fTPM 东西不起作用” 的任何缺点。即使它最终能够工作,也有一些不比它差的替代品。

因此,我不认为直接说 "that fTPM thing is not working" 有什么不好。即使它将来能用,也有其他替代方案,不会比现在更糟。

并补充道:

因此,[使用 RDRAND 时出现问题] 听起来不太可能,但谁知道呢...... Microcode 显然可以做任何事情,至少最初的 fTPM 问题似乎是因为 BIOS 做了一些真正疯狂的事情,如 SPI 闪存访问。

我可以很容易地想象到 BIOS fTPM 代码会使用一些绝对可怕的全局 “EFI synchronization” 锁或其他东西,从而导致一些完全无关的随机问题。

举例来说,如果不是 fTPM hwrnd 代码本身决定从 SPI 读取某个随机数,但它只是与 BIOS 涉及的其他内容进行序列化,我也不会感到惊讶。并非所有 BIOS 人员都以他们完全并行的可扩展代码而闻名......

如果 CPU microcode 能做任何类似的事情,我会非常惊讶。而这也并非不可能 - 惠普公司就曾用 SMI 将时间戳计数器搞得一团糟,我可以想象他们 - 或其他人 - 也会对 rdrand 做同样的事情。

但与 “EFI BIOS uses a one big lock approach” 相比,这听起来确实不太可能。

因此 rdrand (尤其是 rdseed)可能相当慢,但我认为我们讨论的是数百个 CPU 周期(也许是几千个)。与我们从 fTPM 看到的卡顿报告完全不同。

希望在 Torvalds 的额外压力下,将会有一些额外的明确性和修复方案来解决 Linux 下的 AMD fTPM 问题。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/881056.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第4章 微服务框架主体搭建

mini商城第4章 微服务框架主体搭建 一、课题 框架搭建 二、回顾 1、整体业务功能分析 2、根据业务需求设计表结构及字段 三、目标 1、版本控制器的搭建使用 2、能独立自主的搭建微服务框架 3、学会考虑一些公共的工具组件 4、网关模块的应用 四、内容 第1章 版本控…

nodejs+vue+elementui电影订票网站系统_wqc3k

电影订票系统在国内有很多值得借鉴的例子,功能也都趋于完善,因此此次电影订票系统将轻量化开发,要完成以下功能: (1)要支持完整的用户注册,登录功能,账号的管理通过管理员来实现。 &…

推断统计中非参数检验之卡方检验、列联表分析和游程检验

一、(卡方检验):赛马比赛的赛道会影响成绩吗 这里以一个实例赛马比赛的赛道是否会影响成绩为例,实际就是检验获胜频数与期望频数之间有无显著性差异。 import pandas as pdstep1 调用包 from scipy.stats import chisquare impor…

上市公司-企业声誉得分和评级测算(2000-2021年)

一、数据介绍 数据名称:上市公司-企业声誉得分和评级测算 数据年份:2000-2021年 数据样本:50235条 数据来源:自主整理 二、参考文献 参考文献: 管考磊,张蕊.企业声誉与盈余管理:有效契约观还是寻租观[J].会计研…

隧道HTTP优化程序示例

作为专业爬虫程序员,我们经常需要使用代理服务器处理大量的请求。但是,单一服务器往往无法承担高并发请求和HTTPS加密的压力,这时候我们可以利用CDN来优化性能,并实现反向代理和HTTPS加速。下面,让我们一步步来了解。 …

集简云推出的全国第一款 AI+连接器解决方案产品语聚AI

语聚AI是集简云推出的全国第一款 AI连接器解决方案产品,官网:https://yuju.jijyun.cn 语聚AI包括了多个不同的AI功能,协助企业和个人更好的使用AI语言模型所带来的能力,包括: 应用助手 希望通过AI智能助手帮助您查询C…

【vue3】点击按钮弹出卡片,点击卡片中的取消按钮取消弹出的卡片(附代码)

实现思路: 在按钮上绑定一个点击事件,默认是true;在export default { }中注册变量给卡片标签用v-if判断是否要显示卡片,ture则显示;在卡片里面写好你想要展示的数据;给卡片添加一个取消按钮,绑…

分享个试卷去笔迹什么软件,几个步骤轻松擦除

试卷擦去笔迹是一项非常关键的技能,它可以帮助你更好地管理你的笔记和文件。不管是小伙伴们想重新测试试卷或者是将试卷输出为电子版,都可以实现的。在这篇文章中,我将分享一些方法和软件,帮助你更好地进行试卷擦除。有需要的小伙…

极狐GitLab 上新:跳过无需备份项目,节约数 10 至 1000 倍时间与磁盘空间

目录 复习一下:简单高效的数据备份恢复 Get 新功能,跳过无需备份的项目,让磁盘空间“大瘦身” 💡 最近,极狐GitLab 推送了最新的 16.2 版本,本文将详解新功能之「在备份时跳过项目」,即在备份…

OKCC在系统安全方面做了哪些措施?

语音通信行业,运营者普遍比较关心的问题是,运营风险如何控制?运营安全如何保证?OKCC呼叫中心又有那些风控措施来保证运营安全。 当前阶段,语音通信运营,最主要的风险主要包括以下几个方面: 一、…

怎么入门PLC?

一.基础很重要。只有打好基础,才能学好PLC。 1.首先,我们应该了解电气原理图。电路图是发展的基础。由于PLC可以取代继电器和接触器控制,必须了解相应的基本电路原理! 2.了解PLC的基本结构和动作原理。 既然你想学习PLC技术&am…

想学好网络技术,这一张纸就够了

大家好,我是老杨。 马上又到一年一度的大学新生入学季,今年更多家长都给孩子们报了计算机相关专业。 要知道啊,这个计算机专业包含的方向贼多,什么网络工程、软件工程、信息安全、物联网工程、传感网技术、通信工程与电子信息之…

TiDB v7.1.0 跨业务系统多租户解决方案

本文介绍了 TiDB 数据库的资源管控技术,并通过业务测试验证了效果。资源管控技术旨在解决多业务共用一个集群时的资源隔离和负载问题,通过资源组概念,可以限制不同业务的计算和 I/O 资源,实现资源隔离和优先级调度,提高…

LAXCUS和GPU软硬件结合,构建强大算力生态

随着科技的不断进步,计算机技术已经渗透到我们生活的方方面面。其中,GPU(图形处理器)作为一种强大的计算设备,已经成为了人工智能、大数据、云计算等领域的核心硬件之一。然而,传统操作系统都是单机系统,只能在一台计算…

哈威比例多路阀控制放大器

多路比例阀放大器控制负载敏感原理的比例多路换向阀,它用于与负载无关的、无级调节液压执行元件的运动速度。 多个执行元件可以同时和相互无关地进行工作。 这种类型的阀主要用于行走液压机械(例如:起重控制系统)。 通过选择执行元…

数据安全服务能力评定资格证书-申请流程

数据安全服务能力评定(以下简称能力评定)是指对数据安全服务提供商从事数据安全服务综合能力的评定,包括技术能力、服务能力、质量保证能力、人员构成与素质、经营业绩、资产状况等要素。 用于对中华人民共和国境内的数据安全服务提供商提供…

react实现模拟弹框遮罩的自定义hook

需求描述 点击按钮用于检测鼠标是否命中按钮 代码实现 import React from react; import {useState, useEffect, useRef} from react;// 封装一个hook用来检测当前点击事件是否在某个元素之外 function useClickOutSide(ref,cb) {useEffect(()>{const handleClickOutside…

localhost:8080 is already in use

报错原因:本机的8080端口号已经被占用。因为机器的空闲端口号是随机分配的,而idea默认启动的端口号是8080,所以是存在这种情况。 对于这个问题,我们只需要重启idea或者修改项目的启动端口号即可。 更推荐第二种。对于修改项目启动端口号&…

贴吧照片和酷狗音乐简单爬取

爬取的基本步骤 很简单,主要是两大步 向url发起请求 这里注意找准对应资源的url,如果对应资源不让程序代码访问,这里可以伪装成浏览器发起请求。 解析上一步返回的源代码,从中提取想要的资源 这里解析看具体情况,一…