Re: [PATCH] perf: symbols: dso__load(): remove check of file on uninitialized memory

From: Jiri Olsa
Date: Thu Jul 21 2016 - 03:55:07 EST


On Thu, Jul 21, 2016 at 09:21:00AM +0200, Marc Kleine-Budde wrote:

SNIP

> >>>>> This patch fixes the problem by removing the check.
> >>>>>
> >>>>> Fixes: 403567217d3f perf symbols: Do not read symbols/data from device files
> >>>>> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
> >>>>> ---
> >>>>> tools/perf/util/symbol.c | 3 +--
> >>>>> 1 file changed, 1 insertion(+), 2 deletions(-)
> >>>>>
> >>>>> diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
> >>>>> index 8a747dc6cf86..b4070daeb17f 100644
> >>>>> --- a/tools/perf/util/symbol.c
> >>>>> +++ b/tools/perf/util/symbol.c
> >>>>> @@ -1432,8 +1432,7 @@ int dso__load(struct dso *dso, struct map *map, symbol_filter_t filter)
> >>>>> * Read the build id if possible. This is required for
> >>>>> * DSO_BINARY_TYPE__BUILDID_DEBUGINFO to work
> >>>>> */
> >>>>> - if (is_regular_file(name) &&
> >>>>> - filename__read_build_id(dso->long_name, build_id, BUILD_ID_SIZE) > 0)
> >>>>> + if (filename__read_build_id(dso->long_name, build_id, BUILD_ID_SIZE) > 0)
> >>>>> dso__set_build_id(dso, build_id);
> >>>>
> >>>> ouch copy&paste error.. we better fix it properly,
> >>>> could you please check attached patch?
> >>>
> >>> The use of uninitialized memory is gone, but the "--symfs" option is
> >>> ignored:
> >>>
> >>>> stat("/lib/libpthread-2.20.so", 0x7ffe440c1270) = -1 ENOENT (No such file or directory)
> >>>
> >>> You'll look for the dso in the root file system not in the sysroot.
> >>
> >> that seems like unrelated to the 'use of uninitialized memory' issue, right?
> >> I can't see how the patch I sent could do that..
> >
> > Right. That's a different issue. You can add my:
> >
> > Acked-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
>
> I don't see this patch on mainline nor on linux-next, or am I missing
> something?


sorry for delay, forgot about this one...

I asked Arnaldo to take this version instead:
http://marc.info/?l=linux-kernel&m=146908497508581&w=2

thanks,
jirka