此前,因研究人员故意试图向 Linux 内核引入带有漏洞的补丁,明尼苏达整所大学(UMN)被禁止继续参与 Linux 内核开发。近期,phoronix 消息称,Linux 内核开发者则终于完成了对所有来自该大学的补丁的审查,以解决合并到内核中的问题,同时也清理/修复了他们有问题的补丁。
Greg Kroah-Hartman 于周四提交了 5.13-rc3 的 char/misc 修复方案。虽然在内核周期的中期阶段,char/misc 的修复一般并不是很令人瞩目,但这个 pull request 却有着解决了明尼苏达大学研究人员的补丁的变化。Greg 在拉动请求说明中指出,其大多数是 umn.edu 对所有先前提交的文件进行重新审查的结果。“我想感谢超过 80 个不同的开发者,他们帮助审查和修复了这个混乱的局面。”
根据 umn.edu 的 Git 活动,这个拉动请求恢复了 37 个内核补丁。恢复的范围涵盖了 ALSA 到媒体子系统、网络和其他领域。
以下是对其补丁的一些问题的技术解释:
这个修改的原始提交信息是不正确的,因为代码路径永远不可能导致 NULL 的解除引用,暗指无论用什么工具来"find this"都是错误的。这只是一个可选的资源保留,所以删除这个检查就可以了。
- 虽然最初的提交确实阻止了"NULL解除引用"的发生,但它并没有将错误正确地传播给调用者,而且由于某种原因,它没有修复drivers/net/ethernet/cavium/liquidio/lio_vf_main.c 中的这个相同的问题。
- 这个 commit 是不正确的,它不应该使用 unlikely(),也没有将错误正确地传播给调用函数,所以在这个时间点应该被撤销。另外,如果检查失败,工作队列仍然被认为是被分配的,所以进一步的访问会继续失败,这意味着这个补丁对解决根本问题毫无帮助。
- 经过审查,发现这个 commit 根本不需要,因为这个改动毫无用处,这个函数只有在 of_match_device 匹配到某个东西时才能被调用。所以它应该被撤销。
此外,在其余的一些补丁中,有一部分是因为没有实质性的价值被撤销;还有一些最坏的情况则是因为不正确/不完整的代码而被撤销。
本文转自OSCHINA
本文标题:Linux 5.13 还原及修复明尼苏达大学的问题补丁
本文地址:https://www.oschina.net/news/142772/linux-5-13-umn-fixes