主要观点总结
本文讲述了Linux内核开发过程中的一次紧张局面,涉及Linux 6.16合并窗口期间的一场关于伪造的补丁的争议。一位老牌内核贡献者Kees Cook提交的几百个补丁被Linus Torvalds质疑为伪造提交。最终,经过排查和沟通,发现是辅助工具b4的历史重写操作出了问题,而非人为蓄意攻击。事件引起了开发者的争论,部分开发者认为Linus反应过激,但也有开发者认为他的行为是为了维护项目的稳定和规则。
关键观点总结
关键观点1: Linux内核开发中的紧张局面
Linux内核开发是一项庞大而复杂的工程,涉及数千名开发者的协作。在Linux 6.16合并窗口期间,Kees Cook提交的数百个补丁引发争议。
关键观点2: Kees Cook的提交被质疑为伪造
Linus Torvalds在检查提交时发现Kees Cook的代码树中出现了高达330个的Pull Request,这些提交存在篡改作者信息、伪造合并历史的嫌疑。
关键观点3: 事件的真相浮出水面
经过排查和沟通,发现是辅助工具b4的历史重写操作出了问题,而非人为蓄意攻击。Kees使用的b4脚本中的git-filter-repo工具意外篡改了大量提交的元数据。
关键观点4: 开发者的争论
事件引起了开发者的争论,部分开发者认为Linus反应过激,但也有开发者认为他的行为是为了维护项目的稳定和规则。虽然存在争议,但这次事件也提醒了开发者对提交者信息的保护和对工具使用的谨慎。
正文
据悉,许多提交都声称是 Linus 发出的,也显示是 Linus 提交的。可 Linus 本人对此毫不知情:
“根本就不是
事实
,这都是
你凭空捏造出来的一堆垃圾!
”
Linus 认为这种行为“具有明显恶意”,他指出其中存在伪造的合并提交,其 SHA-1 签名与原始提交不符。例如,Linus 的某个真实补丁的 SHA1 是 9d230d500b0e,而 Kees 提交中的“假版本”则使用了 f8b59a0f90a2。
(左边是 Linus 的原始 PR,右边是伪造的 PR)
愤怒之下,Linus 当即在邮件列表上直言不讳地质问道:
“你这是在恶意修改整个代码树。这些完全是假的提交!这根本不像是单纯的 rebase 错误,而是故意伪造提交者信息,这种行为完全不能接受。在你解释清楚这到底是怎么回事之前,我不会再合并你任何一条提交。你得删掉这个树,并给出一个合理解释。”
甚至,Linus 还直接把这件事同步给了 Linux 基础设施维护者 Konstantin Ryabitsev,要求其立即禁用 Kees 的 kernel.org 账号: