
整理 | 屠敏
出品 | CSDN(ID:CSDNnews)
眾所周知,向來脾氣火爆、直來直去的 Linux 之父 Linus Torvalds,對代碼質量有著嚴苛的要求,尤其是要合并到 Linux 內核的代碼,更是容不得半點瑕疵和敷衍。
可就在 Linux 7.0 內核的開發進程中,一批計劃合入的 MMC 相關代碼修改,卻直接撞了槍口——被 Linus 接連用“完全是垃圾”、“沒經過測試的破爛”狠批,毫無情面地全部駁回,原本為 Linux 7.0 準備的一眾 MMC 子系統優化,也因此徹底無緣該版本。
![]()
![]()
MMC 是什么?
Linux MMC(MultiMediaCard)子系統是內核中負責管理 MMC、SD 及 SDIO 總線協議的驅動框架。它不僅驅動 eMMC、SD 卡等存儲設備,也驅動通過 SDIO 接口連接的非存儲外設,如 Wi-Fi 模塊、藍牙適配器等。手機、嵌入式設備、開發板乃至部分服務器設備中的存儲及無線通信部件,都可能依賴這一機制。
它負責設備初始化、協議處理以及讀寫調度等底層工作。雖然普通用戶很少直接接觸這一層,但在實際系統運行中,它是存儲棧里不可或缺的一部分。
![]()
![]()
Linus 怒拒 Linux 7.0 中的 MMC 代碼修改
這次子系統維護者原本計劃給 Linux MMC 做一波升級,其實包含了一些頗有看點的改動,例如:
為通過 SDIO 連接的 NXP IW61x WiFi 芯片添加設備 ID 支持;
加入對 2025 年之后生產日期的識別支持;
針對部分 Kingston eMMC 優化安全擦除和 TRIM 操作;
對 DW_MMC 代碼進行清理;
在 mtk-sd 驅動中新增對聯發科 MT8189 的支持,以及對多個 SHDCI 驅動的更新。
從功能層面看,這些改動并不算激進,更像是一次常規迭代。
問題出在代碼本身以及流程上。
按照內核社區長期形成的慣例,子系統更新在向 Linus 發起 pull request 之前,應當先進入 linux-next 倉庫進行整合測試。linux-next 的作用,是在主線合入前發現跨子系統沖突、編譯問題以及集成錯誤。
然而,這次的 MMC 更新到了 Linus 手中時還存在一堆問題。
Linus 在郵件伊始直接怒斥道:“這些改動完全是垃圾,甚至連編譯都過不了。看起來它們根本沒有進過 linux-next,也沒有做過任何構建測試。”
緊接著,他似乎是耐著性子一步一步告訴子系統的貢獻者這段代碼究竟錯哪了:
當 CONFIG_MULTIPLEXER=m 時,我們會構建這個 core.o 文件:
obj-$(CONFIG_MULTIPLEXER) += mux-core.o但在 include/linux/mux/consumer.h 里你卻寫了:
#ifdef CONFIG_MULTIPLEXER這個條件在這里并不會成立(因為實際被定義的是 CONFIG_MULTIPLEXER_MODULE),結果就會引發一連串類似下面這樣的錯誤:
drivers/mux/core.c:312:14: error: redefinition of ‘mux_control_states’因為 mux/consumer.h 頭文件里已經定義了那個占位用的封裝函數。
換句話說,那條提交 ad314348ceb4(“mux: Add helper functions for getting optional and selected mux-state”)就是徹頭徹尾、未經測試的垃圾。
![]()
Linus 的“代碼”潔癖
其實熟悉 Linux 社區的人都知道,Linus 對代碼質量的要求向來嚴苛,這次的操作其實一點都不意外。Linux 作為全球使用最廣泛的開源內核,從服務器、手機到嵌入式設備,都有它的身影,內核代碼的穩定性和可靠性直接關系到無數設備的正常運行。
而 Linux-next 這個測試環節,就是內核代碼的“第一道安檢”,能提前發現編譯、兼容性問題,避免有問題的代碼進入正式版本。這批 MMC 代碼不僅沒走安檢,還自帶一堆錯誤,顯然觸碰了 Linus 的底線。
對此,Linus 的態度也很明確:
「我不想看到你再發什么“修復版”的 pull request。這件事完全不可接受,在這個合入窗口期間,我不會再從你這里拉取任何東西。
別再給我發那些沒進過 linux-next、連最基本檢查都通不過的未測試垃圾代碼。
你可以在 7.1 周期再試一次——前提是它真的進過 linux-next,并且經過了正確的測試。」
回看過往,Linux 內核每個版本周期都會發生類似的“臨門剎車”事件。對外界來說,這看起來像是一次“怒批”;對長期參與內核開發的人來說,這更像是例行的流程糾偏。
開放協作并不等于放松標準。正是這種對流程和質量的堅持,才讓 Linux 主線在數十年高頻迭代中保持相對穩定。
參考:
https://www.phoronix.com/news/Linux-7.0-No-MMC-Changes
https://lore.kernel.org/lkml/CAHk-=wgnRQiKqWVrO_uF1btYM2K8r8xL95RGdKU3QLe8B58nrw@mail.gmail.com/
https://gigazine.net/gsc_news/en/20260212-linus-torvalds-rejects-mmc-changes-linux-7/
未來沒有前后端,只有 AI Agent 工程師。
這場十倍速的變革已至,你的下一步在哪?
4 月 17-18 日,由 CSDN 與奇點智能研究院聯合主辦「2026 奇點智能技術大會」將在上海隆重召開,大會聚焦 Agent 系統、世界模型、AI 原生研發等 12 大前沿專題,為你繪制通往未來的認知地圖。
成為時代的見證者,更要成為時代的先行者。
奇點智能技術大會上海站,我們不見不散!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.