Linus 發出警告:請勿使用 Linux Kernel 5.12-rc1
上周 Linux Kernel 幾經波折終于發布了 5.12-rc1 版本,不過就在發布后的第二天,Linus 又立馬向內核郵件列表發出了一封警告郵件,告訴大家不要使用最新的 5.12-rc1 內核(尤其是使用 swap 文件來運行的用戶),并要求維護者不要從 5.12-rc1 進行分支,以免將問題帶到未來的版本中。
郵件發出之前,Linus 就已將公共 git 樹中的 "v5.12-rc1" tag 重命名為 "v5.12-rc1-dontuse",以提醒用戶不要使用。根據 Linus 的解釋,5.12-rc1 版本內核嚴重破壞了對交換文件 (swapfile) 的處理,會導致文件系統被隨機交換數據覆蓋,此外還會導致大段的元數據被覆蓋。元數據的損壞可能會導致整個文件系統無法掛載和使用。
導致此問題的原因是交換文件的讀/寫偏移(swapfile read/write offset)處理失當,更新后的 v5.12-rc1 代碼會丟失指向交換文件開頭的適當偏移量,雖然交換仍會進行,但出現在了文件系統不該交換的地方,并因此釀成災難性的后果。
定位了問題后,內核開發者迅速進行了修復,隔天 Linus 就發布了修復此問題的 Linux Kernel 5.12-rc2。
目前已可以放心使用 v5.12-rc2。
本文轉自OSCHINA
本文標題:Linus 發出警告:請勿使用 Linux Kernel 5.12-rc1
本文地址:https://www.oschina.net/news/132220/a-warning-about-5-12-rc1