Torvalds警告世界:不要使用Linux 5.12-RC1内核

2021-03-07 09:54:22

在昨天到Linux内核邮件列表的消息中,创建开发人员Linus Torvalds警告世界不使用公共Git树中的5.12-RC1内核。

嘿偷看 - 你们中的一些人可能已经注意到我的公共git树," v5.12-rc1"标签神奇地被重命名为" v5.12-rc1-nontuse"。它'仍然是同一个对象,它仍然说" v5.12-rc1"在内部,它仍然是由我签名,但标签的用户可见名称已更改。

事实证明,当线托尔瓦尔德国旗上的一些代码不使用时,他真的意味着它 - 这个5.12发布候选人以非常令人不愉快的方式打破了Swapfile处理的问题。具体来说,更新的代码将丢失指向Swapfile开头的正确偏移量。再次,在Torvalds'自己的单词,"交换仍然发生在一起,但它发生在文件系统的错误部分,具有明显的灾难性最终结果。"

如果你的想象力不足,这意味着当内核分页内容的内存到磁盘时,数据会在同一个磁盘的随机部分上降落Swapfile居住在......不是文件,介意你,但作为垃圾直接喷在磁盘上的原始扇区。这意味着不仅覆盖了现有文件中的数据,而且相当大的元数据块,其损坏可能会使整个文件系统不可付款和无法使用。

Torvalds继续指出,如果你逃离了' t aly swap,这个问题会不会咬你。如果您'重新使用交换分区,而不是交换文件,您' d同样不受影响。不幸的是,他随后提醒我们,虽然他对内核的绝对吨,但他不一定熟悉所有熟悉所有管道的常规最终用户涉及:

而且,据我所知,所有正常发行版都使用交换分区设置了事物,而不是文件,因为老实说,Swapfiles往往会更慢,具有各种其他复杂性问题。

许多分布仍默认为交换分区,而不是文件。但Ubuntu - 这可能是行星上的最广泛部署的Linux发行版 - 已经默认安装了Swapfiles,现在已经超过了四年。如果您'重新ubuntu用户(或ubuntu-ermived发行版的用户,如edint),你可能有一个swapfile,这个bug可能会删除整个根文件系统。

Torvalds'然而,警告上面和超出个人用户可能与发布候选内核有所关系的事项。它'内核开发人员不会将自己的工作纳入那个释放,并且可能携带一个非常讨厌的错误进一步下行。

我想确保没有人使用5.12-RC1标记开始新的主题分支。我知道一些开发人员倾向于去"好的,rc1出来了,我把所有的开发工作都融入了这个合并窗口,我现在将快进到RC1并用作下一个版本的基础和#34; 。这次做到这一点。它可能适合您,因为您拥有公共分区设置,但它最终可能最终成为可能最终达到该区域的其他人的可怕基础。

这也导致了我自己相当频繁的警告到了对Linux用户的一个:Don'盲目地飞跃进入牛仔代码,牛仔代码尚未得到充分测试。 Linux内核释放候选人通常非常非常坚实,它诱人尽早进入新功能 - 但这样做可能会有非常非常丑陋的后果。通过等待代码首先进入生产状态,可以避免许多这些后果。