perf tools: Check for null when copying nsinfo.
PATCH v2 1/1 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.
---
Changes from v1:
Added Signed-off-by line.
tools/perf/util/namespaces.c | 3 +++ 1 file changed, 3 insertions(+)
tools/perf/util/namespaces.c +3 -0
@@ -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;
Signature · 1 line
2.17.1
Em Fri, Aug 10, 2018 at 03:36:13PM +0200, Benno Evers escreveu:
Quoted 7 lines
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_MMAPevent associating the '[vdso]' dso with pid 0 earlier in the event stream will lead to a segfault.
Quoted 5 lines
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 <[email protected]>Signed-off-by Benno Evers <[email protected]>
Thanks, applied.
- Arnaldo
tip-bot for Benno Evers
merge botperf tools: Check for null when copying nsinfo.
Commit-ID: 3f4417d693b43fa240ac8bde4487f67745ca23d8 Gitweb: https://git.kernel.org/tip/3f4417d693b43fa240ac8bde4487f67745ca23d8 Author: Benno Evers <[email protected]> AuthorDate: Fri, 10 Aug 2018 15:36:13 +0200 Committer: Arnaldo Carvalho de Melo <[email protected]> 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.
--- tools/perf/util/namespaces.c | 3 +++ 1 file changed, 3 insertions(+)
tools/perf/util/namespaces.c +3 -0
@@ -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;