Re: x86/clearregs: Register sanitizing at kernel entry for speculation hygiene

From: Andy Lutomirski
Date: Tue Jan 09 2018 - 20:39:12 EST




On Jan 9, 2018, at 5:34 PM, Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:

>> I don't like this at all. Once upon a time, Linux syscalls were supposed to be fast. Then we learned about the Meltdown screwup, so we mostly fixed it for real upstream and the distroa seriously half-arsed their own fixes [1]. This came with a big performance cost, but it can be turned off on non-busted hardware. So be it.
>
> That's true, but modern CPUs are also a lot faster/wider than the K8
> the fast path was originally designed for. A modern CPU can go through
> these instructions really fast with a very high IPC because they don't have
> dependencies or stalls.
>
> So it shouldn't hurt very much.
>
> Also in fact when the fast path was originally written the ABI still had a
> different caller/callee split which made it more better. Later on
> it already lost some of its benefits and was less of a win.
>
>> But now we're proposing to throw out the whole fast path because it might make it a bit harder to do the most obvious attack. Not very hard, mind you, but a little bit harder. And there's no off switch for less-leaky hardware. No thanks.
>
> Well the off switch is a fast CPU.

When I rewrote the fast path, I did it on SNB. Not much has changed.

This patch should come with benchmarks (with PTI off).

And Intel needs to come up with real fixes for this stuff.