「冰冻荒原」版Linux内核有bug,不要使用!Linux之父紧急警告并发布5.12-rc2版本
Posted 机器之心
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「冰冻荒原」版Linux内核有bug,不要使用!Linux之父紧急警告并发布5.12-rc2版本相关的知识,希望对你有一定的参考价值。
暴雪也没拦住的 Linux 内核新版本 5.12 rc1 竟然出现文件系统损坏问题!Linux 之父 Linus Torvalds 发布紧急通知,并在三天内赶出 5.12 rc2 内核版本。
2 月份,受恶劣天气影响,美国多个地区出现大规模断电。Linux 之父 Linus Torvalds 所在的俄勒冈州波特兰地区也没有幸免。但比较励志的是,即使经历了六天的断电生活,Linus Torvalds 还是赶出了新一版的 Linux 内核(候选版本)—。
但近日,Linus Torvalds 在发给 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」,且仍由我签名,但该标签的用户可见名已经更改了。
事实证明, Linus Torvalds 确实将一些代码标记为「dontuse」,因为新发布的 5.12 候选版本存在的问题严重破坏了交换文件(swapfile)处理。具体来说,更新后的代码会丢失指向交换文件开头的适当偏移量(proper offset)。用 Torvalds 自己的话说,「交换仍会进行,但出现在了文件系统不该交换的地方,并将酿成灾难性的后果。」
这意味着,当内核将内存内容分页到磁盘上时,数据将落在交换文件同一磁盘和分区的随机部分,但并非与文件处于同一磁盘和分区,而是与被直接发送至磁盘原始扇区的垃圾内容处于同一磁盘和分区。这意味着,不仅会覆盖现有文件中的数据,而且还将波及大段的元数据,这些元数据的损坏可能导致整个文件系统无法挂载和使用。
Torvalds 指出,如果你不使用交换,那这个问题对你没什么影响;如果你使用交换分区,而不是交换文件,那你也不会受到困扰。但是,他表示虽然自己非常了解该内核,但他并非对普通终端用户关心的所有基础问题都那么熟悉:
据我所知,所有正常的发行版本使用交换分区而不是交换文件,因为交换文件速度较慢,且存在多种其他复杂性问题。
很多发行版本仍然默认交换分区,而不是交换文件。但 Ubuntu——或许是世界上最广泛部署的 Linux 发行版本,在四年多以前就默认安装交换文件了。如果你是 Ubuntu 用户(或 Ubuntu 衍生版本的用户),你或许会得到一份交换文件,而这个 bug 可能会毁掉整个根文件系统。
除了上述问题外,Torvalds 还提醒个人用户应该如何对待新发布的 Linux 内核(候选版本)。开发者最好不要围绕着该内核版本进行开发工作,这可能会带来严重且持久的 bug。Torvalds 表示:
我想要确保没人使用 5.12-rc1 开启新的主题分支。我知道一些开发者会有这种想法:「既然 rc1 出来了,我就把所有开发工作放到其合并窗口。我要赶紧转向 rc1,以便下次发布时可以以此作为基础。」但是,这次请不要这么做。这个过程可能会很顺利,因为开发者使用了常见的分区设置,但这对于可能将该区域一分为二的人而言将会是糟糕的基础。
这还会带来另一个 Linux 用户需要注意的问题:不要盲目使用未经充分测试的代码。Linux 内核候选版本通常非常坚固,因此许多人想尽可能早地尝试新特性,但这样做会带来非常恶劣的后果。先等待代码进入生产环境,或许可以避免一些严重后果。
在发现 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
机器学习平台—Amazon SageMaker 200美元大礼包
ML训练成本降90%,被全球上万家公司使用,Amazon SageMaker是全托管机器学习平台,支持绝大多数机器学习框架与算法,并且用 IDE 写代码、可视化、Debug一气呵成。
现在,我们准备了200美元的免费额度,开发者可以亲自上手体验,让开发高质量模型变得更加轻松,非常值得开发者入手一试。
点击阅读原文,领取大礼包并完成充值。
© THE END
投稿或寻求报道:content@jiqizhixin.com
以上是关于「冰冻荒原」版Linux内核有bug,不要使用!Linux之父紧急警告并发布5.12-rc2版本的主要内容,如果未能解决你的问题,请参考以下文章
《Linux内核设计与实现》读书笔记 18
调试
Linux内核bug引起MesosKubernetesDocker的TCP/IP数据包失效
前端周报:Swift标准库预览版发布;谷歌工程师:厂商请不要自行修改Linux内核代码 ;因IE存在漏洞,微软为Win7发布更新
linux的发行版
linux基础-版本及应用领域