Commit f22ed827 authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo
Browse files

perf unwind: Use find_map function in access_dso_mem



The find_map helper is already there, so let's use it.

Also we're going to introduce wider search in following patch, so it'll
be easier to make this change on single place.

Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Tested-by: default avatarNoel Grandin <noelgrandin@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1452158050-28061-4-git-send-email-jolsa@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent d2190a80
Loading
Loading
Loading
Loading
+5 −6
Original line number Original line Diff line number Diff line
@@ -416,20 +416,19 @@ get_proc_name(unw_addr_space_t __maybe_unused as,
static int access_dso_mem(struct unwind_info *ui, unw_word_t addr,
static int access_dso_mem(struct unwind_info *ui, unw_word_t addr,
			  unw_word_t *data)
			  unw_word_t *data)
{
{
	struct addr_location al;
	struct map *map;
	ssize_t size;
	ssize_t size;


	thread__find_addr_map(ui->thread, PERF_RECORD_MISC_USER,
	map = find_map(addr, ui);
			      MAP__FUNCTION, addr, &al);
	if (!map) {
	if (!al.map) {
		pr_debug("unwind: no map for %lx\n", (unsigned long)addr);
		pr_debug("unwind: no map for %lx\n", (unsigned long)addr);
		return -1;
		return -1;
	}
	}


	if (!al.map->dso)
	if (!map->dso)
		return -1;
		return -1;


	size = dso__data_read_addr(al.map->dso, al.map, ui->machine,
	size = dso__data_read_addr(map->dso, map, ui->machine,
				   addr, (u8 *) data, sizeof(*data));
				   addr, (u8 *) data, sizeof(*data));


	return !(size == sizeof(*data));
	return !(size == sizeof(*data));