Re: objtool warnings on 4.14-stable/gcc-7.3.0

From: Josh Poimboeuf
Date: Wed Feb 14 2018 - 17:24:18 EST


On Wed, Feb 14, 2018 at 04:11:15PM +0100, Arnd Bergmann wrote:
> Hi Josh,
>
> I recently did some randconfig testing with a plain 4.14-stable kernel
> and gcc-7.3.0, and came across three distinct objtool warnings:
>
> drivers/misc/lkdtm_bugs.o: warning: objtool:
> lkdtm_CORRUPT_LIST_ADD()+0x15: return with modified stack frame
>
> crypto/asymmetric_keys/x509_cert_parser.o: warning: objtool:
> x509_note_pkey_algo()+0xa4: sibling call from callable instruction
> with modified stack frame
>
> drivers/infiniband/hw/bnxt_re/qplib_fp.o: warning: objtool:
> bnxt_qplib_poll_cq()+0x106: sibling call from callable instruction
> with modified stack frame
>
> It's likely that this is the complete set at the moment, I saw each
> one multiple times,
> but did not see any others. I'll reply with the respective object
> files for your reference,
> in case these are so far unknown to you. There are only a handful of randconfig
> warnings we see overall in the kernel these days (at least on x86 and arm64), so
> even if they are false-positive, it would be great to get rid of the
> output so we can
> do randconfig testing on 4.14.y and treat any output from 'make -s' as
> a regression.
> I did not check

The third one has been fixed upstream with

99ce7962d52d ("objtool: Fix switch-table detection")

... so we should put that one into stable.

I don't recall seeing the other two, I'll look into them.

> With gcc-8, things are looking very differently, and we still get an
> endless supply of
> similar warnings.

Yeah, I haven't forgotten about GCC 8, it just fell off my plate thanks
to spectre/meltdown. It's still on my TODO list...

--
Josh