Messages in this thread |  | | Date | Tue, 21 Jul 2015 10:02:03 +0200 | | From | Ingo Molnar <> | | Subject | Re: [PATCH v7 2/4] x86/stackvalidate: Compile-time stack validation |
| |
* Josh Poimboeuf <jpoimboe@redhat.com> 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
|  |