Re: [PATCH] objtool: Fix memory leak in decode_instructions()

From: Josh Poimboeuf
Date: Thu Oct 19 2017 - 10:31:57 EST


On Fri, Oct 13, 2017 at 11:20:58AM +0530, Kamalesh Babulal wrote:
> On Friday 13 October 2017 10:36 AM, Josh Poimboeuf wrote:
> > On Fri, Oct 13, 2017 at 10:14:36AM +0530, Kamalesh Babulal wrote:
> > > On Thursday 12 October 2017 09:40 PM, Josh Poimboeuf wrote:
> > > > On Thu, Oct 12, 2017 at 02:32:14PM +0530, Kamalesh Babulal wrote:
> > > > > free the allocated insn before returning, when an error occurs
> > > > > before adding insn to file->insn_list.
> > > > >
> > > > > Signed-off-by: Kamalesh Babulal <kamalesh@xxxxxxxxxxxxxxxxxx>
> > > >
> > > > Any chance you're working on porting objtool to ppc64le? :-)
> > > >
> > > > Acked-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
> > > >
> > >
> > > Thanks for the review. I have started working on it :)
> >
> > Good! Let me know if you have any questions.
>
> Thank you, I am sure I will have lots of them.
>
> >
> > I originally wrote objtool with arch-independence in mind, though with
> > the new "objtool 2.0" rewrite, it unfortunately became more
> > x86-specific.
> >
> > I was hoping to work on making it more arch-independent, and then start
> > porting it to other arches, but it may be a few months before I have the
> > time to do so. So any work you want to there would be great.
> >
>
> Sure, will keep that in mind to abstract arch-independent code in to common
> files and push arch-dependent code into arch/ directory for both
> ppc64le/x86.

Kamalesh, since you might be working on this soon, here's a bit of a
brain dump in case it helps.

I have a vague idea for eventually improving objtool, which might make
arch-independence easier. I wonder if we could use a GCC plugin to add
annotations in special sections, which are then read by objtool to help
it understand what's going on in the code.

I suspect the plugins would need to be arch-specific. But then maybe
that would allow objtool itself to be completely arch-independent.
Eventually, if we had similar clang plugins, objtool could become
compiler-independent as well.

Unfortunately I haven't had a chance to think about it any more deeply
than that. Just something to think about.

Or maybe it makes sense to port objtool to ppc first, before trying to
abstract the arch-specific parts into plugins. I dunno.

Also, another idea that has been suggested, is to use DWARF data as
input to objtool. I have my doubts about that idea, but if it worked,
that might be another way to help objtool achieve arch-independence.

For a previous discussion of these ideas, see:

https://lkml.kernel.org/r/20170831044209.4hodx2dasad66yab@treble

--
Josh