导读 前段时间,明尼苏达大学被禁止为 Linux 内核做贡献,因为该大学的研究人员被发现试图通过新的补丁故意向内核提交错误,而使这个过程作为一篇有问题的研究论文的一部分这种不诚实甚至恶意行为而引发轩然大波。近期 Linux 内核开发者终于完成了对所有来自 UMN.edu 补丁的审查,以解决合并到内核中的问题,同时也清理/修复了他们有问题的补丁。

Greg Kroah-Hartman 在周四公布了 5.13-rc3 的 char/misc 修复。虽然在内核周期的这个中期阶段,char/misc 的修复往往不是太令人兴奋,但这个 pull request 有解决明尼苏达大学研究人员补丁的变化。Greg 在拉动请求说明中指出:

这里大部分是 umn.edu 重新审查所有先前提交的补丁的结果。这导致了大量的回滚和 "正确"的修改,这其中没有明尼苏达大学的参与。我想感谢超过 80 个不同的开发人员,他们帮助审查和修复了这个混乱的局面。

根据 umn.edu 的 Git 活动,有 37 个内核补丁被这个拉动请求恢复了。恢复的范围从 ALSA 到媒体子系统、网络和其他领域。这是多年来来自 umn.edu 开发者的 150 多个补丁中的 37 个被恢复的补丁。

下面是部分对他们已经完成回滚的补丁中的一些问题的技术解释:

这个修改的原始提交信息是不正确的,因为代码路径永远不可能导致 NULL 的解除引用,暗指无论用什么工具来 "找到它"都是错误的。这只是一个可选的资源保留,所以删除这个检查就可以了 。

###

虽然最初的提交确实让 "NULL 解除引用"不发生,但它没有正确地将错误传回给调用者,也没有修复 drivers/net/ethernet/cavium/liquidio/lio_vf_main.c 中这个相同的问题,因为某些原因。

###

这个提交是不正确的,它不应该使用 unlikely (),也没有将错误正确地传播给调用的函数,所以在这个时间点应该被撤销。另外,如果检查失败,工作队列仍然被认为是被分配的,所以进一步的访问会继续失败,这意味着这个补丁对解决根本问题毫无帮助。

###

经过审查,我们发现这个提交根本不需要,因为这个改动是无用的,因为这个函数只有在 of_match_device 匹配到某个东西时才能被调用。所以它应该被撤销。

在其他的补丁中,大多是由于没有实质性的价值,或者最坏的情况下是不正确/不完整的代码而最终被撤销。

原文来自:https://news.cnblogs.com/n/694407/

本文地址:https://www.linuxprobe.com/linux-kernel-developers.html编辑:王艳敏,审核员:清蒸github

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/