Linux之父警告全球程序员:我刚发布的5.12内核有bug 你们千万别用

  • 时间: 2021-03-09 01:51:28

  在美国的大雪天气影响下,Linux 之父 Linus Torvalds 的家经历了 6 天断电,但他还是 2 月底赶出了 5.12-rc1 内核。

Linux 之父警告全球程序员:我刚发布的 5.12 内核有 bug 你们千万别用

  然而,事情不到一周却发生了转折。Linus 本周给 Linux 内核邮件组的发去了一封警告邮件:

  我刚发布的 5.12-rc1 内核你们千万别用!你们中的某些人可能已经注意到,在我的公共 git 树中,“ v5.12-rc1”标记已经神奇地重命名为“ v5.12-rc1-dontuse”。

  Linus 之所以用“不要使用”(dontuse)来标记这些代码,是因为可能破坏交换文件(swapfile)的处理。具体来说,更新后的代码会丢失指向交换文件开头的适当偏移量,可能导致灾难性的后果。

Linux 之父警告全球程序员:我刚发布的 5.12 内核有 bug 你们千万别用

  当发生此错误时,系统不仅会覆盖现有文件中的数据,还会覆盖大量的元数据,这些元数据的损坏可能会导致整个文件系统无法安装和使用。如果你根本不使用交换文件,那么这个问题不会造成任何伤害。

  因为许多 Linux 发行版仍然默认交换分区,而不是交换文件。但是,应用最广的发行版 Ubuntu 默认使用交换文件。如果你是 Ubuntu 或以 Ubuntu 为基础的发行版(如 Mint)用户,那么这个错误可能会破坏你整个根文件系统。昨天,Linus 已经发布了 5.12-rc2,修复了这个错误。

Linux 之父警告全球程序员:我刚发布的 5.12 内核有 bug 你们千万别用

  不过,对 Linux 用户来说,还是不要轻易使用未经充分测试的 rc 版代码。这类早期发布的内核版本可能会带来非常严重的 bug,并不适合部署到生产中。