Re: [GIT PULL] x86/shstk change for v6.10

From: Ingo Molnar
Date: Wed May 15 2024 - 04:07:43 EST



* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Mon, 13 May 2024 at 01:13, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> >
> > Enable shadow stacks for x32.
> >
> > While we normally don't do such feature-enabling on 32-bit
> > kernels anymore, this change is small, straightforward & tested on
> > upstream glibc.
>
> Color me confused.
>
> "feature-enabling on 32-bit kernels"
>
> This is not for 32-bit kernels, as far as I can tell. This is just the
> x32 user mode for x86-64 kernels.
>
> Or am I missing something?

Brainfart: feature-enabling for 32-bit user-space ...

> I've pulled this, but does anybody actually use x32? I feel like it
> was a failed experiment. No?

Yeah, so H.J. Lu suggested that shadow-stacks are a natural extension of
our security facilities on OSs where x32 is already enabled:

https://lore.kernel.org/all/CAMe9rOo1ZONFgBkuN_Ni3REBRsedNwj3gNnXj1oxB0bQzuNipA@xxxxxxxxxxxxxx/

H.J: *which* are those OSs? I don't think any major Linux distro enables
x32 anymore - here's Ubuntu and Fedora for example:

kepler:~/tip> grep X32 /boot/config-6.5.0-35-generic
# CONFIG_X86_X32_ABI is not set


kepler:~/s/fedora> grep X32 lib/modules/6.9.0-64.fc41.x86_64/config
# CONFIG_X86_X32_ABI is not set

Another feedback was that the observed lack of x32 kernel regressions
upstream could be because 'it just works':

https://lore.kernel.org/all/CAMe9rOoEQ3jUUXy+Kai9Hg83b+79azmGfu8DBR=A3HSL05kj0A@xxxxxxxxxxxxxx/

.. so at this point I think we should be permissive towards well-tested
patches, barring contrary evidence.

'Contrary evidence' would be for example some x32 regression that wasn't
fixed for a long time while nobody cared, at which point we'd remove x32
instead of fixing something that wasn't working for a long time. I'm not
aware of such a regression yet, BYMMV.

Thanks,

Ingo