From: Namhyung Kim Date: Mon, 11 Mar 2013 07:43:13 +0000 (+0900) Subject: perf evlist: Use cpu_map__nr() helper X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=85397956de304106e2fdace2db8f69ab4e966bc5;p=openwrt%2Fstaging%2Fblogic.git perf evlist: Use cpu_map__nr() helper Use the cpu_map__nr() helper to protect a possible NULL cpu map dereference. Signed-off-by: Namhyung Kim Cc: David Ahern Cc: Ingo Molnar Cc: Jiri Olsa Cc: Paul Mackerras Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/1362987798-24969-2-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c index a199f1887bef..a482547495b6 100644 --- a/tools/perf/util/evlist.c +++ b/tools/perf/util/evlist.c @@ -228,7 +228,7 @@ void perf_evlist__disable(struct perf_evlist *evlist) int cpu, thread; struct perf_evsel *pos; - for (cpu = 0; cpu < evlist->cpus->nr; cpu++) { + for (cpu = 0; cpu < cpu_map__nr(evlist->cpus); cpu++) { list_for_each_entry(pos, &evlist->entries, node) { if (!perf_evsel__is_group_leader(pos)) continue; @@ -443,7 +443,7 @@ static int perf_evlist__mmap_per_cpu(struct perf_evlist *evlist, int prot, int m struct perf_evsel *evsel; int cpu, thread; - for (cpu = 0; cpu < evlist->cpus->nr; cpu++) { + for (cpu = 0; cpu < cpu_map__nr(evlist->cpus); cpu++) { int output = -1; for (thread = 0; thread < evlist->threads->nr; thread++) { @@ -470,7 +470,7 @@ static int perf_evlist__mmap_per_cpu(struct perf_evlist *evlist, int prot, int m return 0; out_unmap: - for (cpu = 0; cpu < evlist->cpus->nr; cpu++) { + for (cpu = 0; cpu < cpu_map__nr(evlist->cpus); cpu++) { if (evlist->mmap[cpu].base != NULL) { munmap(evlist->mmap[cpu].base, evlist->mmap_len); evlist->mmap[cpu].base = NULL; @@ -725,7 +725,7 @@ int perf_evlist__open(struct perf_evlist *evlist) return 0; out_err: - ncpus = evlist->cpus ? evlist->cpus->nr : 1; + ncpus = cpu_map__nr(evlist->cpus); nthreads = evlist->threads ? evlist->threads->nr : 1; list_for_each_entry_reverse(evsel, &evlist->entries, node)