Re: [tip:x86/pti] x86/speculation: Use IBRS if available before calling into firmware

From: Ingo Molnar
Date: Mon Feb 19 2018 - 04:36:46 EST



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Sat, Feb 17, 2018 at 11:26:16AM +0100, Ingo Molnar wrote:
> > Note that PeterZ was struggling with intermittent boot hangs yesterday as well,
> > which hangs came and went during severeal (fruitless) bisection attempts. Then at
> > a certain point the hangs went away altogether.
> >
> > The symptoms for both his and your hangs are consistent with an alignment
> > dependent bug.
>
> Mine would consistently hang right after
>
> "Freeing SMP alternatives memory: 44K"
>
> At one point I bisected it to commit:
>
> a06cc94f3f8d ("x86/build: Drop superfluous ALIGN from the linker script")

So, just to make sure this commit had no effect: I cannot really see anything
wrong with that commit, it does a single substantial change, which is to remove
this explicit alignment:

. = ALIGN(8);
TEXT_TEXT

which seems fine to me, since it expanded to:

. = ALIGN(8);
ALIGN_FUNCTION(); \
...

which expanded to:

. = ALIGN(8);
. = ALIGN(8);
...

... which duplication the commit removed.

... where all the relevant defitions of TEXT_TEXT and ALIGN_FUNCTION are
unconditional and not overriden anywhere for arch/x86 builds.

I.e. the commit is a NOP AFAICS.

Thanks,

Ingo