首页 > 开源 > Linus 使用 Claude 辅助对内核进行迟到已久的历史清理

Linus 使用 Claude 辅助对内核进行迟到已久的历史清理

OSChina资讯 2026-10-23 10:43 5 阅读 查看原文

Linus Torvalds 对 Linux Kernel 进行了一个「迟到已久的清理」:把 __get_user() 和 __put_user() 这两个历史悠久的函数从内核里删掉了。他在 commit message 里写得很直白——「这早就该做了:__get_user() 和 __put_user() 完全是历史遗留,永远不是正确选择,而且还被误用」。

__get_user() 和 __put_user() 是内核里向用户空间读写数据的旧接口,存在了几十年。问题是它们的设计是「绕过常规安全检查」的快速路径——本意是给最热路径用的优化,但随着硬件和内存模型演进,这两个函数的安全前提越来越不成立。Linus 说的“被误用”是重点:这些快速接口在实际使用中几乎总是被用错,用错时的后果比收益严重得多。

这次合并是内核多年来的又一次「减法」——把不再安全、不再合理的旧接口移除,强制所有调用点改用更安全的现代替代(copy_from_user / copy_to_user 以及经过严格检查的 get_user / put_user)。对内核这种以「稳定 ABI」著称的系统来说,删除一个老接口需要协调大量驱动和子系统的迁移,Linus 用「long over-due」形容,说明这个决定推迟了很久。

Linus 提到他部分使用了 Claude 来完成大规模、重复性的代码迁移,把它形容为一个增强版的 Coccinelle(代码自动重构工具)。 

参考来源: