本文转载自雷锋网原标题:你们没有商量!LinusTorvalds删除了AWS工程师提交的补丁,称这是愚蠢的行为。网友:我的幸福回来了。最近,Linux内核项目负责人LinusTorvalds删除了AWS工程师提交的一个补丁,他认为这将导致所有使用该补丁的Linux用户(无论他们是否使用IntelCPU)的CPU性能下降。他在回复邮件时说:在我看来,这基本上是将缓存刷新指令导出到用户空间,并为进程提供了一种方式来减慢与此事无关的其他人的速度。换句话说,据我所知,英特尔发布了一个有缺陷的CPU,导致虚拟化代码出现问题(我并不关心),这太疯狂了,但现在它会影响一些不存在的东西第一名。对于有这些疑问的Linux用户来说,完全没有意义。我不希望应用程序运行时像“哦,我是一朵特别、美丽、如此娇嫩的花,我想刷新L1D上的每个任务缓存,无论我在什么CPU上,是否有漏洞”.因为这个应用程序不仅会减慢自己的速度,还会减慢其他应用程序的速度。也就是说,这个漏洞确实存在,影响不大,但是如果用这个补丁修复的话,会让用户的电脑变慢。同时,他还指出,Linus提到虚拟化其实是针对AWS的。与其他云服务提供商一样,AWS通常销售启用了同步多线程(SMT)的虚拟CPU。“启用SMT后,任务调度是分布式的,因此在任务结束和新任务开始之间刷新L1D缓存是很愚蠢的。”有网友表示,这是典型的AOE补丁,打完补丁后,不管是AMD还是Intel,都会降低性能,打不上去很正常。也有一些纯粹来吃瓜的网友,说Linus嘴巴又香了,我的青春又回来了!(手动狗头)新的攻击方式Snoop那么,这个让高手吐槽的漏洞补丁是什么呢?据开源中国称,这种新型攻击称为“SnoopAssistedL1DataSamplingAttack”,简称Snoop(CVE-2020-0550)。今年3月,来自AWS的软件工程师PawelWieczorkiewicz发现了英特尔处理器的缺陷,称它可能会泄漏CPU的内部存储器或缓存中的数据,包括英特尔流行的至强和酷睿系列处理器。Pawel迅速将此问题报告给了英特尔,后者随后将该漏洞评为中等严重程度的漏洞。Snoop攻击利用了IntelCPU多级缓存、缓存一致性和总线侦听的特性。发生缓存更新操作,从CPU泄漏数据。那么,这个错误真的很重要吗?在谈这个问题之前,我们首先要了解三级缓存的概念。百度百科显示,通常电脑都会采用三级缓存设计来提高CPU的运行效率。三级缓存包括L1一级缓存、L2二级缓存和L3三级缓存。这些缓存集成在CPU中。它们充当CPU和主存之间的高速数据缓冲区。图片来自网络(侵删)其中L1距离CPU核心最近;接下来是L2;L3又来了。从运行速度来看:L1最快,L2次之,L3最慢;在执行任务时,CPU会先在最快的L1中寻找需要的数据,如果找不到,再去次快的L2中寻找。找不到就找L3,没有L3就去内存找。一级缓存可分为一级数据缓存(DataCache,D-Cache,L1D)和一级指令缓存(InstructionCache,I-Cache,L1I),分别用于存储数据和分别执行数据指令译码。可同时被CPU访问,减少了CPU多核多线程争用缓存带来的冲突,提高了处理器的性能。也就是说,一旦这个漏洞被攻击者利用,将直接攻击计算机的核心。因此,Pawel认为这种攻击方式是危险的,需要打补丁。但LinusTorvalds不这么认为。Intel官方也给出了解释,称这种新的攻击方式很难实现,不会泄露大量数据,因为L1D缓存中的数据非常有限,只在任务调用数据时存在很短的时间。我们不认为Snoop攻击是可信操作系统环境下实用的攻击方式,因为要利用这个漏洞必须同时满足很多严格的条件,比如攻击时间恰逢用户打开程序,而程序调用的数据正是攻击者想要窃取的数据。至于这个补丁是不是真的没什么用,只能等时间来告诉我们了。“锤炼”开源之父:LinusTorvalds在开源界,LinusTorvalds是家喻户晓的名字。技术天才、大神、开源领袖……他开发的linux为开源软件运动做出了贡献,是所有Geeks的最爱。Linux是一种自由开源的类UNIX操作系统。该操作系统的内核于1991年10月5日由LinusBenedictTorvalds首次发布。添加用户空间应用后,就变成了Linux操作系统。然而,伟大的人总是有点古怪,开源之父经常被批评说话情绪化,甚至是用脏话表达意见。但大多数时候LinusTorvalds愤怒的主要原因是技术相关,而不是以人为本。例如,2018年,为了修复Spectre漏洞,Intel工程师提供了间接分支限制推测(IBRS)功能的补丁。LinusTorvalds当时在邮件列表中公开指出IBRS会导致系统性能大幅下降,直言补丁“完全是垃圾”,“Intel真的要搞这样的X吗?”再举个例子,他曾经是这样评论C++的:“坦白说,C++是一门相当可怕的语言,而且有很多不合格的程序员在使用它,这让它变得更加可怕。即使你什么都不做在C中,C++程序员可以使用它。”连窗户都逃不过他的咆哮。在接受采访时,当记者问及他对微软Windows操作系统的看法时,他回答说:作为操作系统,Windows确实创造了很多OK的应用,其中有一些还是很不错的。但是从操作系统的角度和这个角度来看,Windows确实是一个糟糕的操作系统。从道德的角度来看,他的影响力会更大。微软确实在影响世界,但我认为他们不应该如此投入,只关心赚钱。”还有,在一次课堂上,当有同学问到有关Nvidia芯片的问题时,Linus更是简单粗暴,直接对着镜头做出这样的动作:虽然他自己也知道自己的坏习惯,但他曾说过要退并反映,不过网友们觉得这问题不大,毕竟比起他的贡献,这些都是大神的人格魅力。
