
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
上周Linux Kernel几经波折终于发布了5.12-rc1版本,不过就在发布后的第二天,Linus又立马向内核邮件列表发出了一封警告邮件,告诉大家不要使用最新的5.12-rc1内核(尤其是使用swap文件来运行的用户),并要求维护者不要从5.12-rc1进行分支,以免将问题带到未来的版本中。
邮件发出之前,Linus就已将公共git树中的"v5.12-rc1" tag重命名为"v5.12-rc1-dontuse",以提醒用户不要使用。根据Linus的解释,5.12-rc1版本内核严重破坏了对交换文件(swapfile)的处理,会导致文件系统被随机交换数据覆盖,此外还会导致大段的元数据被覆盖。元数据的损坏可能会导致整个文件系统无法挂载和使用。
导致此问题的原因是交换文件的读/写偏移(swapfile read/write offset)处理失当,更新后的v5.12-rc1代码会丢失指向交换文件开头的适当偏移量,虽然交换仍会进行,但出现在了文件系统不该交换的地方,并因此酿成灾难性的后果。
定位了问题后,内核开发者迅速进行了修复,隔天Linus就发布了修复此问题的Linux Kernel 5.12-rc2。
目前已可以放心使用v5.12-rc2。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!