Linux的32位内核自Meltdown漏洞以来一直有问题
发布时间:2019-07-29 09:20来源: 未知Linux内核的x86 32位支持已经开始出现一些轻微的问题。大多数内核开发人员不再积极测试x86-32,发行版供应商也开始放弃对32位的支持。其最新例子是,自Meltdown漏洞缓解措施以来,在过去一年中,出现在主线内核中的一些错误的、未定义的行为功能。
英特尔的Meltdown漏洞公布几个月后( x86_64被缓解),Linux KPTI支持x86 32位以试图解决这个问题(从1月份的公开到7月份的主流就绪),但事实证明,它结果暴露了一个32的错误。
内核页表隔离支持暴露了x86 32位上的I/O TLB映射问题。该原因是内核中未定义的行为,导致数据损坏、内核Oopes/Panics和自发重新启动。
据报道,KPTI在32位上随机锁定或重新启动的错误报告至少可以追溯到去年12月。现在,Linux 5.3 Git在5.3-Rc2标记之前就有了修复。
内核的vmalloc代码现在正在积极同步取消对系统中所有页表的映射,然后再重用这些区域,这将解决过去一年一直存在于崩溃x86-32内核上的32位未定义行为。这个补丁将用于Linux5.3-Rc2,并可能会在短时间内移植到稳定的系列中。