]> git.baikalelectronics.ru Git - kernel.git/commit
perf probe: Do not depend on dwfl_module_addrsym()
authorMasami Hiramatsu <mhiramat@kernel.org>
Thu, 27 Feb 2020 15:42:01 +0000 (00:42 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 9 Mar 2020 13:43:53 +0000 (10:43 -0300)
commit16dab5f9b0d44e3af694a7588da951ca853733c4
tree575c7757cf2c743df0467a05a84600cc9c5ec8bf
parente9c3312c8350f8518dae642c9140d9d17cd553e7
perf probe: Do not depend on dwfl_module_addrsym()

Do not depend on dwfl_module_addrsym() because it can fail on user-space
shared libraries.

Actually, same bug was fixed by commit d731d2d976c5 ("perf probe: Do not
use dwfl_module_addrsym if dwarf_diename finds symbol name"), but commit
0a9a773ead5a ("perf probe: Fix wrong address verification) reverted to
get actual symbol address from symtab.

This fixes it again by getting symbol address from DIE, and only if the
DIE has only address range, it uses dwfl_module_addrsym().

Fixes: 0a9a773ead5a ("perf probe: Fix wrong address verification)
Reported-by: Alexandre Ghiti <alex@ghiti.fr>
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Tested-by: Alexandre Ghiti <alex@ghiti.fr>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sasha Levin <sashal@kernel.org>
Link: http://lore.kernel.org/lkml/158281812176.476.14164573830975116234.stgit@devnote2
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/probe-finder.c