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

2021 年 3 月 7 日 机器之心
机器之心报道
作者:魔王、杜伟

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


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


但近日,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 内核候选版本通常非常坚固,因此许多人想尽可能早地尝试新特性,但这样做会带来非常恶劣的后果。先等待代码进入生产环境,或许可以避免一些严重后果。

Linux 5.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

机器学习平台—Amazon SageMaker 200美元大礼包


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

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

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


© THE END 

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

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

登录查看更多
0

相关内容

Linux 是一系列类 Unix 计算机操作系统的统称。该操作系统的核心为 Linux 内核。Linux 操作系统也是软件和开放源代码发展中最著名的例子之一。
[SIGIR2021]可复现推荐系统评估的全面和严谨的框架
专知会员服务
21+阅读 · 2021年4月30日
专知会员服务
17+阅读 · 2021年4月24日
【硬核书】Linux核心编程|Linux Kernel Programming,741页pdf
专知会员服务
78+阅读 · 2021年3月26日
【经典书】模式识别概率理论,654页pdf
专知会员服务
79+阅读 · 2021年1月21日
【干货书】Linux命令行与shell脚本编程大全,第3版818页pdf
专知会员服务
61+阅读 · 2020年12月30日
【经典书】概率机器人,668页pdf
专知会员服务
69+阅读 · 2020年12月16日
【2020干货书】Python3基础导论介绍,98页pdf
专知会员服务
99+阅读 · 2020年10月11日
【实用书】Python数据科学从零开始,330页pdf
专知会员服务
139+阅读 · 2020年5月19日
Python导论,476页pdf,现代Python计算
专知会员服务
254+阅读 · 2020年5月17日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
83+阅读 · 2019年11月25日
教程 | 从零开始搭建『深度学习』GPU开发环境
机器学习算法与Python学习
8+阅读 · 2019年10月28日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
OpenDrop: 一个开源AirDrop实现
Python程序员
6+阅读 · 2019年9月1日
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
15+阅读 · 2019年5月13日
kali实战渗透环境配置指南
黑白之道
5+阅读 · 2018年8月9日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Python NLP 入门教程
大数据技术
19+阅读 · 2017年10月24日
手把手教你安装深度学习软件环境(附代码)
数据派THU
4+阅读 · 2017年10月4日
从零开始:深度学习软件环境安装指南
机器之心
5+阅读 · 2017年10月2日
Arxiv
12+阅读 · 2020年12月10日
Towards Topic-Guided Conversational Recommender System
Deflecting Adversarial Attacks
Arxiv
8+阅读 · 2020年2月18日
Arxiv
8+阅读 · 2018年4月8日
Arxiv
5+阅读 · 2018年1月30日
Arxiv
23+阅读 · 2017年3月9日
VIP会员
相关VIP内容
[SIGIR2021]可复现推荐系统评估的全面和严谨的框架
专知会员服务
21+阅读 · 2021年4月30日
专知会员服务
17+阅读 · 2021年4月24日
【硬核书】Linux核心编程|Linux Kernel Programming,741页pdf
专知会员服务
78+阅读 · 2021年3月26日
【经典书】模式识别概率理论,654页pdf
专知会员服务
79+阅读 · 2021年1月21日
【干货书】Linux命令行与shell脚本编程大全,第3版818页pdf
专知会员服务
61+阅读 · 2020年12月30日
【经典书】概率机器人,668页pdf
专知会员服务
69+阅读 · 2020年12月16日
【2020干货书】Python3基础导论介绍,98页pdf
专知会员服务
99+阅读 · 2020年10月11日
【实用书】Python数据科学从零开始,330页pdf
专知会员服务
139+阅读 · 2020年5月19日
Python导论,476页pdf,现代Python计算
专知会员服务
254+阅读 · 2020年5月17日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
83+阅读 · 2019年11月25日
相关资讯
教程 | 从零开始搭建『深度学习』GPU开发环境
机器学习算法与Python学习
8+阅读 · 2019年10月28日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
OpenDrop: 一个开源AirDrop实现
Python程序员
6+阅读 · 2019年9月1日
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
15+阅读 · 2019年5月13日
kali实战渗透环境配置指南
黑白之道
5+阅读 · 2018年8月9日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Python NLP 入门教程
大数据技术
19+阅读 · 2017年10月24日
手把手教你安装深度学习软件环境(附代码)
数据派THU
4+阅读 · 2017年10月4日
从零开始:深度学习软件环境安装指南
机器之心
5+阅读 · 2017年10月2日
相关论文
Arxiv
12+阅读 · 2020年12月10日
Towards Topic-Guided Conversational Recommender System
Deflecting Adversarial Attacks
Arxiv
8+阅读 · 2020年2月18日
Arxiv
8+阅读 · 2018年4月8日
Arxiv
5+阅读 · 2018年1月30日
Arxiv
23+阅读 · 2017年3月9日
Top
微信扫码咨询专知VIP会员