All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] perf tools: Check for null when copying nsinfo.
@ 2018-08-10 13:36 Benno Evers
  2018-08-13 18:39 ` Arnaldo Carvalho de Melo
  2018-08-18 11:55 ` [tip:perf/urgent] " tip-bot for Benno Evers
  0 siblings, 2 replies; 3+ messages in thread
From: Benno Evers @ 2018-08-10 13:36 UTC (permalink / raw
  To: Arnaldo Carvalho de Melo
  Cc: Krister Johansen, Benno Evers, Peter Zijlstra, Ingo Molnar,
	Alexander Shishkin, Jiri Olsa, Namhyung Kim, linux-kernel

The argument to nsinfo__copy() was assumed to be valid, but some code paths
exist that will lead to NULL being passed.

In particular, running 'perf script -D' on a perf.data file containing an
PERF_RECORD_MMAP event associating the '[vdso]' dso with pid 0 earlier in
the event stream will lead to a segfault.

Since all calling code is already checking for a non-null return value,
just return NULL for this case as well.

Acked-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Benno Evers <bevers@mesosphere.com>
---
Changes from v1:
  Added Signed-off-by line.

 tools/perf/util/namespaces.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/perf/util/namespaces.c b/tools/perf/util/namespaces.c
index 5be021701f34..cf8bd123cf73 100644
--- a/tools/perf/util/namespaces.c
+++ b/tools/perf/util/namespaces.c
@@ -139,6 +139,9 @@ struct nsinfo *nsinfo__copy(struct nsinfo *nsi)
 {
 	struct nsinfo *nnsi;
 
+	if (nsi == NULL)
+		return NULL;
+
 	nnsi = calloc(1, sizeof(*nnsi));
 	if (nnsi != NULL) {
 		nnsi->pid = nsi->pid;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] perf tools: Check for null when copying nsinfo.
  2018-08-10 13:36 [PATCH v2] perf tools: Check for null when copying nsinfo Benno Evers
@ 2018-08-13 18:39 ` Arnaldo Carvalho de Melo
  2018-08-18 11:55 ` [tip:perf/urgent] " tip-bot for Benno Evers
  1 sibling, 0 replies; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-08-13 18:39 UTC (permalink / raw
  To: Benno Evers
  Cc: Krister Johansen, Peter Zijlstra, Ingo Molnar, Alexander Shishkin,
	Jiri Olsa, Namhyung Kim, linux-kernel

Em Fri, Aug 10, 2018 at 03:36:13PM +0200, Benno Evers escreveu:
> The argument to nsinfo__copy() was assumed to be valid, but some code paths
> exist that will lead to NULL being passed.
> 
> In particular, running 'perf script -D' on a perf.data file containing an
> PERF_RECORD_MMAP event associating the '[vdso]' dso with pid 0 earlier in
> the event stream will lead to a segfault.
> 
> Since all calling code is already checking for a non-null return value,
> just return NULL for this case as well.
> 
> Acked-by: Namhyung Kim <namhyung@kernel.org>
> Signed-off-by: Benno Evers <bevers@mesosphere.com>

Thanks, applied.

- Arnaldo

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [tip:perf/urgent] perf tools: Check for null when copying nsinfo.
  2018-08-10 13:36 [PATCH v2] perf tools: Check for null when copying nsinfo Benno Evers
  2018-08-13 18:39 ` Arnaldo Carvalho de Melo
@ 2018-08-18 11:55 ` tip-bot for Benno Evers
  1 sibling, 0 replies; 3+ messages in thread
From: tip-bot for Benno Evers @ 2018-08-18 11:55 UTC (permalink / raw
  To: linux-tip-commits
  Cc: namhyung, mingo, hpa, linux-kernel, peterz, kjlx, tglx, acme,
	bevers, jolsa, alexander.shishkin

Commit-ID:  3f4417d693b43fa240ac8bde4487f67745ca23d8
Gitweb:     https://git.kernel.org/tip/3f4417d693b43fa240ac8bde4487f67745ca23d8
Author:     Benno Evers <bevers@mesosphere.com>
AuthorDate: Fri, 10 Aug 2018 15:36:13 +0200
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Mon, 13 Aug 2018 15:39:09 -0300

perf tools: Check for null when copying nsinfo.

The argument to nsinfo__copy() was assumed to be valid, but some code paths
exist that will lead to NULL being passed.

In particular, running 'perf script -D' on a perf.data file containing an
PERF_RECORD_MMAP event associating the '[vdso]' dso with pid 0 earlier in
the event stream will lead to a segfault.

Since all calling code is already checking for a non-null return value,
just return NULL for this case as well.

Signed-off-by: Benno Evers <bevers@mesosphere.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Krister Johansen <kjlx@templeofstupid.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180810133614.9925-1-bevers@mesosphere.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/namespaces.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/perf/util/namespaces.c b/tools/perf/util/namespaces.c
index 5be021701f34..cf8bd123cf73 100644
--- a/tools/perf/util/namespaces.c
+++ b/tools/perf/util/namespaces.c
@@ -139,6 +139,9 @@ struct nsinfo *nsinfo__copy(struct nsinfo *nsi)
 {
 	struct nsinfo *nnsi;
 
+	if (nsi == NULL)
+		return NULL;
+
 	nnsi = calloc(1, sizeof(*nnsi));
 	if (nnsi != NULL) {
 		nnsi->pid = nsi->pid;

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-08-18 11:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-10 13:36 [PATCH v2] perf tools: Check for null when copying nsinfo Benno Evers
2018-08-13 18:39 ` Arnaldo Carvalho de Melo
2018-08-18 11:55 ` [tip:perf/urgent] " tip-bot for Benno Evers

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.