* Josh Poimboeuf <[email protected]> wrote:

> > > +int main(int argc, char *argv[])
> > > +{
> > > +       struct elf *elf;
> > > +       int ret = 0, warnings = 0;
> > > +
> > > +       argp_parse(&argp, argc, argv, 0, 0, &args);
> > > +
> > > +       elf = elf_open(args.args[0]);
> > > +       if (!elf) {
> > > +               fprintf(stderr, "error reading elf file %s\n", 
> > > args.args[0]);
> > > +               return 1;
> > > +       }
> > > +
> > > +       ret = decode_sections(elf);
> > > +       if (ret < 0)
> > > +               goto out;
> > > +       warnings += ret;
> > > +
> > > +       ret = validate_functions(elf);
> > > +       if (ret < 0)
> > > +               goto out;
> > > +       warnings += ret;
> > > +
> > > +       ret = validate_uncallable_instructions(elf);
> > > +       if (ret < 0)
> > > +               goto out;
> > > +       warnings += ret;
> > > +
> > > +out:
> > 
> > elf_close(elf);  ??
> 
> I intentionally left out the call to elf_close() here, since this is the
> exit path and the kernel will free the memory anyway.

OTOH it makes Valgrind runs harder to interpret, as real leaks won't be visible.

So I'd only do intentional leaks only if it's truly, measurably improves 
performance.

Thanks,

        Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to