lkml.org 
[lkml]   [2019]   [Jul]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 2/4] perf intel-bts: Smatch: Fix potential NULL pointer dereference
    Date
    Based on the following report from Smatch, fix the potential
    NULL pointer dereference check.

    tools/perf/util/intel-bts.c:898
    intel_bts_process_auxtrace_info() error: we previously assumed
    'session->itrace_synth_opts' could be null (see line 894)

    tools/perf/util/intel-bts.c:899
    intel_bts_process_auxtrace_info() warn: variable dereferenced before
    check 'session->itrace_synth_opts' (see line 898)

    tools/perf/util/intel-bts.c
    894 if (session->itrace_synth_opts && session->itrace_synth_opts->set) {
    895 bts->synth_opts = *session->itrace_synth_opts;
    896 } else {
    897 itrace_synth_opts__set_default(&bts->synth_opts,
    898 session->itrace_synth_opts->default_no_sample);
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
    899 if (session->itrace_synth_opts)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
    900 bts->synth_opts.thread_stack =
    901 session->itrace_synth_opts->thread_stack;
    902 }

    'session->itrace_synth_opts' is impossible to be a NULL pointer in
    intel_bts_process_auxtrace_info(), thus this patch removes the NULL
    test for 'session->itrace_synth_opts'.

    Signed-off-by: Leo Yan <leo.yan@linaro.org>
    ---
    tools/perf/util/intel-bts.c | 5 ++---
    1 file changed, 2 insertions(+), 3 deletions(-)

    diff --git a/tools/perf/util/intel-bts.c b/tools/perf/util/intel-bts.c
    index 5a21bcdb8ef7..5560e95afdda 100644
    --- a/tools/perf/util/intel-bts.c
    +++ b/tools/perf/util/intel-bts.c
    @@ -891,13 +891,12 @@ int intel_bts_process_auxtrace_info(union perf_event *event,
    if (dump_trace)
    return 0;

    - if (session->itrace_synth_opts && session->itrace_synth_opts->set) {
    + if (session->itrace_synth_opts->set) {
    bts->synth_opts = *session->itrace_synth_opts;
    } else {
    itrace_synth_opts__set_default(&bts->synth_opts,
    session->itrace_synth_opts->default_no_sample);
    - if (session->itrace_synth_opts)
    - bts->synth_opts.thread_stack =
    + bts->synth_opts.thread_stack =
    session->itrace_synth_opts->thread_stack;
    }

    --
    2.17.1
    \
     
     \ /
      Last update: 2019-07-08 16:41    [W:3.056 / U:0.576 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site