Linux Kernel 5.12-RC1标记为dontuse 严重到会毁掉整个根文件系统

Linux Kernel 5.12-RC1标记为dontuse 严重到会毁掉整个根文件系统
2021年03月08日 10:53 cnBeta

原标题:Linux Kernel 5.12-RC1标记为dontuse 严重到会毁掉整个根文件系统 来源:cnBeta.COM

在昨天发布的 Linux 内核邮件列表中,大神 Linus Torvalds 在他的公共 Git Tree 中警告全世界不要使用 5.12-rc1 内核。邮件中写道:“某些人可能已经注意到在我的公共 GitTree 中,‘v5.12-rc1’已经被标记为‘v5.12-rc1-dontuse’。虽然内部依然写着‘v5.12-rc1’并且也是由我签名的,但是用户可见的标签名却变了”。

当 Torvalds 将某些代码标记为“dontuse”,通常表明这个问题比较大。在 5.12 首个候选版本更新中,破坏了交换文件(swapfile)的处理。具体来说,更新后的代码会失去指向 swapfile 开头的正确偏移。用 Torvalds 自己的话来说,“交换还是会发生,但它发生在文件系统的错误部分,最终结果显然是灾难性的”。

这样 Linux 内核如果想要将内存中的内容分页到磁盘上的时候,数据就会落在相同磁盘和 swapfile 活跃的分区的随机部分上,而且这不是作为文件,而是作为垃圾直接写入到磁盘的原始扇区。这意味着不仅要覆盖现有文件中的数据,还要覆盖相当大块的元数据,这些元数据的损坏很可能会导致整个文件系统无法挂载和使用。

Torvalds 继续指出,如果你根本不使用 swap,那么这并不影响你。不过如果你正在使用 swap 分区,而不是 swap 文件,你也同样不会受到影响。

据我所知,所有正常的发行版都是用swap分区,而不是文件来设置的 因为老实说,swap 文件往往会比较慢,而且还有其他各种复杂的问题。许多发行版仍然默认使用 swap分区,而不是文件。但是Ubuntu--它可能是这个星球上部署最广泛的Linux发行版--已经默认安装 swapfiles四年多了。而这个 bug 很可能会毁掉你的整个根文件系统。

Linux磁盘
新浪科技公众号
新浪科技公众号

“掌”握科技鲜闻 (微信搜索techsina或扫描左侧二维码关注)

创事记

科学探索

科学大家

苹果汇

众测

专题

官方微博

新浪科技 新浪数码 新浪手机 科学探索 苹果汇 新浪众测

公众号

新浪科技

新浪科技为你带来最新鲜的科技资讯

苹果汇

苹果汇为你带来最新鲜的苹果产品新闻

新浪众测

新酷产品第一时间免费试玩

新浪探索

提供最新的科学家新闻,精彩的震撼图片