共计 1350 个字符,预计需要花费 4 分钟才能阅读完成。
Linux 之父 Linus Torvalds 在 Linux 5.12-rc1 公布几天后忽然对开发人员收回正告,不要在他的公共 git 树中应用 5.12-rc1 内核。
因为交换文件谬误导致的文件系统损坏的问题,Linus Torvalds 对应用 5.12-rc1 的开发者收回了正告,并将 Git 标记重命名为“v5.12-rc1-dontuse”。他还示意,将提前公布 5.12-rc2。
Linux 5.12-rc1 存在“奥妙”的谬误,可能毁坏整个根文件系统
在发给 Linux Kernel Mailing List 的一封邮件中,Linus Torvalds 说:“你们中的某些人可能曾经留神到,在我的公共 git 树中,‘v5.12-rc1’标记曾经重命名为‘v5.12-rc1-dontuse’。它依然是同一对象,外部仍显示‘v5.12-rc1’,并且仍由我签名,然而标记的用户可见名称已更改。”
他解释称,在此合并窗口中,他们进行了有害的代码清理和简化,没有引起任何危险,然而其中存在一个奥妙的谬误:5.12-rc1 毁坏了 swapfile 的解决。具体来说,更新后的代码会失落指向交换文件结尾的适当偏移量。用 Linus Torvalds 本人的话说,“替换依然会产生,然而它产生在文件系统的谬误局部,最终会带来显著的灾难性结果。”
Linus Torvalds 提到,这不是一个非常明显的谬误,它甚至没有呈现在失常的测试。如果不应用替换,则此问题不会造成任何侵害。而且,如果应用替换分区而不是交换文件也不会受到影响。
不过,可怜的是,Ubuntu(兴许是地球上部署最宽泛的 Linux 发行版)默认状况下曾经装置交换文件已有四年多了。如果您是 Ubuntu 用户(或 Ubuntu 发行版的发行人,例如 Mint),则可能有交换文件,并且此谬误可能会毁坏您的整个根文件系统。
Linux 5.12-rc2 版本可能提前推出
然而,Torvalds 的正告意义远远超出了个人用户对公布候选内核可能做的事。更重要的是,内核开发人员不能将他们本人的工作建设在这个版本之上,这样可能会带来一个十分重大的 bug。
Linus Torvalds 想确保没有人应用 5.12-rc1 标记开始新的主题分支。他提到,一些开发人员偏向于把所有的开发工作都放到这个合并窗口中,并将其作为下一个版本的根底。Linus Torvalds 还说:“这也导致了我本人对 Linux 用户的一个相当频繁的正告: 不要自觉地应用那些还没有通过充沛测试的代码。Linux 内核候选版本通常都十分牢靠,然而这么做可能会带来十分重大的结果。如果期待这些代码首先进入生产环境,可能会防止许多不好的结果。”
在一条新的补充音讯中 Linus Torvalds 示意,他正在思考公布一个减速的 Linux 5.12-rc2 版本。他说:“我曾经在做一些乏味的 Linux 5.12 性能测试,这些测试很快就会推出。”
参考链接:https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.12-rc2-Likely-Soon
https://arstechnica.com/gadgets/2021/03/psa-linux-folks-stay-away-from-the-5-12-rc1-kernel/