Re: [PATCH] perf symbols: Fix reading build id
From: Jiri Olsa
Date: Thu Jul 21 2016 - 03:53:12 EST
On Thu, Jul 21, 2016 at 09:21:55AM +0200, Marc Kleine-Budde wrote:
> On 07/21/2016 09:09 AM, Uwe Kleine-König wrote:
> > From: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
> >
> > When is_regular_file(name) is called name points to a freshly allocated
> > and uninitialized chunk of memory, so is_regular_file(name) is usually
> > false and reading build id is skipped which makes it impossible to
> > find debug infos when a build id based system is in use.
> >
> > Fixes: 403567217d3f ("perf symbols: Do not read symbols/data from device files")
> > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
>
> See https://patchwork.kernel.org/patch/9196777/
Arnaldo, could you please pull this one in?
thanks,
jirka
>
> Marc
>
> > ---
> > tools/perf/util/symbol.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
> > index 54c4ff2b1cee..7044742c828f 100644
> > --- a/tools/perf/util/symbol.c
> > +++ b/tools/perf/util/symbol.c
> > @@ -1430,7 +1430,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) &&
> > + if (is_regular_file(dso->long_name) &&
> > filename__read_build_id(dso->long_name, build_id, BUILD_ID_SIZE) > 0)
> > dso__set_build_id(dso, build_id);
> >
> >
>
>
> --
> Pengutronix e.K. | Marc Kleine-Budde |
> Industrial Linux Solutions | Phone: +49-231-2826-924 |
> Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
> Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
>