Linux Enabling Shadow Stack Support For x32
Back in Linux 6.6 the Shadow Stack support was finally merged as part of Intel's Control-flow Enforcement Technology (CET). This years-in-the-making effort allows for better defending against ROP attacks for newer generations of Intel processors. For Linux 6.10, Shadow Stack support is being extended to x32.
The x32 ABI is still around although not entirely common. As a reminder this Linux ABI is around providing the benefits of x86_64 while still relying on 32-bit pointers. It's an advantage over x86 32-bit in being able to utilize x86_64's increased register set, floating point improvements, and more, but still relying on 32-bit pointers and limiting to 4GB of memory per process.
The x32 ABI sounded great a decade ago but these days it's rare to hear much around x32 in the wild and most users are content with x86_64. There has even been occasional calls whether x32 should be deprecated. In any event, to some surprise, we're now seeing Shadow Stack support for x32.
Queued now in TIP.git via the "x86/shstk" branch is adding shadow stack support for x32. This was successfully tested on x32 using an Intel Tiger Lake system by Intel engineer H.J. Lu. Now that it's in a TIP branch, it will likely be submitted for the Linux 6.10 kernel cycle this summer. In any event it's a bit surprising seeing Intel making improvements for the Linux x32 support in 2024.
The x32 ABI is still around although not entirely common. As a reminder this Linux ABI is around providing the benefits of x86_64 while still relying on 32-bit pointers. It's an advantage over x86 32-bit in being able to utilize x86_64's increased register set, floating point improvements, and more, but still relying on 32-bit pointers and limiting to 4GB of memory per process.
The x32 ABI sounded great a decade ago but these days it's rare to hear much around x32 in the wild and most users are content with x86_64. There has even been occasional calls whether x32 should be deprecated. In any event, to some surprise, we're now seeing Shadow Stack support for x32.
Queued now in TIP.git via the "x86/shstk" branch is adding shadow stack support for x32. This was successfully tested on x32 using an Intel Tiger Lake system by Intel engineer H.J. Lu. Now that it's in a TIP branch, it will likely be submitted for the Linux 6.10 kernel cycle this summer. In any event it's a bit surprising seeing Intel making improvements for the Linux x32 support in 2024.
4 Comments