Re: [PATCH v2 3/8] objtool: stack validation 2.0

From: Josh Poimboeuf
Date: Fri Jun 30 2017 - 09:26:52 EST


On Fri, Jun 30, 2017 at 08:23:36AM -0500, Josh Poimboeuf wrote:
> On Fri, Jun 30, 2017 at 10:32:03AM +0200, Ingo Molnar wrote:
> >
> > * Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
> >
> > > This is a major rewrite of objtool. Instead of only tracking frame
> > > pointer changes, it now tracks all stack-related operations, including
> > > all register saves/restores.
> > >
> > > In addition to making stack validation more robust, this also paves the
> > > way for undwarf generation.
> > >
> > > Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
> >
> > Note, I have applied the first 3 patches, and got a bunch of new warnings on x86
> > 64-bit allmodconfig:
> >
> > arch/x86/kernel/alternative.o: warning: objtool: do_sync_core()+0x1b: unsupported instruction in callable function
> > arch/x86/kernel/alternative.o: warning: objtool: text_poke()+0x1a8: unsupported instruction in callable function
> > arch/x86/kernel/ftrace.o: warning: objtool: do_sync_core()+0x16: unsupported instruction in callable function
> > arch/x86/kernel/cpu/mcheck/mce.o: warning: objtool: machine_check_poll()+0x166: unsupported instruction in callable function
> > arch/x86/kernel/cpu/mcheck/mce.o: warning: objtool: do_machine_check()+0x147: unsupported instruction in callable function
> >
> > (That's the vmlinux build - plus 4 more warnings in the modules build.)
> >
> > That's with GCC 5.3.1.
> >
> > Let me know if you need any more info.
>
> Hm, this is odd. I tried with GCC 5.3.0 (which should presumably be
> almost identical to 5.3.1) and I don't see any warnings. Can you send
> me one of the object files it's complaining about?

Oh wait, never mind. Now that I'm actually reading the warnings, it
makes sense. Those are warnings I fixed in a later patch in the series.

I'll try to come up with something to fix those without pulling in the
rest of the patches.

--
Josh