Re: [PATCH v6 11/10] x86/retpoline: Avoid return buffer underflows on context switch

From: Woodhouse, David
Date: Mon Jan 08 2018 - 19:00:55 EST


On Mon, 2018-01-08 at 15:56 -0800, Linus Torvalds wrote:
> On Mon, Jan 8, 2018 at 3:44 PM, David Woodhouse <dwmw2@xxxxxxxxxxxxx> wrote:
> >
> > To guard against this fill the return buffer with controlled
> > content during context switch. This prevents any underflows.
>
> Ugh. I really dislike this patch. Everything else in the retpoline
> patches makes me go "ok, that's reasonable". This one makes me go
> "Eww".
>
> It's hacky, it's ugly, and it looks pretty expensive too.
>
> Is there really nothing more clever we can do?

You get this part in the IBRS/microcode solution too. The IBRS MSR
doesn't catch everything; you still need to stuff the RSB in very
similar places (and/or use the IBPB MSR in some).

Attachment: smime.p7s
Description: S/MIME cryptographic signature