懟你沒商量!Linux之父手刪AWS工程師交的補丁表示這是愚蠢的行為

来源:https://www.cnblogs.com/Javaxgg/archive/2020/06/12/13110647.html
-Advertisement-
Play Games

大神教你線上懟人~ “大神” Linus Torvalds 又來懟人了。 據開源中國報道,近日,Linux 內核項目負責人 Linus Torvalds 刪除了 AWS 工程師提交的一個補丁,他認為這將導致所有使用該補丁的 Linux 用戶的 CPU 性能下降(無論他們是否使用英特爾 CPU) 。在 ...


大神教你線上懟人~

“大神” Linus Torvalds 又來懟人了。

據開源中國報道,近日,Linux 內核項目負責人 Linus Torvalds 刪除了 AWS 工程師提交的一個補丁,他認為這將導致所有使用該補丁的 Linux 用戶的 CPU 性能下降(無論他們是否使用英特爾 CPU) 。在回覆該郵件時表示:

懟你沒商量!Linux之父手刪AWS工程師交的補丁表示這是愚蠢的行為

 

在我看來,這基本上是將緩存刷新指令導出到用戶空間,併為進程提供了一種方式,可以說讓與這事情無關的其他人也慢了下來。

換言之,據我所知,這就是瘋狂的 Intel 發佈了有缺陷的 CPU,它給虛擬化代碼帶來了問題(我對此並不太在意),但現在要因為它的問題影響到本來就沒有這些問題的 Linux 用戶,這是完全沒有意義的。

我不想某個應用程式跑起來就像在說 ‘哦,我是一個特別的,漂亮的,如此嬌嫩的花,我想刷新 L1D 上的每一個任務緩存,無論我在什麼 CPU 上,無論它是否有漏洞’。因為這個應用程式不僅會降低自身速度,還會降低其他應用程式的速度。

也就是說,漏洞確實存在,影響不大,但如果利用這個補丁來修複反而會讓用戶的電腦變得更慢。

同時,他也指出,Linus 對虛擬化的引用其實也是針對 AWS 的,AWS 和其他雲服務提供商一樣,銷售的虛擬 cpu 通常啟用了同步多線程(simultaneous multithreading,SMT)功能。

“在啟用 SMT 的情況下,任務調度是分散式進行的,所以說,在任務結束與新任務開始之間刷新 L1D 緩存是非常愚蠢的。”

對此,有網友表示贊成,認為這是典型的 AOE 補丁,打補丁之後,無論是 AMD 還是 Intel ,都會降低性能,不能通過是正常的。

懟你沒商量!Linux之父手刪AWS工程師交的補丁表示這是愚蠢的行為

 

也有些網友純碎是來吃瓜的,表示 Linus 又口吐芬芳了,我的青春又回來了!(手動狗頭)

懟你沒商量!Linux之父手刪AWS工程師交的補丁表示這是愚蠢的行為

 

1

新型攻擊方式 Snoop

那麼,讓大神吐槽的這個漏洞補丁是啥?

據開源中國介紹,這種新型攻擊名為“探聽輔助 L1 數據採樣攻擊”,簡稱 Snoop (CVE-2020-0550)。

今年 3 月,來自 AWS 的軟體工程師 Pawel Wieczorkiewicz 發現了 Intel 處理器的這一漏洞,稱它可能會泄露 CPU 內部存儲器或緩存中的數據,涉及 CPU 包括 Intel 旗下流行的 Xeon 和 Core 系列處理器。Pawel 迅速向 Intel 報告了此問題,隨後該漏洞被 Intel 定位為中等嚴重性漏洞。

Snoop 攻擊利用 Intel CPU 多級緩存、緩存一致性和匯流排監聽等特性,通過位於 CPU 內核中的一級數據緩存(L1D),通過“匯流排監聽”(bus snooping)功能 —— 在 L1D 中修改數據時發生的緩存更新操作,將數據從 CPU 中泄漏出來。

所以,這個漏洞到底重不重要呢?

在講這個問題之前,先要明白三級緩存的概念。

百度百科顯示,通常,電腦會採用三級緩存的設計來提高 CPU 的運行效率,三級緩存包括 L1 一級緩存、L2 二級緩存、L3 三級緩存,這些緩存都集成在 CPU 內,它們的作用是作為 CPU 與主記憶體之間的高速數據緩衝區。

懟你沒商量!Linux之父手刪AWS工程師交的補丁表示這是愚蠢的行為

 

其中 L1 最靠近 CPU 核心;L2 其次;L3 再次。運行速度方面:L1 最快、L2 次快、L3 最慢;在執行一項任務時,CPU 會先在最快的 L1 中尋找需要的數據,找不到再去找次快的 L2,還找不到再去找 L3,L3 都沒有才去記憶體找。

一級緩存又可以分為一級數據緩存(Data Cache,D-Cache,L1D)和一級指令緩存(Instruction Cache,I-Cache,L1I),分別用於存放數據及執行數據的指令解碼,兩者可同時被 CPU 訪問,減少了 CPU 多核心、多線程爭用緩存造成的衝突,提高了處理器的性能。

也就是說,這個漏洞一旦被攻擊者利用就會直接攻擊電腦的核心,所以,Pawel 認為這一攻擊方式是危險的,補丁是必要的。

但 Linus Torvalds 卻不這樣認為。

Intel 官方也給出瞭解釋,表示這種新攻擊很難實施,並且不會泄露大量數據,因為 L1D 緩存中的數據非常有限,並且只有在任務運行時調用數據的短暫時間內才會存在。

我們不認為 Snoop 攻擊在可信賴的操作系統環境下是一種實用的攻擊方法,因為要利用這一漏洞需要同時滿足很多苛刻的條件,比如攻擊的時間要正好與用戶打開程式的時間吻合,且程式調用的數據正好是攻擊者想要竊取的數據。

至於這個補丁是否真的沒多大用處,我們也只能等待時間來證明瞭。

2

“暴脾氣”的開源之父:Linus Torvalds

在開源世界,Linus Torvalds 是個如雷貫耳的名字。技術天才、大神、開源領袖……他開發的 linux 對開源軟體運動功不可沒,是所有 Geek 們的最愛。

懟你沒商量!Linux之父手刪AWS工程師交的補丁表示這是愚蠢的行為

 

Linux 是一種自由和開放源代碼的類 UNIX 操作系統。該操作系統的內核由 Linus Benedict Torvalds 在 1991 年 10 月 5 日首次發佈。在加上用戶空間的應用程式之後,成為 Linux 操作系統。

但是,偉大的人總有點怪脾氣,這位開源之父就經常因為講話帶有情緒,甚至是因為帶有髒話的意見而飽受非議。但大多數情況下 Linus Torvalds 憤怒的主要原因都與技術有關,並不針對人。

比如,2018 年,為了修補 Spectre 漏洞,Intel 工程師提供了一個間接分支限制推測(indirect branch restricted speculation, IBRS)功能的補丁。Linus Torvalds 當時就在郵件列表中公開指出 IBRS 會造成系統性能大幅降低,直言該補丁“就是徹徹底底的垃圾”,“Intel 真的要做這個 X 一樣的東西?”

懟你沒商量!Linux之父手刪AWS工程師交的補丁表示這是愚蠢的行為

 

再比如,他曾經是這樣評價C++:“坦白的說,C++ 是一個非常可怕的語言,並且很多不合格的程式員都在使用它,這讓它變得更可怕。即使你用C語言不做任何事情也可以把那些用 C++ 的程式員幹掉。”

甚至連 windows 也沒逃過他的吐槽。

在一次採訪中,記者問他對微軟 Windows 操作系統的看法時,他回答道:Windows 作為一個操作系統,確實打造了許多還算 OK 的應用,其中有些還是非常不錯的。但是從操作系統跟這個角度來看的話,Windows 真的是一個很爛的操作系統。從道德角度來看,他的影響會更大些。微軟確實是在影響著世界,但是我覺得他們不應該涉及那麼廣,只顧著賺錢。”

還有,在一次課堂上,當有學生問及英偉達晶元相關的問題時,Linus 更是簡單粗暴,並且直接對著鏡頭來了這麼個動作:

懟你沒商量!Linux之父手刪AWS工程師交的補丁表示這是愚蠢的行為

 

儘管他自己也意識到了自己的這個壞毛病,曾經還表示閉關反省,但網友們認為這也並非什麼大問題,畢竟比起他做出的貢獻,這些反而是大神的人格魅力。

懟你沒商量!Linux之父手刪AWS工程師交的補丁表示這是愚蠢的行為

 

最後小編整理了一套技術資料不僅能精準消除技術盲點、累計面試經驗,更可以攻剋JVM、Spring、分散式、微服務等技術難題。

懟你沒商量!Linux之父手刪AWS工程師交的補丁表示這是愚蠢的行為

 

海量電子書,珍藏版

懟你沒商量!Linux之父手刪AWS工程師交的補丁表示這是愚蠢的行為

 

懟你沒商量!Linux之父手刪AWS工程師交的補丁表示這是愚蠢的行為

 

懟你沒商量!Linux之父手刪AWS工程師交的補丁表示這是愚蠢的行為

 

懟你沒商量!Linux之父手刪AWS工程師交的補丁表示這是愚蠢的行為

領取步驟

1.加微信獲取


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 策略模式用於演算法的自由切換和擴展,實現了演算法定義和演算法分離的使用 模式動機 要完成一項任務,可以有多種不同的方式,例如人們外出旅游時可以選擇多種不同的出行方式,如自行車、坐汽車、坐高鐵或乘飛機等,每一種方式稱為一個策略,我們可以根據環境或者條件的不同選擇不同的策略來完成該任務。 在實際的軟體開發中, ...
  • 前言 首先給大家說聲對不起,最近屬實太忙了,白天上班,晚上加班,回家還要收拾家裡,基本每天做完所有事兒都是凌晨一兩點了,沒有精力再搞其他的了. 好了,進入正題,讓我們來聊聊JVM篇最後一個章節 JVM性能調優.童鞋們隨便打開一個大廠的招聘崗位JD,應該都會有JVM調優相關的描述,其實招聘方不一定要求 ...
  • 1 import cv2 2 import shutil 3 import os 4 5 path='D:\\PythonProject\\fangWen' 6 # 視頻文件堆 7 save_path='D:\\PythonProject\\11\\720與1280' 8 # 要移到的位置 9 sr ...
  • MyBatis-全局配置文件 在MyBatis中全局配置文件有著重要的地位,裡面有9類行為信息;如果我們要想將MyBatis運用的熟練,配置全局配置文件是必不可少的步驟,所以我們一定要啃下這一塊硬骨頭。該文章是結合MyBatis配置文件網頁加個人理解做的筆記,如果有的地方寫的不夠好或者有錯誤。懇請大 ...
  • substring :網路譯義是截取字元串中的子串 它的功能也是如翻譯一樣是 java中截取字元串的一個方法。 下麵有一個例題代碼如下: public static void main(String[] args) { String names[] = {"Thomas", "Peter", "Jo ...
  • 為了更好的顯示響應的書數據,先基本介紹渲染器的使用:現在settings.py的文件種變數INSTALL_APPS中添加一個app——“rest_framework”,在請求視圖類中返回數據響應的方式使用from rest_framework.response import Response的類,請 ...
  • class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Nonefrom typing import Listclass Solution: # 迭代的想法 def levelOrderBot ...
  • --這裡是註釋 --[[ 功能備註:lua快速體驗,學習,瞭解語法 創建時間:2020-6-12 創建人:pcw --]] --【數據類型與輸出】 print(" "); print("configlab") print(b);--輸出:nil print(type(b));--輸出:nil pri ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...