Re: Stack switching plan of attack (Re: [PATCH v2 00/18] Entry stack switching)

From: Borislav Petkov
Date: Thu Nov 23 2017 - 13:10:07 EST


On Thu, Nov 23, 2017 at 07:50:59AM -0800, Andy Lutomirski wrote:
> 1. There needs to be a way to turn it off to get the performance hit
> under control. I'm leaning toward a boot-time switch, and we can turn
> it into a runtime switch later on. Thoughts?

Yes, we need a runtime switch off for machines/vendors which might not
be affected.

> I don't care too much about idtentry performance, but syscall
> performance matters a lot, and my patches slow it down. I probably
> need to benchmark to see whether

Yeah, having numbers here would be good.

> there's any point to turning *entry* stack switching off, but we
> definitely need to turn *exit* stack switching off when it's not
> needed.
>
> (Entry stack switching doesn't directly affect SYSCALL, and I've
> structured the SYSCALL code so that the entry part can be turned on
> and off just by changing the entry target MSR.)
>
> 2. The TSS should be RO. Otherwise I think it's just too big a
> security regression.
>
> and possibly 3: fix the existing performance regression on Atom
> syscalls. That's easy-ish, but it's ugly and stupid.
>
> I'm assuming that KAISER itself will miss the merge window and that
> we'll just deal with it.

4. Backporting the whole crap is another PITA topic...

--
Regards/Gruss,
Boris.

SUSE Linux GmbH, GF: Felix ImendÃrffer, Jane Smithard, Graham Norton, HRB 21284 (AG NÃrnberg)
--