作者 | Paul Brown
譯者 | qhwdw
Linus Torvalds 在週日釋出了 Linux 的 4.15 版核心,比原計劃釋出時間晚了一週。瞭解這次發行版的關鍵更新。
Linus Torvalds 在週日(1 月 28 日)釋出了 Linux 內核的 4.15 版[1],再一次比原計劃晚了一週。延遲釋出的罪魁禍首是 “Meltdown” 和 “Spectre” bug,由於這兩個漏洞,使開發者不得不在這最後的週期中提交重大補丁。Torvalds 不願意“趕工”,因此,他又給了一週時間去製作這個發行版本。
不出意外的話,這第一批補丁將是去修補前面提及的 Meltdown 和 Spectre[2] 漏洞。為防範 Meltdown —— 這個影響 Intel 晶片的問題,在 x86 架構上開發者實現了頁表隔離(PTI)[3]。不論什麼理由你如果想去關閉它,你可以使用核心引導選項 pti=off
去關閉這個特性。
Spectre v2 漏洞對 Intel 和 AMD 晶片都有影響,為防範它,核心現在帶來了 retpoline 機制[4]。Retpoline 要求 GCC 的版本支援 -mindirect-branch=thunk-extern
功能。由於使用了 PTI,Spectre 抑制機制可以被關閉,如果需要去關閉它,在引導時使用 spectre_v2=off
選項。儘管開發者努力去解決 Spectre v1,但是,到目前為止還沒有一個解決方案,因此,在 4.15 的核心版本中並沒有這個 bug 的修補程式。
對於在 ARM 上的 Meltdown 解決方案也將在下一個開發週期中推送。但是,對於 PowerPC 上的 bug,在這個發行版中包含了一個補救措施,那就是使用 L1-D 快取的 RFI 沖刷特性[5]。
一個有趣的事情是,上面提及的所有受影響的新核心中,都帶有一個 /sys/devices/system/cpu/vulnerabilities/
虛擬目錄。這個目錄顯示了影響你的 CPU 的漏洞以及當前應用的補救措施。
晶片帶 bug (以及保守秘密的製造商)的問題重新喚起了開發可行的開源替代品的呼聲。這使得已經合併到主線版本的核心提供了對 RISC-V[6] 晶片的部分支援。RISC-V 是一個開源的指令集架構,它允許製造商去設計他們自己的基於 RISC-V 晶片的實現。並且因此也有了幾個開源的晶片。雖然 RISC-V 晶片目前主要用於嵌入式裝置,它能夠去做像智慧硬碟或者像 Arduino 這樣的開發板,RISC-V 的支持者認為這個架構也可以用於個人電腦甚至是多節點的超級計算機上。
正如在上面提到的,對 RISC-V 的支援[7],仍然沒有全部完成,它雖然包含了架構程式碼,但是沒有裝置驅動。這意味著,雖然 Linux 內核可以在 RISC-V 晶片上執行,但是沒有可行的方式與底層的硬體進行實質的互動。也就是說,RISC-V 不會受到其它閉源架構上的任何 bug 的影響,並且對它的支援的開發工作也在加速進行,因為,RISC-V 基金會已經得到了一些行業巨頭的支援[8]。
4.15 版新核心中的其它新特性
Torvalds 經常說他喜歡的事情是很無聊的。對他來說,幸運的是,除了 Spectre 和 Meltdown 引發的混亂之外,在 4.15 核心中的大部分其它東西都很普通,比如,對驅動的進一步改進、對新裝置的支援等等。但是,還有幾點需要重點指出,它們是:
要發現更多的特性,你可以去檢視在 Kernel Newbies[12] 和 Phoronix[13] 上的內容。
via: https://www.linux.com/blog/intro-to-linux/2018/1/linux-kernel-415-unusual-release-cycle
作者:PAUL BROWN[15] 譯者:qhwdw 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出