据开源中国 10 月 23 日消息,Linus Torvalds 向 Linux 内核主线提交了一次被他本人称为“迟到已久”的历史清理:__get_user() 与 __put_user() 两个历史悠久的接口被正式移除。
在内核与用户空间交换数据时,get_user()/put_user() 系列接口承担基础职责,其中不带下划线的版本会先对用户态指针做地址合法性检查,再执行读写;带双下划线的 __get_user()/__put_user() 则是跳过检查的“裸”变体,设计初衷是供极少数已确认指针安全的热点路径使用。但在长期实践中,不少调用方并未真正履行前置校验义务,使其成为越界访问与本地提权漏洞的常见源头。
Linus 在提交说明中态度直白:这对函数“完全是历史遗留,永远不是正确选择,而且还被误用”。移除之后,相关调用点将迁移至带完整检查的安全版本,从源头压缩误用空间。
同样值得关注的是,这次清理在 Claude 辅助下完成。此前 Linus 已公开过借助 AI 完成的页缓存优化补丁,AI 参与内核维护正从实验性个案变成日常工具链的一部分。
对企业 IT 团队而言,接口级清理意味着运行自研内核模块或第三方驱动的环境,在跟进新内核时需预留适配与回归测试窗口;而内核安全面随遗留接口退场进一步收敛,长期看是利好。