Linux 之父怒删工程师提交的补丁,称“太蠢了”网友:怼得好!



编译 | 伍杏玲

出品 | 程序人生(ID:coder_life)

——Talk is cheap,Show me the code!

——好了,看完了,太 Low 了,我删了哈。

以上段子还真不是段子,近日,Linux 之父Linus Torvalds 删除了工程师提交的关于对 Intel CPU 的Snoop攻击补丁。 

今天三月,Intel CPU曝光容易受到新的Snoop攻击影响,可能会泄漏CPU内部存储器(缓存)中的数据。AWS工程师Pawel Wieczorkiewicz发现并报告了此攻击方法,该攻击被描述为“Snoop辅助L1数据采集”,或“Snoop”(CVE-2020-0550),这些攻击可能会影响了一系列Intel Xeon和Core CPU。。

于是AWS工程师Balbir Singh为Linux内核写了个补丁,应用程序在任务关闭时选择加入刷新L1D缓存的功能。

Balbir Singh表示: “这可以保护数据在任务切换到上下文后不被旁通道窃听或泄漏。” 该补丁本来会随Linux内核版本5.8一起发布。这个功能将允许应用程序以选择加入的方式调用prctl(2),在任务离开CPU后刷新L1D缓存,前提是硬件支持这个任务。

Linus 认为这个补丁程序会允许选择加入这个补丁的程序应用降低其他应用程序的CPU性能,他在邮件里详细描述:

邮件传送门:

https://lore.kernel.org/lkml/CAHk-=wgXf_wQ9zrJKv2Hy4EpEbLuqty-Cjbs2u00gm7XcYHBfw@mail.gmail.com/

“在我看来,这是将缓存刷新指令导出到用户空间,并提供一种方法来让用户说出'我要让其他人减速'的方式,” Linus在邮件里写道。 

Linus将怼人的技术练就得炉火纯青了:

“换句话说,疯狂的'英特尔发布有故障的CPU,这会导致虚拟化问题'(我不太在意),还可能影响到不需要它的人和CPU以及增加完全没有意义的配置”。

“我不希望有任何应用程序在运行的时候都是'哦,我很特别,很漂亮,如此娇嫩,我想在每个任务开关上刷新L1D,无论使用的是哪个CPU,以及是否存在问题'。如果这样做的话,应用程序不仅在降低自身速度,还在减慢其他应用程序的速度。”

Linus表示其实对虚拟化的引用是针对AWS的,AWS与其他云提供商一样,通常启用了同步多线程(SMT)的虚拟CPU。 

当启用SMT后,“在最低要求下,启用SMT应该完全禁用这种疯狂的伪安全性,因为在那种情况下它是完全没有意义的。调度根本不是SMT处于启用状态的同步点,因此在上下文切换刷新L1是很愚蠢的” 他说。 

“在SMT上刷新L1D 是疯狂的,因为攻击者只会在同级内核上并在任务切换发生之前攻击L1内容”。

参考:https://www.zdnet.com/article/linus-torvalds-rejects-stupid-aws-made-linux-patch-for-intel-cpu-snoop-attack/

=程序员福利来啦=
原价69元,Java精品课1元秒杀
系统学习Java,理解底层编程逻辑
《10小时闪电上手Java编程》
购课后扫码进群,还可获得老师答疑

????????

推荐阅读

你的每一个“在看”,都是我们最好的期盼

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值