All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf: report: don't call map__kmap if map is NULL.
@ 2015-04-08 10:59 Wang Nan
  2015-04-08 12:56 ` Arnaldo Carvalho de Melo
  2015-04-08 15:15 ` [tip:perf/core] perf report: Don't " tip-bot for Wang Nan
  0 siblings, 2 replies; 3+ messages in thread
From: Wang Nan @ 2015-04-08 10:59 UTC (permalink / raw)
  To: acme, jolsa, jolsa, adrian.hunter; +Cc: mingo, lizefan, linux-kernel, pi3orama

report__warn_kptr_restrict() calls map__kmap(kernel_map) before
checking kernel_map againest NULL. Which is dangerous, since
map__kmap() will return a invalid and not NULL address. It will trigger
a warning message in map__kmap() after patch "perf: kmaps: enforce
usage of kmaps to protect futher bugs."

This patch fixes it by adding the missing checking.

Signed-off-by: Wang Nan <wangnan0@huawei.com>
---
 tools/perf/builtin-report.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index b5b2ad4..476cdf7 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -347,7 +347,7 @@ static int perf_evlist__tty_browse_hists(struct perf_evlist *evlist,
 static void report__warn_kptr_restrict(const struct report *rep)
 {
 	struct map *kernel_map = rep->session->machines.host.vmlinux_maps[MAP__FUNCTION];
-	struct kmap *kernel_kmap = map__kmap(kernel_map);
+	struct kmap *kernel_kmap = kernel_map ? map__kmap(kernel_map) : NULL;
 
 	if (kernel_map == NULL ||
 	    (kernel_map->dso->hit &&
-- 
1.8.3.4


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

end of thread, other threads:[~2015-04-08 15:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-08 10:59 [PATCH] perf: report: don't call map__kmap if map is NULL Wang Nan
2015-04-08 12:56 ` Arnaldo Carvalho de Melo
2015-04-08 15:15 ` [tip:perf/core] perf report: Don't " tip-bot for Wang Nan

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.