Re: [tip:core/urgent] objtool: Fix __unreachable section relocation size

From: Josh Poimboeuf
Date: Wed Mar 01 2017 - 07:51:53 EST


On Wed, Mar 01, 2017 at 11:37:12AM +0100, Ingo Molnar wrote:
>
> * tip-bot for Josh Poimboeuf <tipbot@xxxxxxxxx> wrote:
>
> > Commit-ID: 90a7e63a31b8f7d630d12ef0d8d37d3ab87f76e5
> > Gitweb: http://git.kernel.org/tip/90a7e63a31b8f7d630d12ef0d8d37d3ab87f76e5
> > Author: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
> > AuthorDate: Wed, 1 Mar 2017 00:05:04 -0600
> > Committer: Ingo Molnar <mingo@xxxxxxxxxx>
> > CommitDate: Wed, 1 Mar 2017 07:38:25 +0100
> >
> > objtool: Fix __unreachable section relocation size
> >
> > Linus reported the following commit broke module loading on his laptop:
> >
> > d1091c7fa3d5 ("objtool: Improve detection of BUG() and other dead ends")
> >
> > It showed errors like the following:
> >
> > module: overflow in relocation type 10 val ffffffffc02afc81
> > module: 'nvme' likely not compiled with -mcmodel=kernel
>
> BTW., beyond inadequate testing, another mistake I failed to notice during review
> is that the title of the patch was actively misleading: an "objtool: " prefix
> suggests a change that only affects objtool, while the changes here were to
> compiler-gcc.h, affecting pretty much everyone...
>
> So a better, more informative commit title would have been:
>
> objtool, compiler.h: Improve detection of BUG() and other dead ends
>
> ... to at least warn people about the wider impact. (To be honest I personally
> probably would still not have noticed the bug, but maybe others.)
>
> Along the same lines I'll fix the title of this fix patch as well, once a final
> version has been reached.

Yeah, that would have been a more informative title indeed.

For what seemed (to me) like a straightforward improvement, which was
90% objtool and 10% kernel, that commit introduced a surprising number
of subtle bugs in the kernel.

--
Josh