• Arnaldo Carvalho de Melo's avatar
    perf trace: Handle perf.data files with no tracepoints · ccf53eac
    Arnaldo Carvalho de Melo authored
    Before:
    
      perf trace -i perf.data
      Segmentation fault (core dumped)
      #
    
    After:
    
     # perf trace -i perf.data
     Data file does not have raw_syscalls:sys_enter events
     #
    
    When there are no tracepoints in a perf.data file the struct pevent
    that contains the list of tracepoints that will be used to lookup the
    tracepoint id by name will not be populated, causing a NULL deref.
    
    And we don't need to do all that dance to look at pevents for an entry
    with a slighly different name to then lookup the tracepoint by its id on
    the evlist, just use the perf_evlist__find_tracepoint_by_name() routine,
    that will find the tracepoint, if present.
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/n/tip-egcm21k1e6gcyxpcgjxtmsq3@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    ccf53eac
session.c 41.8 KB