Linux内核的x86 32位支持已经开始出现一些轻微的问题。大多数内核开发人员不再积极测试x86-32,发行版供应商也开始放弃对32位的支持。其最新例子是,自Meltdown漏洞缓解措施以来,在过去一年中,出现在主线内核中的一些错误的、未定义的行为功能。

英特尔的Meltdown漏洞公布几个月后( x86_64被缓解),Linux KPTI支持x86 32位以试图解决这个问题(从1月份的公开到7月份的主流就绪),但事实证明,它结果暴露了一个32位的错误。

内核页表隔离支持暴露了x86 32位上的I/O TLB映射问题。该原因是内核中未定义的行为,导致数据损坏、内核Oopes/Panics和自发重新启动。

Linux的烦心事:32位内核自Meltdown漏洞以来一直有问题-玩懂手机网 - 玩懂手机第一手的手机资讯网(www.wdshouji.com)

据报道,KPTI在32位上随机锁定或重新启动的错误报告至少可以追溯到去年12月。现在,Linux 5.3 Git在5.3-Rc2标记之前就有了修复。

Linux的烦心事:32位内核自Meltdown漏洞以来一直有问题-玩懂手机网 - 玩懂手机第一手的手机资讯网(www.wdshouji.com)

内核的vmalloc代码现在正在积极同步取消对系统中所有页表的映射,然后再重用这些区域,这将解决过去一年一直存在于崩溃x86-32内核上的32位未定义行为。这个补丁将用于Linux5.3-Rc2,并可能会在短时间内移植到稳定的系列中。