AI盯Bug,Rust转正:Linux 7.0发布

摘要:2026年4月12日,Linus Torvalds发布了Linux Kernel 7.0。Rust支持正式结束实验期,成为与C并列的核心语言。Linus还提到,AI工具在发现Bug方面正在发挥越来越重要的作用。

{“AIGC”:{“Label”:”1″,”ContentProducer”:”MiniMax”,”ProduceID”:”062d7948f5d98f97f49e8ede1735db23″,”ReservedCode1″:”{\”SecurityData\”:{\”Type\”:\”TC260PG\”,\”Version\”:1,\”PubSD\”:[{\”Type\”:\”DS\”,\”AlgID\”:\”1.2.156.10197.1.501\”,\”TBSData\”:{\”Type\”:\”LabelMataData\”},\”Signature\”:\”a63fe051f407b359b1f90dfd12d2e1a401ce56c6cbde5e57ed5626119a02bf6049b63b3f8a640b6fc8b765327cb931eab2053d499aa4ff3d912e2e61a3e06f37\”},{\”Type\”:\”DS\”,\”AlgID\”:\”1.2.156.10197.1.501\”,\”TBSData\”:{\”Type\”:\”Binding\”,\”BType\”:\”0\”},\”Signature\”:\”4e1b3698c528a2394adb018cfe8442a62eac478226ac8a6a71e3af1f5b23700522bea6344d75bafcd79f6ce14fee1adf00f1ebcdf86bdf2566c01d40639ba03c\”},{\”Type\”:\”PubKey\”,\”AlgID\”:\”1.2.156.10197.1.501\”,\”TBSData\”:{\”Type\”:\”\”},\”KeyValue\”:\”00a0b3b0b6a0c9b0c89cab328342af4e8221ec5b40799cbe835ab4251f7b47e4fd\”}],\”Bindings\”:[{\”Type\”:\”Hash\”,\”AlgID\”:\”1.2.156.10197.1.401\”,\”TBSData\”:{\”Type\”:\”\”},\”Signature\”:\”b809481b8c7e69767291b7bcd2ec42765ea86923645000bbe00322da56bb9fa1\”}]}}”,”ContentPropagator”:”MiniMax”,”PropagateID”:””,”ReservedCode2″:””}}

2026年4月12日(周日),Linus Torvalds正式发布了Linux Kernel 7.016。这是继6.19之后的一次常规版本滚动,不涉及重大架构变革,但内容依然相当丰富。

Torvalds在发布公告中特别提到了一个有趣的现象:

“最后一周的发布工作延续了’大量小修复’的趋势,而且一切看起来都相当良性,所以我就标记了最终的7.0并推送了出去。我怀疑这很大程度上是AI工具的功劳——它们不断帮我们找到边界情况。这很可能成为一段时期的’新常态’,让我们拭目以待。”6

这段话既是对当前开发状态的描述,也暗示了AI辅助工具在Linux内核开发中正在扮演越来越重要的角色。

为什么是7.0?

Linux内核的版本号一直以来都比较”随意”。Torvalds的习惯是:当次版本号(例如6.19)超过某个阈值后,就将其重置为新的主版本号(7.0)。这不是宣告某种重大架构变革,只是为了避免版本号过长带来的混淆。6.x系列从2022年6月发布6.0起,历经约四年,才在达到6.19后完成了这次滚动。


Rust:实验结束,正式转正

本次7.0最具标志性的变化,莫过于Rust支持的正式”转正”7

Rust语言自2022年12月随Linux 6.1首次进入内核主干,最初只是实验性质。2025年12月,在Linux Kernel Maintainers峰会上,内核维护者们达成共识:Rust实验阶段正式结束,Rust已成为内核的核心组成部分,与C语言并列7

这意味着开发者现在可以用Rust编写内核代码,而不必将其标记为”临时性质”。Rust带来的核心优势是内存安全:它能从语言层面杜绝空指针引用、释放后使用、缓冲区溢出等常见安全漏洞——这些恰恰是内核安全事件的主要根源。

不过这并不代表Rust会在一夜之间取代C。内核中已有数亿行C代码,而Rust的采用是一个渐进的过程。但正如一位维护者所言:”实验结束了,Rust会留下来。”

{“AIGC”:{“Label”:”1″,”ContentProducer”:”MiniMax”,”ProduceID”:”062d796e50ed9221ca4d3fc9f53498d3″,”ReservedCode1″:”{\”SecurityData\”:{\”Type\”:\”TC260PG\”,\”Version\”:1,\”PubSD\”:[{\”Type\”:\”DS\”,\”AlgID\”:\”1.2.156.10197.1.501\”,\”TBSData\”:{\”Type\”:\”LabelMataData\”},\”Signature\”:\”3905b036a5ef5570f4ebe4b22a30414d25ed5f1a51e15c758ce5098ebba557d59d5d27d8c51f6b19bf6c7e6e49bb6943e30a80370742c054bb3abd0b60743f7f\”},{\”Type\”:\”DS\”,\”AlgID\”:\”1.2.156.10197.1.501\”,\”TBSData\”:{\”Type\”:\”Binding\”,\”BType\”:\”0\”},\”Signature\”:\”817d14ee3f093833fe37aca16d370de7e3c9064ac81a4f52e8f0cabd43027e177c8efa45c67f5ba7e79f11c21efb417c8b3f8daeec26d35a9e39843e5df3f1c8\”},{\”Type\”:\”PubKey\”,\”AlgID\”:\”1.2.156.10197.1.501\”,\”TBSData\”:{\”Type\”:\”\”},\”KeyValue\”:\”00a0b3b0b6a0c9b0c89cab328342af4e8221ec5b40799cbe835ab4251f7b47e4fd\”}],\”Bindings\”:[{\”Type\”:\”Hash\”,\”AlgID\”:\”1.2.156.10197.1.401\”,\”TBSData\”:{\”Type\”:\”\”},\”Signature\”:\”ba9269a6933e29b452e431628fdf1dc69528c51612a170b8991e655d0377723c\”}]}}”,”ContentPropagator”:”MiniMax”,”PropagateID”:””,”ReservedCode2″:””}}

AI工具:发现Bug的新力量

Torvalds提到的AI工具,正在改变内核代码审查的方式2

在7.0的开发周期中,AI辅助工具被广泛应用于代码分析,能够在大量提交中识别出人类维护者容易忽略的边界情况和潜在缺陷。Torvalds认为,这种趋势可能在未来一段时间内持续——AI工具将持续帮内核找到更多”角落里的Bug”。

这意味着未来的内核发布周期可能会呈现”更多小修复”的特征:AI能更早发现问题,但修复的绝对数量未必减少。这究竟是福是祸,Torvalds自己也保持了开放态度:”让我们拭目以待。”


安全升级:后量子密码时代开启

Linux 7.0在安全领域的一个重要里程碑,是引入了ML-DSA(Module-Lattice-Based Digital Signature Algorithm,模块格基数字签名算法)后量子签名支持10

什么是ML-DSA? 这是NIST(美国国家标准与技术研究院)在FIPS 204标准中批准的后量子签名算法,基于格(lattice)数学难题构建。ML-DSA有三个安全等级:ML-DSA-44、ML-DSA-65和ML-DSA-87,数字越大越安全。它被设计为即使未来量子计算机出现,也能保持签名不可伪造。

为什么要现在就在内核中加入后量子签名?因为存在“现在收集,以后解密”(Harvest Now, Decrypt Later)攻击——国家级黑客已经在大量收集加密数据,等待量子计算机成熟后进行解密。内核模块签名如果继续依赖传统算法,届时可能被伪造。提前迁移到ML-DSA,是为量子威胁时代做准备的必要一步。

与此同时,Linux 7.0彻底移除了SHA-1模块签名方案。SHA-1早在2011年就被NIST废弃,2017年更是出现了实际碰撞攻击。这个变化虽然会带来兼容性挑战,但安全角度来看,SHA-1在内核中的使用早该终结。

另一个安全亮点是AMD ERAPS(Enhanced Return Address Predictor Security,增强型返回地址预测器安全)支持。这是一个Zen 5及以上AMD CPU的安全功能,KVM虚拟化现在可以向虚拟机虚拟化和展示该功能,意味着虚拟机也能享受与宿主机同等的返回预测安全保护。


文件系统:XFS自愈、Btrfs进化、nullfs登场

XFS:会自己修自己的文件系统

XFS在7.0中获得了一项重磅功能——自主自愈(autonomous self-healing)89

新增的xfs_healer守护进程由systemd管理,能够实时监控系统中的元数据故障和I/O错误,并在文件系统保持挂载的状态下自动触发修复。用户无需卸载分区、无需重启系统,文件系统自己就能”治病”。这个功能的实现依赖于7.0同期合入的VFS错误报告接口,由Christian Brauner主导开发。

Btrfs:大块Direct I/O与remap-tree

Btrfs新增了对块大小大于系统页面大小的直接I/O(Direct I/O)支持8。此前直接I/O有块大小限制,现在这一约束得以放宽,对大块I/O场景(如数据库)有明显好处。

此外,Btrfs还引入了remap-tree(重新映射树)这一实验性功能。它为逻辑块地址提供了一个翻译层,使文件系统在处理数据重定位和写时复制操作时,不需要真正移动或重写物理块,可以显著提升某些操作效率。

F2FS和nullfs

F2FS(Flash-Friendly File System)继续推进大folios支持,以提升大文件顺序读取性能。EROFS(Enhanced Read-Only File System)默认启用LZMA压缩算法。

值得关注的是新增的nullfs:这是一个极简的伪文件系统,作为挂载层级中的”真实根”使用。此前的pivot_root()无法在真正的根文件系统上工作,因为根无法卸载;nullfs解决了这个问题,使initramfs中的pivot_root()能够正常工作。

{“AIGC”:{“Label”:”1″,”ContentProducer”:”MiniMax”,”ProduceID”:”062d79a770dd4cfee2ffe7db30e0d2e4″,”ReservedCode1″:”{\”SecurityData\”:{\”Type\”:\”TC260PG\”,\”Version\”:1,\”PubSD\”:[{\”Type\”:\”DS\”,\”AlgID\”:\”1.2.156.10197.1.501\”,\”TBSData\”:{\”Type\”:\”LabelMataData\”},\”Signature\”:\”fc88e7ececb82f658eaa21bd47c186d953a409136974d4801d2958a2aa8990482cfc3b3ddbdc7bb8735b4df1077f6c591a4fe36965cea95e60ec880767677ac0\”},{\”Type\”:\”DS\”,\”AlgID\”:\”1.2.156.10197.1.501\”,\”TBSData\”:{\”Type\”:\”Binding\”,\”BType\”:\”0\”},\”Signature\”:\”e34d653acfc86fd97f2d4daa88574a694a970576fd29b4c5165d7c92d77b78388e8fa5df5a4cf9b0e76c5765e378ff8e1a0bae153551a4b53b3ba9b7ed598c67\”},{\”Type\”:\”PubKey\”,\”AlgID\”:\”1.2.156.10197.1.501\”,\”TBSData\”:{\”Type\”:\”\”},\”KeyValue\”:\”00a0b3b0b6a0c9b0c89cab328342af4e8221ec5b40799cbe835ab4251f7b47e4fd\”}],\”Bindings\”:[{\”Type\”:\”Hash\”,\”AlgID\”:\”1.2.156.10197.1.401\”,\”TBSData\”:{\”Type\”:\”\”},\”Signature\”:\”b8e1430405449cd4a242cde1c20d24260dba9b5dbb035933a11ad9d34e95b767\”}]}}”,”ContentPropagator”:”MiniMax”,”PropagateID”:””,”ReservedCode2″:””}}

性能优化:swap刷新、io_uring BPF、调度器改进

swap性能方面,7.0采用了简化的交换表(simplified swap table)机制,并引入了zram子系统的压缩数据写回功能——压缩后的页面在写回时无需解压,直接推送,减少了内存操作开销48

io_uring BPF过滤是另一个值得关注的变化:现在可以通过BPF(Berkeley Packet Filter)程序对io_uring操作进行细粒度过滤和任务继承限制,在受限容器环境中为管理员提供更精细的I/O控制能力。

在调度器方面,Linux 7.0将默认抢占模式切换为lazy preempt(惰性抢占),这是一个长期酝酿的改变,大多数架构上Preempt-RT补丁中已有的改进终于进入主线。此外还新增了时间片扩展机制(Time Slice Extension),允许应用程序在执行关键任务时临时申请时间片延长,避免被调度器意外抢占——这对于游戏和实时音频应用尤其有价值。


{“AIGC”:{“Label”:”1″,”ContentProducer”:”MiniMax”,”ProduceID”:”062d798e9d8e6c4930d2d0aaa0fff8f3″,”ReservedCode1″:”{\”SecurityData\”:{\”Type\”:\”TC260PG\”,\”Version\”:1,\”PubSD\”:[{\”Type\”:\”DS\”,\”AlgID\”:\”1.2.156.10197.1.501\”,\”TBSData\”:{\”Type\”:\”LabelMataData\”},\”Signature\”:\”a9ec8efe4178cc0aa3d9a3ea577f5810db079017ca7dbe2e218556f5221ecd6d7de61cba8a3edfb23a90c12ae05e5c38e3fd325a77cb4b93f31bc9c063d59b9c\”},{\”Type\”:\”DS\”,\”AlgID\”:\”1.2.156.10197.1.501\”,\”TBSData\”:{\”Type\”:\”Binding\”,\”BType\”:\”0\”},\”Signature\”:\”12c477490e3fd31d6897cec5e1c0b904b7187d9a7307717759ed0e69ae52f47abdde093c601b8857bc2afc7bc584c31d06a9a3fee7bbb5fc0da09dbb1c205a63\”},{\”Type\”:\”PubKey\”,\”AlgID\”:\”1.2.156.10197.1.501\”,\”TBSData\”:{\”Type\”:\”\”},\”KeyValue\”:\”00a0b3b0b6a0c9b0c89cab328342af4e8221ec5b40799cbe835ab4251f7b47e4fd\”}],\”Bindings\”:[{\”Type\”:\”Hash\”,\”AlgID\”:\”1.2.156.10197.1.401\”,\”TBSData\”:{\”Type\”:\”\”},\”Signature\”:\”78fc86ea8f0d711fee21c682b3052174b0d8ed94f4fc9802cb5d16edd1935f06\”}]}}”,”ContentPropagator”:”MiniMax”,”PropagateID”:””,”ReservedCode2″:””}}

硬件支持:下一代CPU准备就绪

硬件方面,Linux 7.0为即将到来的硬件做好了铺垫48

  • Intel Nova Lake:正在优化其音频子系统的支持
  • AMD Zen 6:增加了相关性能计数器和分支预测支持,为未来硬件发布做准备
  • Wi-Fi 8(802.11bn / UHR):初步支持已加入,Wi-Fi 8标准的前期工作正在推进
  • RISC-V:新增Zicfiss(指令压缩缓存)和Zicfilp(跳转标签)扩展支持
  • Rock Band 4手柄:游戏手柄支持列表中新增了Rock Band 4控制器

此外,Linux 7.0还为ARM64引入了原子64字节加载/存储指令支持,以及LoongArch架构的128位原子cmpxchg支持。


哪些发行版会用上7.0?

Ubuntu 26.04 LTS和Fedora 44都将默认搭载Linux 7.0作为内核45。其他滚动发行版(如Arch Linux)也会在近期通过更新仓库推送7.0。


关联阅读

👉 本文是该公众号首篇深度解析Linux内核的技术文章。

如果你对AI辅助编程工具感兴趣,可以阅读:

如果你想了解AI工具在代码审查中的应用,可以阅读:


参考资料

[1]  9to5Linux – Linux Kernel 7.0 Officially Released, This Is What’s New

[2]  The Register – Linux 7.0 debuts as Linus Torvalds ponders AI’s bug-finding powers

[3]  Linuxiac – Linux Kernel 7.0 Released, This Is What’s New

[4]  OMG! Ubuntu – Linux 7.0: faster swap, Intel TSX & Rock Band 4 controller support

[5]  ITS Foss – Linux Kernel 7.0 Released

[6]  LKML – Linus Torvalds: Linux 7.0

[7]  LWN – The (successful) end of the kernel Rust experiment

[8]  Phoronix – Linux 7.0 Released With New Hardware Support, Optimizations & Self-Healing XFS

[9]  Linuxiac – XFS Could Gain a Self-Healing Feature in Linux Kernel 7.0

[10]  abit.ee – Linux 7.0: Post-Quantum Cryptography ML-DSA