All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf: Add NULL pointer check for cpu_map iteration and NULL assignment for all_cpus.
@ 2020-03-08 10:59 zhe.he
  2020-03-18 10:32 ` Jiri Olsa
  2020-05-08 13:05 ` [tip: perf/core] libperf: " tip-bot2 for He Zhe
  0 siblings, 2 replies; 5+ messages in thread
From: zhe.he @ 2020-03-08 10:59 UTC (permalink / raw)
  To: acme, jolsa, ak, meyerk, linux-kernel, zhe.he

From: He Zhe <zhe.he@windriver.com>

NULL pointer may be passed to perf_cpu_map__cpu and then cause crash,
such as the one commit cb71f7d43ece ("libperf: Setup initial evlist::all_cpus value")
fix.

Signed-off-by: He Zhe <zhe.he@windriver.com>
---
 tools/perf/lib/cpumap.c | 2 +-
 tools/perf/lib/evlist.c | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/lib/cpumap.c b/tools/perf/lib/cpumap.c
index f93f4e7..ca02150 100644
--- a/tools/perf/lib/cpumap.c
+++ b/tools/perf/lib/cpumap.c
@@ -247,7 +247,7 @@ struct perf_cpu_map *perf_cpu_map__new(const char *cpu_list)
 
 int perf_cpu_map__cpu(const struct perf_cpu_map *cpus, int idx)
 {
-	if (idx < cpus->nr)
+	if (cpus && idx < cpus->nr)
 		return cpus->map[idx];
 
 	return -1;
diff --git a/tools/perf/lib/evlist.c b/tools/perf/lib/evlist.c
index 5b9f2ca..f87a239 100644
--- a/tools/perf/lib/evlist.c
+++ b/tools/perf/lib/evlist.c
@@ -127,6 +127,7 @@ void perf_evlist__exit(struct perf_evlist *evlist)
 	perf_cpu_map__put(evlist->cpus);
 	perf_thread_map__put(evlist->threads);
 	evlist->cpus = NULL;
+	evlist->all_cpus = NULL;
 	evlist->threads = NULL;
 	fdarray__exit(&evlist->pollfd);
 }
-- 
2.7.4


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

end of thread, other threads:[~2020-05-08 13:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-08 10:59 [PATCH] perf: Add NULL pointer check for cpu_map iteration and NULL assignment for all_cpus zhe.he
2020-03-18 10:32 ` Jiri Olsa
2020-03-18 13:34   ` Arnaldo Carvalho de Melo
2020-04-29 17:49     ` Arnaldo Carvalho de Melo
2020-05-08 13:05 ` [tip: perf/core] libperf: " tip-bot2 for He Zhe

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.