Perf top will segfault, we should give prompt information like perf record instead of crashing directly.
Cc: Peter Zijlstra <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Arnaldo Carvalho de Melo <[email protected]> Cc: Mark Rutland <[email protected]> Cc: Alexander Shishkin <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Namhyung Kim <[email protected]> Signed-off-by: Jackie Liu <[email protected]> --- tools/perf/builtin-top.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c index 3673c04d16b6..b257fadba3bd 100644 --- a/tools/perf/builtin-top.c +++ b/tools/perf/builtin-top.c @@ -1239,6 +1239,14 @@ static int __cmd_top(struct perf_top *top) return ret; } + if (symbol_conf.kptr_restrict && !evlist__exclude_kernel(top->evlist)) { + pr_warning( +"Kernel address maps (/proc/{kallsyms,modules}) are restricted.\n\n" +"Check /proc/sys/kernel/kptr_restrict and /proc/sys/kernel/perf_event_paranoid.\n\n" +"Kernel samples will not be resolved.\n"); + return -1; + } + ret = callchain_param__setup_sample_type(&callchain_param); if (ret) return ret; -- 2.25.1

