Re: [PATCH] perf: use right filename to test
From: Arnaldo Carvalho de Melo
Date: Tue Jul 05 2016 - 09:24:49 EST
Em Tue, Jul 05, 2016 at 08:27:17PM +0800, Song Shan Gong escreveu:
> When trying to read buildid from file in function
> tools/perf/util/symbol.c:dso_load(), perf used wrong filename to test. The
> variable 'name' has just allocated and uninitialized before this
> sentence.Obviously, the test 'is_regular_file()' is for the latter
> 'filename__read_build_id()', so the right filename ought to be 'dso->long_name'.
Thanks, this is a duplicate patch, this patch has been already submitted
by Jiri Olsa and merged:
https://git.kernel.org/cgit/linux/kernel/git/acme/linux.git/commit/?h=perf/core&id=ed7b630b310775f3b6c0b360ede7a12cd8dff6fe
- Arnaldo
> Signed-off-by: Song Shan Gong <gongss@xxxxxxxxxxxxxxxxxx>
> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
> ---
> 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 54c4ff2..7044742 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);
>
> --
> 2.3.0