Re: [RFC PATCH] asm/generic: introduce if_nospec and nospec_barrier

From: Alan Cox
Date: Thu Jan 04 2018 - 16:24:33 EST


On Thu, 4 Jan 2018 21:39:24 +0100 (CET)
Jiri Kosina <jikos@xxxxxxxxxx> wrote:

> On Thu, 4 Jan 2018, Alan Cox wrote:
>
> > You never go from one user process to another except via the kernel. We
> > have no hardware scheduling going on. That means that if the kernel
> > and/or CPU imposes the correct speculation barriers you can't attack
> > anyone but yourself.
>
> So how does this work on HT with the shared BTB? There is no context
> switch (and hence no IBPB) happening between the threads sharing it.
>

If you are paranoid in that case you either need to schedule things that
trust each other together or disable the speculation while that situation
occurs. However the kernel is always in the position to make that
decision.

Alan