Linux's 32-Bit Kernel Has Been Buggy Since Being Mitigated For Meltdown

Written by Michael Larabel in Linux Kernel on 28 July 2019 at 06:37 AM EDT. 90 Comments
LINUX KERNEL
Whether you like it or not, the Linux kernel's x86 32-bit support has already begun suffering some minor forms of bit rot. Most kernel developers are no longer actively testing x86-32 and distribution vendors are beginning to drop 32-bit support. The latest example of x86 32-bit's effectively demoted state is some buggy undefined behavior functionality living within the mainline kernel for the past year since the Meltdown mitigations landed.

Not only did it take months after Intel's Meltdown vulnerability was published (and x86_64 being mitigated) to see Linux KPTI support for x86 32-bit to mitigate Meltdown (from January's disclosure to mainline readiness in July), but it turns out it ended up exposing a 32-bit only bug that has lived in the kernel from summer 2018 until now with the Linux 5.3.

I/O TLB mapping problems on x86 32-bit were exposed by the Kernel Page-Table Isolation support. The result is undefined behavior within the kernel that could yield data corruption, kernel oopses/panics, and spontaneous reboots.


There have been bug reports of random lockups or reboots on 32-bit caused by KPTI being introduced going back to at least last December. While now as of today Linux 5.3 Git ahead of the 5.3-rc2 tagging has a fix.


The kernel's vmalloc code is now actively syncing unmaps to all page-tables in the system before the regions can be re-used, which should address this 32-bit undefined behavior that has persisted the past year on Meltdown mitigated x86-32 kernels. The fix will be there for Linux 5.3-rc2 and presumably be back-ported in short order to stable series.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week