英特尔的 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,并可能会在短时间内移植到稳定的系列中。
来源:phoronix
本文素材来自互联网