All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>, Thomas Gleixner <tglx@linutronix.de>
Cc: Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	Clark Williams <williams@redhat.com>,
	linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	Leo Yan <leo.yan@linaro.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Andi Kleen <ak@linux.intel.com>, Jiri Olsa <jolsa@redhat.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Suzuki Poulouse <suzuki.poulose@arm.com>,
	linux-arm-kernel@lists.infradead.org,
	Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 24/25] perf intel-bts: Fix potential NULL pointer dereference found by the smatch tool
Date: Tue,  9 Jul 2019 15:31:25 -0300	[thread overview]
Message-ID: <20190709183126.30257-25-acme@kernel.org> (raw)
In-Reply-To: <20190709183126.30257-1-acme@kernel.org>

From: Leo Yan <leo.yan@linaro.org>

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>
Acked-by: Adrian 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-3-leo.yan@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 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.21.0


WARNING: multiple messages have this Message-ID (diff)
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>, Thomas Gleixner <tglx@linutronix.de>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>,
	Andi Kleen <ak@linux.intel.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Suzuki Poulouse <suzuki.poulose@arm.com>,
	Clark Williams <williams@redhat.com>,
	linux-kernel@vger.kernel.org,
	Adrian Hunter <adrian.hunter@intel.com>,
	linux-perf-users@vger.kernel.org,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>, Leo Yan <leo.yan@linaro.org>,
	Namhyung Kim <namhyung@kernel.org>, Jiri Olsa <jolsa@redhat.com>,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 24/25] perf intel-bts: Fix potential NULL pointer dereference found by the smatch tool
Date: Tue,  9 Jul 2019 15:31:25 -0300	[thread overview]
Message-ID: <20190709183126.30257-25-acme@kernel.org> (raw)
In-Reply-To: <20190709183126.30257-1-acme@kernel.org>

From: Leo Yan <leo.yan@linaro.org>

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>
Acked-by: Adrian 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-3-leo.yan@linaro.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 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.21.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2019-07-09 18:33 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-09 18:31 [GIT PULL] perf/core improvements and fixes Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 01/25] perf test mmap-thread-lookup: Initialize variable to suppress memory sanitizer warning Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 02/25] perf stat: Fix use-after-freed pointer detected by the smatch tool Arnaldo Carvalho de Melo
2019-07-09 18:31   ` Arnaldo Carvalho de Melo
2019-07-09 18:31   ` Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 03/25] perf top: Fix potential NULL pointer dereference " Arnaldo Carvalho de Melo
2019-07-09 18:31   ` Arnaldo Carvalho de Melo
2019-07-09 18:31   ` Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 04/25] perf annotate: Fix dereferencing freed memory found " Arnaldo Carvalho de Melo
2019-07-09 18:31   ` Arnaldo Carvalho de Melo
2019-07-09 18:31   ` Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 05/25] perf trace: Fix potential NULL pointer dereference " Arnaldo Carvalho de Melo
2019-07-09 18:31   ` Arnaldo Carvalho de Melo
2019-07-09 18:31   ` Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 06/25] perf map: Fix potential NULL pointer dereference found by " Arnaldo Carvalho de Melo
2019-07-09 18:31   ` Arnaldo Carvalho de Melo
2019-07-09 18:31   ` Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 07/25] perf inject: The tool->read() call may pass a NULL evsel, handle it Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 08/25] perf session: Fix potential NULL pointer dereference found by the smatch tool Arnaldo Carvalho de Melo
2019-07-09 18:31   ` Arnaldo Carvalho de Melo
2019-07-09 18:31   ` Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 09/25] perf evsel: perf_evsel__name(NULL) is valid, no need to check evsel Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 10/25] perf tools: Add missing headers, mostly stdlib.h Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 11/25] perf namespaces: Move the conditional setns() prototype to namespaces.h Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 12/25] perf tools: Move get_current_dir_name() cond prototype out of util.h Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 13/25] tools lib: Adopt zalloc()/zfree() from tools/perf Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 14/25] perf tools: Use zfree() where applicable Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 15/25] perf tools: Use list_del_init() more thorougly Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 16/25] perf metricgroup: Add missing list_del_init() when flushing egroups list Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 17/25] perf parse-events: Remove unused variable 'i' Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 18/25] perf parse-events: Remove unused variable: error Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 19/25] perf cs-etm: Fix potential NULL pointer dereference found by the smatch tool Arnaldo Carvalho de Melo
2019-07-09 18:31   ` Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 20/25] perf hists browser: " Arnaldo Carvalho de Melo
2019-07-09 18:31   ` Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 21/25] perf scripts python: export-to-postgresql.py: Fix DROP VIEW power_events_view Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 22/25] perf scripts python: export-to-sqlite.py: " Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 23/25] perf script: Assume native_arch for pipe mode Arnaldo Carvalho de Melo
2019-07-09 18:31 ` Arnaldo Carvalho de Melo [this message]
2019-07-09 18:31   ` [PATCH 24/25] perf intel-bts: Fix potential NULL pointer dereference found by the smatch tool Arnaldo Carvalho de Melo
2019-07-09 18:31 ` [PATCH 25/25] perf intel-pt: " Arnaldo Carvalho de Melo
2019-07-09 18:31   ` Arnaldo Carvalho de Melo
2019-07-13  9:13 ` [GIT PULL] perf/core improvements and fixes Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190709183126.30257-25-acme@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=adrian.hunter@intel.com \
    --cc=ak@linux.intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=leo.yan@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=suzuki.poulose@arm.com \
    --cc=tglx@linutronix.de \
    --cc=williams@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.