Re: [PATCH] x86/vsyscall: Remove CONFIG_LEGACY_VSYSCALL_EMULATE

From: Kees Cook
Date: Wed May 11 2022 - 17:25:34 EST


On Wed, May 11, 2022 at 08:36:48PM +0200, Florian Weimer wrote:
> * Kees Cook:
>
> > On Wed, May 11, 2022 at 10:38:53AM -0700, Andy Lutomirski wrote:
> >> CONFIG_LEGACY_VSYSCALL_EMULATE is, as far as I know, only needed for the
> >> combined use of exotic and outdated debugging mechanisms with outdated
> >> binaries. At this point, no one should be using it. We would like to
> >> implement dynamic switching of vsyscalls, but this is much more
> >> complicated to support in EMULATE mode than XONLY mode.
> >>
> >> So let's force all the distros off of EMULATE mode. If anyone actually
> >> needs it, they can set vsyscall=emulate, and we can then get away with
> >> refusing to support newer security models if that option is set.
> >>
> >> Cc: x86@xxxxxxxxxx
> >> Cc: Kees Cook <keescook@xxxxxxxxxxxx>
> >> Cc: Florian Weimer <fweimer@xxxxxxxxxx>
> >> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
> >
> > Sounds legit! Can we switch the default to "none" while we're at it?
>
> I think that's a userspace ABI break?
>
> I do not have a *very* strong opinion about this. For one thing, it
> would be handy example to have that such deliberate do actually
> happen. 8-)

Right, I'm just suggesting switch the Kconfig default, so systems that
don't care will get that setting, and systems that do care can still
pick what they need.

(But yes, a separate patch, etc)

--
Kees Cook