Re: Avoid speculative indirect calls in kernel

From: Alan Cox
Date: Wed Jan 03 2018 - 19:31:45 EST


On Wed, 3 Jan 2018 16:15:01 -0800
Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:

> > It should be a CPU_BUG bit as we have for the other mess. And that can be
> > used for patching.
>
> It has to be done at compile time because it requires a compiler option.
>
> Most of the indirect calls are in C code.
>
> So it cannot just patched in, only partially out.

You can replace the pushl ; jmp with an alternatives section (although
there might be a lot of them). Even if gcc isn't smart enough to do that
perl is.

Alan