99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

網易首頁 > 網易號 > 正文 申請入駐

“把BUG當特性,真是見鬼了!”Linux之父痛斥文件系統「大小寫不敏感」:這是天大的錯誤

0
分享至


整理 | 鄭麗媛

出品 | CSDN(ID:CSDNnews)

在開源圈中,Linus Torvalds 發火的場面,總能引發一陣“小型地震”。

近日,這位 Linux 之父又一次開炮了——這回,目標直指文件系統開發中的老大難問題:大小寫不敏感(case-insensitive,即不區分字符的大小寫)。他不僅痛批這種設計是“天大的錯誤”,連帶著 Bcachefs 項目的維護者 Kent Overstreet 也被一通狂懟。

為什么一個看似簡單的“大小寫問題”會引發 Linus 如此強烈的反應?事情還要從 Bcachefs 最近提交的一個修復補丁說起……



Bcachefs 的修復補丁觸發爭議

進入正題前,先掃個盲:Bcachefs 是一種用于 Linux 操作系統的寫時復制(COW)文件系統,由首席開發者 Kent Overstree 在 2015 年發布。

早在近兩年前,來自 Valve/Linux 的一位開發者就曾為 Bcachefs 提交了關于大小寫折疊(case folding)/大小寫不敏感文件和目錄支持的補丁,這一功能隨后被合入了 Bcachefs 的內核驅動中。但開發者們發現,這套大小寫不敏感機制實際上根本沒能正常工作。

為了解決這個長期存在的問題,Bcachefs 開發團隊在 Linux 6.15-rc4 發布前夕,提交了新的修復補丁,終于讓大小寫不敏感的目錄支持真正生效。

而在此次提交中,Bcachefs 項目的主開發者 Kent Overstreet 特地附上了一段長篇備注,坦言這次失誤背后的深層教訓。他提到,當初與負責開發的同事溝通時,雖然提醒過“fstests 套件中應包含相關測試”,但他忽略了強調“必須確保這些測試真正執行過”這一點,從而導致了問題潛伏至今。

Kent Overstreet 總結道:

僅僅依賴自動化測試是不夠的,你必須親眼確認自己的代碼實際在做什么。也就是說,在你徹底熟悉手頭代碼和測試套件之前,你需要親自‘用眼睛看’,確認測試確實按你預期的方式運行,你的代碼也確實按你預期的邏輯在執行。 如果你對代碼行為還有一絲不確定,就必須主動深入驗證——加上 printk 日志、tracepoint 跟蹤點、計數器,或者用任何其他手段都可以。自動化測試只是一個兜底機制,并不是萬無一失的保障。你一定要在本地運行自己的代碼,并親自觀察結果。

可以看出,這次 Bcachefs 這次的修復不僅是功能完善,也更像是一次深刻的工程管理反思。


Linus 怒了:大小寫不敏感本身就是錯誤

不過,這件事到了 Linus Torvalds 這里,就不僅僅是測試流程疏忽的問題了——他從更根本的層面,直接對大小寫不敏感文件系統的理念發起了猛烈攻擊。

在 Linux 內核郵件列表(LKML)上,Linus 寫道:“唯一的教訓就是:文件系統開發者從來學不會。大小寫不敏感的命名,本身就是天大的錯誤,根本就不應該去做。問題不是測試做得不夠,是一開始就不該去實現它。

在 Linus 看來,試圖“正確地”實現大小寫不敏感,只會導致更多不可控的后果。因為 Unicode 編碼標準本身就很復雜,包含了大量的特殊字符、不可打印字符和可忽略字符(ignorable code points),試圖在這樣一個體系上做到“大小寫折疊正確”,幾乎是不可能的。

更嚴重的是,一旦處理得不好,就會引發嚴重的安全問題。

Linus 舉了一個具體的例子:? 和 ??表面上看非常相似,但實際上是不同的編碼。如果大小寫折疊邏輯一刀切地忽略這類細節,那么這兩個文件名就會被錯誤地認為是“相同的”——這不僅僅是名字混淆,更會讓原本基于字符串檢查機制(如驗證路徑是否安全)的用戶空間程序失效,引發安全漏洞。

對于這種潛在風險,Linus 毫不留情地評價:“于是,每一個在用戶態中通過文件名檢查來保護路徑的程序,基本上都能被這種機制騙過,執行了它們明明不該做的操作。這絕不是小概率事件——有大量程序正是這么工作的。

在帖子最后,除了點名批評 Bcachefs 項目,Linus 還順勢諷刺了那些懷念老式 FAT 文件系統的人(FAT 文件系統是早期 PC 時代常見的文件系統,但在現代計算環境中,這種設計早已被證明存在大量問題,尤其在安全性和一致性方面表現糟糕):

真是見鬼了。大小寫不敏感,本質上就是個 BUG,文件系統開發者們居然到今天還把它當作一個‘特性’,我完全無法理解。這種行為簡直像是,他們對古老的 FAT 文件系統懷有一種變態的崇拜,非得一遍又一遍地把這種糟糕設計復制出來——而且每次都做得更爛。

總結來說,在 Linus 看來,所謂“正確實現大小寫不敏感”,本質上就是無解的。


開發者對此看法不一

事實上,大小寫不敏感文件系統的需求,最早來源于早期 Windows(FAT、NTFS)以及 macOS(HFS+)的傳統。由于歷史兼容性和用戶友好性考慮,這些系統允許 File.txt 和 file.TXT 被視為同一個文件。但在 Linux 世界里,從一開始文件系統就是大小寫敏感的——File.txt 和 file.txt 是兩個完全不同的文件。

近年來,隨著跨平臺需求增加,部分 Linux 文件系統(如 ext4、F2FS、Btrfs)也陸續引入了可選的大小寫不敏感支持。然而正如 Linus 所說,盲目追求“兼容”或“方便”,很可能種下難以預料的安全隱患:

(1)性能開銷:需要增加更多索引處理邏輯。

(2)標準不統一:Unicode 標準復雜,處理可忽略字符、特殊字符等問題極為棘手。

(3)安全風險:一旦字符串匹配邏輯出現偏差,便可能引發嚴重的訪問控制失效。

對于此次 Linus 的言論,不少開發者表示強烈支持

  • “編程的話大小寫變量是不同的變量,確實很重要。”

  • “剛剛遇到一個Windows上大小寫不敏感的文件覆蓋問題,這個的確是設計不合理。”

  • “真正問題是不統一,因為有的領域區分大小寫,有的領域卻不區分。當然從字符本身的需求而言,肯定是統一強制區分大小寫更省事。”

但也部分開發者認為,強制區分大小寫并不是什么好主意

  • “我將繼續堅持我對區分大小寫的文件系統的厭惡,因為我不得不在 ssh 控制臺會話中處理一堆文件,其中每個目錄都有數十個文件,這些文件僅在大小寫上都有所不同。”

  • “我完全不同意 Linus 的觀點和憤怒。在我看來,區分大小寫的文件系統一直是個愚蠢的倒退想法,沒有一個人能給出他們需要它的理由。”

那么對于這個事情,你的看法又是如何呢?

https://www.phoronix.com/news/Linus-Torvalds-Anti-Case-Fold

https://www.phoronix.com/news/Bcachefs-Linux-6.15-Fixes-Fold


特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
大S兒女過兒童節,和汪小菲夫婦聚餐曝光,小玥兒穿新衣被夸漂亮

大S兒女過兒童節,和汪小菲夫婦聚餐曝光,小玥兒穿新衣被夸漂亮

古希臘掌管月桂的神
2025-06-02 10:40:32
樊振東加盟德國乒乓球俱樂部,中國乒協:理解尊重,全力支持

樊振東加盟德國乒乓球俱樂部,中國乒協:理解尊重,全力支持

政知新媒體
2025-06-01 12:43:51
民國的三大憾:中山引狼入室,學良適得其反,適之機場痛哭

民國的三大憾:中山引狼入室,學良適得其反,適之機場痛哭

深度報
2025-05-31 22:51:49
再戰薩巴倫卡!鄭欽文展望:紅土比她得心應手,會拼搏到最后一刻

再戰薩巴倫卡!鄭欽文展望:紅土比她得心應手,會拼搏到最后一刻

全景體育V
2025-06-02 08:54:07
不愧是中國軍人!邊防戰士口咬“光榮彈”,呵退印度越線部隊

不愧是中國軍人!邊防戰士口咬“光榮彈”,呵退印度越線部隊

記哥說事
2025-06-01 21:42:54
南寧一女子花460多萬元購買大平層,要買第二套時竟發現土地使用權僅剩47年

南寧一女子花460多萬元購買大平層,要買第二套時竟發現土地使用權僅剩47年

環球網資訊
2025-06-02 12:36:42
每經實探 | 網紅家裝企業“住范兒”上海總部人去樓空,放假前每天上百人討債,有供應商被欠幾百萬元

每經實探 | 網紅家裝企業“住范兒”上海總部人去樓空,放假前每天上百人討債,有供應商被欠幾百萬元

每日經濟新聞
2025-06-02 06:57:44
中國代表就在臺下,美防長30分鐘問責中國,話音剛落,解放軍出動

中國代表就在臺下,美防長30分鐘問責中國,話音剛落,解放軍出動

獵火照狼山
2025-06-01 21:17:15
美國零售商要求中國供應商承擔66%關稅成本

美國零售商要求中國供應商承擔66%關稅成本

小鬼頭體育
2025-05-31 17:06:44
安徽一姑娘將荔枝核丟水里,20天成“粉森林”,網友:氛圍感絕了

安徽一姑娘將荔枝核丟水里,20天成“粉森林”,網友:氛圍感絕了

小嵩
2025-06-02 10:40:44
河南一水庫水位下降現千佛石窟,有1043尊石佛幾乎全部被敲掉頭部,水庫管理人員:汛期將至,禁止參觀

河南一水庫水位下降現千佛石窟,有1043尊石佛幾乎全部被敲掉頭部,水庫管理人員:汛期將至,禁止參觀

魯中晨報
2025-06-02 10:19:03
日本突發5.9級地震!2天前剛發生6.1級,此前“大地震預言”瘋傳

日本突發5.9級地震!2天前剛發生6.1級,此前“大地震預言”瘋傳

極目新聞
2025-06-02 07:48:32
入戶調查已開始,請積極配合!

入戶調查已開始,請積極配合!

環球時報新聞
2025-06-02 10:59:56
獨立候選人納夫羅茨基贏得波蘭總統選舉

獨立候選人納夫羅茨基贏得波蘭總統選舉

界面新聞
2025-06-02 12:41:09
殲-20在渤海擊落F-35和預警機?越傳越離譜,造謠者膽子太肥了

殲-20在渤海擊落F-35和預警機?越傳越離譜,造謠者膽子太肥了

第一軍情
2025-05-31 19:33:23
二湘:哈佛女孩的演講假大空,這個世界缺的是溫和而意志堅定的人

二湘:哈佛女孩的演講假大空,這個世界缺的是溫和而意志堅定的人

二湘空間
2025-06-02 10:29:43
烏方透露對俄實施特別行動,摧毀41架俄戰略轟炸機

烏方透露對俄實施特別行動,摧毀41架俄戰略轟炸機

界面新聞
2025-06-01 21:20:09
流入市場的“臨床試驗”抗癌藥

流入市場的“臨床試驗”抗癌藥

大象新聞
2025-06-02 09:31:46
美軍宣布:發動空襲

美軍宣布:發動空襲

第一財經資訊
2025-06-02 11:06:16
剛剛!港股突然大跌!

剛剛!港股突然大跌!

龍行天下虎
2025-06-02 10:55:09
2025-06-02 14:04:49
CSDN incentive-icons
CSDN
成就一億技術人
25596文章數 242067關注度
往期回顧 全部

科技要聞

新造車5月再洗牌:問界回前三,小米守第五

頭條要聞

女子花460萬買大平層 買第二套時發現土地使用權剩47年

頭條要聞

女子花460萬買大平層 買第二套時發現土地使用權剩47年

體育要聞

傲了一輩子的恩里克,心中永遠住著一個小天使

娛樂要聞

章子怡深夜曬娃,兒女正面照曝光

財經要聞

美稱中方違反經貿會談共識 商務部駁斥

汽車要聞

吉利汽車5月銷量23.52萬輛 同比增長46%

態度原創

房產
健康
藝術
教育
家居

房產要聞

金地華南落子海南自貿港22萬㎡標桿項目,夯實代建行業領軍者地位

唇皰疹和口腔潰瘍是"同伙"嗎?

藝術要聞

故宮珍藏的墨跡《十七帖》,比拓本更精良,這才是地道的魏晉寫法

教育要聞

2024智慧家長家教好故事展播(二十二)

家居要聞

原木純白 邂逅自然本真

無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 凌源市| 泽普县| 开化县| 海伦市| 吉首市| 虞城县| 类乌齐县| 保德县| 新余市| 柳江县| 桑日县| 晋中市| 沛县| 宜城市| 英德市| 冕宁县| 平昌县| 古浪县| 静宁县| 广元市| 江安县| 三台县| 宜阳县| 汝城县| 石门县| 长春市| 玛纳斯县| 平武县| 宁化县| 金华市| 抚远县| 太原市| 温宿县| 兴义市| 泸溪县| 大宁县| 曲松县| 平阳县| 阜城县| 富宁县| 新沂市|