当前位置: 首页 > 科技观察

Linux之父告诫全世界程序员:我刚刚发布的5.12内核有bug

时间:2023-03-13 17:51:24 科技观察

本文经AI新媒体量子比特(公众号ID:QbitAI)授权转载,转载请联系出处.在美国大雪的影响下,Linux之父LinusTorvalds的家经历了长达6天的停电,但他还是在2月底的时候赶出了5.12-rc1内核。然而,事情在不到一周的时间里发生了转机。Linus本周向Linux内核邮件组发送了一封警告邮件:不要使用我刚刚发布的5.12-rc1内核!你们中的一些人可能已经注意到,在我的公共git树中,“v5.12-rc1”标签已神奇地重命名为“v5.12-rc1-dontuse”。Linus之所以将这些代码标记为“不要使用”(dontuse),是因为它可能会中断对交换文件(swapfile)的处理。具体来说,更新后的代码会丢失到交换文件开头的正确偏移量,这可能会带来灾难性的后果。发生此错误时,系统不仅会覆盖现有文件中的数据,还会覆盖大量元数据,元数据的损坏可能导致整个文件系统无法挂载和使用。如果您根本不使用交换文件,那么这个问题不会造成任何危害。因为许多Linux发行版仍然默认交换分区,而不是交换文件。但是,使用最广泛的发行版Ubuntu默认使用交换文件。如果您是Ubuntu或像Mint用户这样基于Ubuntu的发行版,那么此错误可能会损坏您的整个根文件系统。昨天,Linus发布了5.12-rc2,修复了这个bug。但是,对于Linux用户,不要轻易使用没有经过全面测试的rc版本代码。此类早期发布的内核版本可能包含非常严重的错误,不适合在生产中部署。