影视聚合站 科技 文章内容

「冰冻荒原」版Linux内核有bug,不要使用!Linux之父紧急警告并发布5.12-rc2版本

发布时间:2021-03-07 13:57:54来源:机器之心

机器之心报道

作者:魔王、杜伟

暴雪也没拦住的Linux内核新版本5.12rc1竟然出现文件系统损坏问题!Linux之父LinusTorvalds发布紧急通知,并在三天内赶出5.12rc2内核版本。

2月份,受恶劣天气影响,美国多个地区出现大规模断电。Linux之父LinusTorvalds所在的俄勒冈州波特兰地区也没有幸免。但比较励志的是,即使经历了六天的断电生活,LinusTorvalds还是赶出了新一版的Linux内核(候选版本)—。

但近日,LinusTorvalds在发给Linux内核邮件列表的一封邮件中却警告称:请勿使用其公共git树中的5.12-rc1内核。

邮件地址:https://lore.kernel.org/lkml/CAHk-=wjnzdLSP3oDxhf9eMTYo7GF-QjaNLBUH1Zk3c4A7X75YA@mail.gmail.com/

他在邮件中写道:

大家或许注意到了,在我的公共git树中,「v5.12-rc1」标签已经更名为「v5.12-rc1-dontuse」。更名后依然是同一个对象,在内部仍显示为「v5.12-rc1」,且仍由我签名,但该标签的用户可见名已经更改了。

文件交换处理问题可能导致严重后果

事实证明,LinusTorvalds确实将一些代码标记为「dontuse」,因为新发布的5.12候选版本存在的问题严重破坏了交换文件(swapfile)处理。具体来说,更新后的代码会丢失指向交换文件开头的适当偏移量(properoffset)。用Torvalds自己的话说,「交换仍会进行,但出现在了文件系统不该交换的地方,并将酿成灾难性的后果。」

这意味着,当内核将内存内容分页到磁盘上时,数据将落在交换文件同一磁盘和分区的随机部分,但并非与文件处于同一磁盘和分区,而是与被直接发送至磁盘原始扇区的垃圾内容处于同一磁盘和分区。这意味着,不仅会覆盖现有文件中的数据,而且还将波及大段的元数据,这些元数据的损坏可能导致整个文件系统无法挂载和使用。

Torvalds指出,如果你不使用交换,那这个问题对你没什么影响;如果你使用交换分区,而不是交换文件,那你也不会受到困扰。但是,他表示虽然自己非常了解该内核,但他并非对普通终端用户关心的所有基础问题都那么熟悉:

据我所知,所有正常的发行版本使用交换分区而不是交换文件,因为交换文件速度较慢,且存在多种其他复杂性问题。

很多发行版本仍然默认交换分区,而不是交换文件。但Ubuntu——或许是世界上最广泛部署的Linux发行版本,在四年多以前就默认安装交换文件了。如果你是Ubuntu用户(或Ubuntu衍生版本的用户),你或许会得到一份交换文件,而这个bug可能会毁掉整个根文件系统。

除了上述问题外,Torvalds还提醒个人用户应该如何对待新发布的Linux内核(候选版本)。开发者最好不要围绕着该内核版本进行开发工作,这可能会带来严重且持久的bug。Torvalds表示:

我想要确保没人使用5.12-rc1开启新的主题分支。我知道一些开发者会有这种想法:「既然rc1出来了,我就把所有开发工作放到其合并窗口。我要赶紧转向rc1,以便下次发布时可以以此作为基础。」但是,这次请不要这么做。这个过程可能会很顺利,因为开发者使用了常见的分区设置,但这对于可能将该区域一分为二的人而言将会是糟糕的基础。

这还会带来另一个Linux用户需要注意的问题:不要盲目使用未经充分测试的代码。Linux内核候选版本通常非常坚固,因此许多人想尽可能早地尝试新特性,但这样做会带来非常恶劣的后果。先等待代码进入生产环境,或许可以避免一些严重后果。

Linux5.12-rc2版本已发布

在发现5.12-rc1版本存在的交换文件问题后,Linux几天内就推出了5.12-rc2内核版本。

对于5.12-rc2,Torvalds表示:「除了对交换文件IO偏移量的修复之外,该版本还对一些io_uring线程处理进行了重组,这不仅解决了一些基本问题,还使得代码更小、更简单。」

邮件地址:https://lore.kernel.org/lkml/CAHk-=whH-stL2zLCf02HZaOeQgS4oGa7eEiHeYZGj-orK-PX0g@mail.gmail.com/T/#u

参考链接:

https://arstechnica.com/gadgets/2021/03/psa-linux-folks-stay-away-from-the-5-12-rc1-kernel/

https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.12-rc2-Released

机器学习平台—AmazonSageMaker200美元大礼包

ML训练成本降90%,被全球上万家公司使用,AmazonSageMaker是全托管机器学习平台,支持绝大多数机器学习框架与算法,并且用IDE写代码、可视化、Debug一气呵成。

现在,我们准备了200美元的免费额度,开发者可以亲自上手体验,让开发高质量模型变得更加轻松,非常值得开发者入手一试。

点击阅读原文,领取大礼包并完成充值。

©THEEND

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

© 2021 ysjhz.com Inc.

站点统计| 举报| Archiver| 手机版| 小黑屋| 影视聚合站 ( 皖ICP备16004362号-1 )