Re: [tip: objtool/core] jump_label, x86: Allow short NOPs

From: Matthew Wilcox
Date: Tue Jun 29 2021 - 16:01:43 EST



So this got merged without the corresponding Kbuild update being merged,
and my kernel failed to boot. Bisect got as far as

$ git bisect good
Bisecting: 4 revisions left to test after this (roughly 2 steps)
[ab3257042c26d0cd44793c741e2f89bf38b21fe8] jump_label, x86: Allow short NOPs

before my sluggish memory remembered this thread from six weeks ago.

So if anybody else hits this, do a make clean.

On Wed, May 19, 2021 at 08:56:33AM +0200, Peter Zijlstra wrote:
> On Tue, May 18, 2021 at 07:44:11PM -0500, Josh Poimboeuf wrote:
>
> > I'm not exactly thrilled that objtool now has the power to easily brick
> > a system :-/ Is it really worth it?
>
> The way I look at it is that not running objtool is a bug either way,
> bricking a system is ofcourse a somewhat more drastic failure mode than
> missing ORC info for example, but neither are good.
>
> As to worth, about half the jump labels are shorter now, this reduces I$
> pressure on hot paths. Any little thing to offset the ever increasing
> bulk seems like a good thing to me. But yes, it would be nice if the
> assemblers wouldn't suck so bad and this wouldn't need objtool :/ But
> I've tried poking the tools guys and they don't really seem interested
> :-(
>
> Also, only dirty builds are affected here; clean builds (always
> recommended afaik, because dep trouble isn't unheard of) are fine.
>
> > Anyway, here's one way to fix it. Maybe Masahiro has a better idea.
>
> Thanks! lemme go read up on this magic :-)