【原文】https://medium.com/@canartuc/linux-7-0-googles-1m-bug-finally-fixed-afa20f37b892
Linux 7.0:Google 耗资百万美金的 Bug 终于修复了
Google 为 io_uring 悬赏金支付了 100 万美元,并已在 Chrome OS 上将其禁用。一位维护者称 Rust 为“癌症”并愤而退出。Linux 7.0 正是内核对这两者的回应。
作者: Can Artuc发布时间: 2026 年 2 月 21 日
70 亿台设备,35 年历史。Linux 7.0 标志着自 2022 年以来的首次重大版本号跳跃,而这一次升级意义非凡。

Linux 内核 (Kernel) 是硬件与你在电脑上所做一切之间的“隐形层”。它决定了你的手机如何与屏幕对话,以及 Netflix 如何流式传输到你的电视上。
Android 运行在它之上,互联网的大部分基础设施也运行在它之上。当内核发生变化时,数十亿台设备最终都会感受到它,无论你是否察觉。
Linus Torvalds 确认了版本号的升级,并以他一贯的方式将其定性为单纯的算术问题。“我已经到了会被大数字搞糊涂的地步了,”他写道。他说,手指和脚趾都快不够用了。
内核版本从 2.6 升至 3.0,从 4.20 升至 5.0,从 5.19 升至 6.0。现在,6.19 成为了 7.0。没有技术里程碑,没有 API 断层,仅仅是一个数字。
但有时,功能特性会与象征意义高度契合。仅在 Linux 7.0 合并窗口 (Merge Window) 的前半部分,就拉取了 7,695 个非合并提交 (Non-merge Commits)。一项为期五年的实验正式结束,抗量子加密 (Quantum-resistant Cryptography) 时代到来,Linux 内核也迎来了首份关于 AI 生成代码的成文政策。
我在电信、数字医疗和深科技成像领域从事 Linux 专业开发已超过 20 年。我见证了许多内核版本的更迭,有些无足轻重,而这一个,至关重要。
经过五年“战争”,Linux 7.0 让 Rust 正式化
自 1991 年以来,Linux 内核几乎完全使用 C 语言编写。C 语言虽然强大,但不容出错。它允许你犯下导致系统崩溃、内存损坏 (Memory Corruption) 或产生安全漏洞 (Security Holes) 的错误。
Rust 是一种较新的语言,旨在专门防止这些错误。
现在的争论焦点在于:是否应该强迫老牌匠人学习新工具?
Linux 7.0 中最大的故事不是某个功能,而是一次文化转变。
在东京举行的 2025 年内核维护者峰会 (Kernel Maintainer Summit) 上,维护者们达成了共识。Rust 项目负责人 Miguel Ojeda 发布了一个补丁 (Patch) 来为 Rust 实验画上句号。信息很明确:内核中的 Rust 不再是实验性的。它现在是内核的核心部分,并且将长期存在。
五年。这是 Rust 挂着“实验性”标签存在的时间。在这五年里,内核增长到了约 3400 万行 C 代码,而 Rust 贡献了大约 25,000 行。
这个比例告诉我们,Rust 并不是要取代 C,而是在逐个子系统地对其进行补充。
围绕这一决定的冲突是真实存在的。DMA 子系统维护者 Christoph Hellwig 称核心子系统中的 Rust 是“癌症”(指的是跨语言维护带来的负担,而非 Rust 本身)。
“别逼我处理你们那些时髦的玩意儿,”他说。随后,Christoph Hellwig 辞去了 DMA 维护者的职务。
Wedson Almeida Filho(微软工程师,Rust for Linux 的核心贡献者)因“非技术性的荒唐事”彻底离开了项目。Alex Gaynor(Rust 工作的共同负责人)在 Rust 正式化的同一周也选择退出。
最受尊敬的内核开发者之一 Ted Ts’o 直言不讳地说:“事实就是,你不可能强迫我们所有人都去学 Rust。”
Linus Torvalds 介入并捍卫了 Rust 的地位。稳定版内核维护者 Greg Kroah-Hartman 则给出了反面观点:“我们现有的大多数 Bug 都是由于 C 语言中那些愚蠢的细节边缘案例导致的,而这些在 Rust 中完全消失了。”
Android 16 已经搭载了 Rust 内核代码(ashmem 分配器)并运行在数百万台设备上。这不再是理论,而是生产实践。
Linux 7.0 中的后量子加密技术
每当你的电脑将驱动程序或软件组件加载到内核时,它都会检查数字签名 (Digital Signature),以确保其未被篡改。
问题在于,未来的量子计算机可能会伪造这些签名。而 Linux 7.0 的这一部分工作,就是用量子计算机也无法伪造的新签名替换旧签名。
大多数人几年内都不会注意到这一点,但它的影响将持续数十年。Linux 7.0 为内核模块验证增加了 ML-DSA 签名。
ML-DSA 代表“基于模块格的数字签名算法 (Module-Lattice-Based Digital Signature Algorithm)”。它是 FIPS 204(一项经过 NIST 批准的标准),专门因为格数学 (Lattice Math) 对传统计算机和量子计算机来说都极难破解而入选。现在已有三个安全级别(ML-DSA 44, 65, 和 87)可用。
既然实用的量子计算机还需要数年时间,为什么现在这很重要?因为“现在收集,以后解密 (Harvest now, decrypt later)”式的攻击。一些组织已经在收集加密数据,等待量子计算机来破解。
使用传统算法签名的内核模块可能会被追溯性地伪造。
你可以将其想象成一种即便使用尚未发明的开锁工具也无法撬开的锁。本版本包含了超过 5,000 行验证代码。
同样出于安全主题,SHA-1 模块签名已彻底移除。NIST 在 2011 年就弃用了 SHA-1,实用的碰撞攻击 (Collision Attacks) 在 2017 年随之而来。Linux 7.0 完全删除了该选项。
XFS 自愈功能:Linux 7.0 的静默突破
文件系统 (Filesystem) 是计算机在硬盘上组织文件的方式。XFS 是一种广泛应用于数据中心和大型存储系统的文件系统。
在此之前,修复损坏意味着必须让系统离线。而这次更新允许在系统运行的同时进行修复。
作为大规模存储的主力文件系统,XFS 获得了自主自愈 (Autonomous Self-healing) 支持。
一个新的 xfs_healer 守护进程 (Daemon) 会监控健康事件,并在文件系统保持挂载状态时自动检测并修复元数据损坏。无需停机,无需人工干预。校验和 (Checksums) 在正常运行期间检测损坏,而冗余的元数据副本则作为修复源。
这就像一辆在你行驶过程中能自我修复引擎的汽车。当然,硬件损坏导致的用户文件损坏仍然需要你自己解决,但那种能让整个文件系统无法挂载的元数据损坏,现在可以实时捕获并修复了。
io_uring:Linux 7.0 解决的百万美金安全难题
io_uring 是任何操作系统中最快的 I/O 接口之一,但它也曾是一场安全噩梦。
2022 年,Google 60% 的漏洞奖励都花在了 io_uring 漏洞利用上。Google 为此支付了约 100 万美元的赏金,并在 Chrome OS 上完全禁用了 io_uring。
核心问题在于:io_uring 绕过了传统的系统调用 (System Call),这意味着 seccomp(标准安全过滤器)无法触及它。
Linux 内核 7.0 为 io_uring 操作增加了基于 BPF 的过滤。系统管理员现在可以对 io_uring 应用精细的安全策略,而不必彻底禁用它。你既能获得性能,又能拥有安全控制。
Linux 7.0 调度器:模式更少,性能更好
内核调度器 (Scheduler) 在现代架构上从四种抢占模式减少到两种:PREEMPT_LAZY 和 PREEMPT_FULL。
PREEMPT_LAZY 是一个非常有趣的“金发姑娘 (Goldilocks)”选项(指恰到好处):它对普通任务采用宽松的抢占(让他们完成工作),对实时任务采用激进的抢占。
与此同时,一个开发了十年的时间片扩展 (Time-slice Extension) 补丁也合并了。桌面 Linux 用户应该能感觉到更流畅的性能。
容器与文件系统:静默的胜利
两个较小的变化值得关注:
- • OPEN_TREE_NAMESPACE:由 Christian Brauner 开发,将容器创建速度提升了 40%。
- • EROFS:在容器中获得了共享页缓存 (Shared Page Cache) 支持。不同容器中具有相同内容哈希的文件现在共享同一个缓存副本,这能显著降低内存占用。
- • Btrfs:获得了大块大小的直接 I/O (Direct I/O) 支持,这对数据库和视频处理工作负载非常有益。
AI 代码政策:为 AI 生成代码制定规则
随着 ChatGPT 和 Claude Code 等 AI 工具开始编写代码,内核社区需要决定:AI 可以提交代码吗?
Linux 7.0 在 kernel.org 上发布了官方的 AI 编程辅助文档。规则很明确:
- 1. 你必须使用 “Assisted-by” 标签披露 AI 的协助。
- 2. AI 代理不得添加 “Signed-off-by” 标签,因为只有人类才能在开发者原产地证书 (DCO) 下合法认证代码。
核心原则是:“AI 不会自己发送补丁,人类才会。”
总结
与 iPhone 或 Windows 不同,Linux 内核版本号只是一个计数器。当之前的数字变得太高时,它们就会增加。
并没有所谓的“Linux 7.0 发布会”。但 Linux 7.0 内部承载的内容确实具有分量:
- • 后量子签名让 Linux 在加密准备方面领先于大多数操作系统。
- • XFS 自愈和 io_uring 沙箱化是实用的、生产级的改进。
即便 Linus Torvalds 说这只是因为脚趾头不够数了,但这个驱动着 Android 手机、云服务器和超级计算机的内核,确实在安全性、可靠性和治理能力上变得更好了。
这确实值得一次版本号的跳跃。
如果您觉得这篇翻译不错,欢迎点击“在看”或转发,让更多工程师看到 Linux 的最新进展!