• Leo Yan's avatar
    perf intel-pt: Fix potential NULL pointer dereference found by the smatch tool · 323fd749
    Leo Yan authored
    Based on the following report from Smatch, fix the potential NULL
    pointer dereference check.
    
      tools/perf/util/intel-pt.c:3200
      intel_pt_process_auxtrace_info() error: we previously assumed
      'session->itrace_synth_opts' could be null (see line 3196)
    
      tools/perf/util/intel-pt.c:3206
      intel_pt_process_auxtrace_info() warn: variable dereferenced before
      check 'session->itrace_synth_opts' (see line 3200)
    
      tools/perf/util/intel-pt.c
      3196         if (session->itrace_synth_opts && session->itrace_synth_opts->set) {
      3197                 pt->synth_opts = *session->itrace_synth_opts;
      3198         } else {
      3199                 itrace_synth_opts__set_default(&pt->synth_opts,
      3200                                 session->itrace_synth_opts->default_no_sample);
                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
      3201                 if (!session->itrace_synth_opts->default_no_sample &&
      3202                     !session->itrace_synth_opts->inject) {
      3203                         pt->synth_opts.branches = false;
      3204                         pt->synth_opts.callchain = true;
      3205                 }
      3206                 if (session->itrace_synth_opts)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^
      3207                         pt->synth_opts.thread_stack =
      3208                                 session->itrace_synth_opts->thread_stack;
      3209         }
    
    'session->itrace_synth_opts' is impossible to be a NULL pointer in
    intel_pt_process_auxtrace_info(), thus this patch removes the NULL test
    for 'session->itrace_synth_opts'.
    Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
    Acked-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lkml.kernel.org/r/20190708143937.7722-4-leo.yan@linaro.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    323fd749
intel-pt.c 79.9 KB