Linux 7.1:称之为“LLM 末日”,内核直接删除了138,000 行代码
Kicinski 究竟删除了什么
六种早已被世界淘汰的协议,AI 一边带来新开发者,一边迫使旧代码退出。Linux 7.1:告别 i486,NTFS 重获新生。当保留代码的成本高于删除它,你的代码库里也有死代码十三万八千行,一个拉取请求
“如果我们想在‘LLM 末日’中争得一线生机,这些代码就必须找到一位专门的负责人,否则就应当被删除。”Linux 网络维护者 Jakub Kicinski 在拉取请求说明中写下了这句话。随后,他真的把它们删了——全部删掉。六个完整的子系统,共计 138,000 行网络代码;这些技术早已被现实世界关闭多年,内核却仍然一直在编译它们。2026 年 4 月 26 日,Linus Torvalds 将这个拉取请求合并进 Linux 7.1-rc1。这是 Linux 历史上第一次:由 AI 生成的缺陷报告直接促成了仍可工作的软件被移除。Kicinski 推动了这件事,Linus 则批准它进入 rc1;数月之内,它就会随 Linux 7.1 进入每一台运行 Linux 的服务器、手机和嵌入式设备。Kicinski 究竟删除了什么
在这个合并窗口中,超过 138,000 行代码被删除。与此同时,Linux 还接收了来自 2,011 名开发者的 12,996 个变更集,其中 342 人是首次贡献者。删除这些代码的明确动机是:AI 生成的安全缺陷报告正不断涌向维护者,让他们不得不为已经没有真实用户的代码承担大量工作。网络子系统移除了ATM(异步传输模式)、AX.25 与业余无线电网络、ISDN(综合业务数字网)、Bluetooth CMTP(蓝牙与 ISDN 之间的桥接协议)、CAIF(通信 CPU 与应用 CPU 接口),以及数十个老旧的 ISA、PCMCIA 和 PCI 网卡驱动。2008 年ATM 就已经是一件遗物。ISDN 曾是办公室 PBX(专用交换机)使用的协议,换成了 SIP(会话初始协议)中继。这些协议不是最近才失去意义——十年前就已经如此。代码之所以留下,是因为每位维护者都担心破坏某个自己看不见的部署环境。删除仍可工作的代码需要付出代价。有人必须审查依赖关系、测试回归、更新文档,并推动补丁通过评审。如果旧代码没有造成伤害,那么理性的选择一直是让它留在那里。然后,LLM 开始读取源代码树,并以维护者来不及关闭的速度提交缺陷报告。自 2024 年以来,内核维护者报告称,由大语言模型(LLM)扫描源代码树后生成的缺陷报告急剧增加。套路总是相同:LLM 读取旧代码,识别出一个可能的空指针解引用或释放后使用问题,生成一份形式上正确、实际却没有意义的缺陷报告,然后通过电子邮件发给维护者。这就像在一栋废弃房屋里接上烟雾报警器,每小时都向消防部门发出一次警报——可那栋楼从 2015 年起就一直空着。维护者现在必须阅读报告、评估问题、作出回复,然后要么修复一段生产环境中用户数为零的代码,要么解释为什么这份报告并不重要。每一份报告都会消耗志愿者数小时,因为在驳回它之前,维护者必须先验证问题是否真实存在。若几十份报告都针对完全没有活跃用户的子系统,这种成本会迅速累积。一名网络维护者若持续收到针对 ATM 代码的 LLM 报告,就只能二选一:每个月牺牲周末时间,维护一种所有电信公司都已停用的协议;或者删除代码。LLM 扫描旧子系统后,维护成本与实际价值之间的决策流程六种早已被世界淘汰的协议
ATM 是一种诞生于 20 世纪 90 年代的网络协议,原本供电信运营商在同一套基础设施上传输语音和数据。银行和电信运营商曾用它构建具备服务质量保证的专用线路。到 2010 年,以太网已经胜出;到了 2020 年,要找到一台仍在生产环境运行的 ATM 交换机,就像在硅谷寻找一台还能工作的传真机。在 DSL(数字用户线路)和光纤取代它之前,ISDN 通过数字线路承载电话。作为最后一批退役行动之一,德国电信在 2020 年前完成了德国境内的全 IP 迁移,永久关闭 ISDN 网络。这个协议已经死亡。AX.25 和业余无线电网络服务于业余无线电爱好者,使他们能够通过内核连接分组无线电系统。这个社群规模很小;如今多数业余无线电操作者使用专用硬件和软件,而不是 Linux 内核的网络协议栈。Bluetooth CMTP 用于在蓝牙和 ISDN 电话系统之间搭桥。ISDN 消失后,CMTP 也就失去了用途。CAIF 是 ST-Ericsson 为调制解调器与主处理器通信而设计的接口,它支持的硬件已经停产多年。子系统 | 鼎盛时期 | 最后已知的生产用途 |
ATM | 1995–2005 | 电信骨干专线 |
ISDN | 1988–2015 | 德国电信于 2020 年关闭网络 |
AX.25/业余无线电 | 1990–2010 | 业余无线电分组网络 |
Bluetooth CMTP | 2005–2015 | ISDN–蓝牙桥接设备 |
CAIF | 2010–2018 | ST-Ericsson 调制解调器接口 |
ISA/PCMCIA/PCI 驱动 | 1995–2008 | 笔记本扩展卡、老式网卡 |
合计:Jakub Kicinski 在一个网络子系统拉取请求中删除了 138,161 行代码。
AI 一边带来新开发者,一边迫使旧代码退出
删除 138,000 行死代码的同一个合并窗口,也迎来了 342 名首次参与内核开发的贡献者。他们每个人都在 2026 年最繁忙的合并窗口里,让自己的第一份补丁进入了 Linux 内核。几乎可以肯定,其中很多人借助 AI 编程助手理解代码库、起草最初的补丁,或者应对内核出了名严苛的提交流程。在同一个版本中,AI 工具一边吸引新贡献者进入,一边把旧代码推出去。342 名新开发者将编写内核的下一个十年;由 LLM 驱动的报告则让维护旧子系统变得过于昂贵,从而清理了跑道。这与房东面对空置房产时的计算完全相同:当一套空房的房产税开始超过它可能带来的全部租金时,就必须作出处理。AI/LLM 工具在 Linux 7.1 中同时推动新贡献与旧代码删除删除之外的 Linux 7.1:告别 i486,NTFS 重获新生
代码删除占据了讨论的中心,但 Linux 7.1 还有其他值得关注的变化。Torvalds 已确认 7.1 正在逐步淘汰 i486 处理器支持。内核删除了 i486 专用配置选项;真正的代码删除将在后续版本中进行,但决定已经作出。Intel 486 于 1989 年上市。即便以 Linux 内核的标准衡量,37 年也是一段漫长的服役期。某个大学实验室里,大概仍有研究人员出于怀旧目的在 486 上运行 Linux。他们必须在 7.2 或 7.3 的合并窗口到来前固定自己的内核版本。NTFS(新技术文件系统)获得了由 Namjae Jeon 开发的新驱动。这项历时四年的现代化工作基于原来只读的 NTFS 代码,增加了完整写入支持,性能也超过现有的 ntfs3 驱动。用于可插拔 CPU 调度器的 sched_ext 框架加入了新的子调度器;针对正在消亡的控制组(cgroup)的一项修复,则解决了长期存在的资源清理问题。稳定版预计在 2026 年 6 月 7 日至 14 日之间发布,具体取决于发布周期是在 RC7 结束,还是需要额外一周。当保留代码的成本高于删除它
在20 年来的每一个代码库中,都存在一些能够编译、通过测试、却没有任何用户的模块。理性的做法总是让它们留着,因为删除代码需要评审时间,也会带来回归风险。LLM 生成的缺陷报告打破了内核中的这套逻辑;而对你自己的代码库而言,安全审计或合规审查也会产生同样的效果。一旦维护死代码的成本超过它所提供的价值,代码就会被删除。大多数组织绝不会承认,他们删除代码是因为厌倦了回复 AI 生成的工单。他们会在季度全员会上把它称为“现代化”“转型”,或者“技术债削减”。Linux 内核没有费心使用这些委婉说法。Linux 7.1 合并窗口中的主要新增内容与删除内容你的代码库里也有死代码
Linux 内核有能力公开面对这件事。它拥有相应的流程、治理机制和社区,可以消化一次 138,000 行代码的删除而不破坏任何东西。你的公司几乎肯定做不到。同样的压力正在到来。如果你维护任何包含五年以上旧代码的开源项目,如果LLM 读取它。缺陷报告也许尚未出现,但它们终究会来。到那时,你将面对与内核维护者完全相同的计算:为了满足自动化报告者而维护死代码,还是把它删掉。现在就开始审计。找出代码库中没有活跃用户、近期没有提交记录,也没有商业理由继续存在的子系统。在 AI 缺陷报告迫使你作出决定之前,先把它们砍掉。Linux 内核刚刚向所有人演示了应该怎么做。没有委婉说法:他们明确表示这些代码已经死亡,AI 报告正在淹没志愿者,于是把代码删除了。当 LLM 生成的缺陷报告开始进入你的问题跟踪系统时,你的团队是否知道哪些代码值得捍卫,哪些代码值得删除?