perf tools: Fix segfault due to invalid kernel dso access
Jiri reported that the commit 96d78059d6d9 ("perf tools: Make vmlinux short name more like kallsyms short name") segfaults on perf script. When processing kernel mmap event, it should access the 'kernel' variable as sometimes it cannot find a matching dso from build-id table so 'dso' might be invalid. Reported-by: Jiri Olsa <jolsa@redhat.com> Tested-by: Jiri Olsa <jolsa@redhat.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung.kim@lge.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1416285028-30572-1-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
85c116a6cb
commit
330dfa224f
@ -1106,8 +1106,8 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
|
||||
if (__machine__create_kernel_maps(machine, kernel) < 0)
|
||||
goto out_problem;
|
||||
|
||||
if (strstr(dso->long_name, "vmlinux"))
|
||||
dso__set_short_name(dso, "[kernel.vmlinux]", false);
|
||||
if (strstr(kernel->long_name, "vmlinux"))
|
||||
dso__set_short_name(kernel, "[kernel.vmlinux]", false);
|
||||
|
||||
machine__set_kernel_mmap_len(machine, event);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user