[PATCH] perf tools: /proc/kcore requires CAP_SYS_RAWIO message too noisy

From: Adrian Hunter
Date: Thu Aug 20 2015 - 06:10:28 EST


The "/proc/kcore requires CAP_SYS_RAWIO" message comes up all
the time for 'perf script' if vmlinux is not found and the
user isn't root, even when the kernel is not being traced and
even though the message is only really relevant for annotation.

Change it to pr_debug and instead put a note in the message
displayed if annotation is not possible.

Also, the file being accessed might not be /proc/kcore.
Tools can be directed to a different location using the
--kallsyms option in which case kcore is expected to be
in the same directory. Adjust the message so it is not
misleading in that case.

Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
---
tools/perf/util/annotate.c | 1 +
tools/perf/util/symbol.c | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 8a18347709e1..d1eece70b84d 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -1126,6 +1126,7 @@ fallback:
dso->annotate_warned = 1;
pr_err("Can't annotate %s:\n\n"
"No vmlinux file%s\nwas found in the path.\n\n"
+ "Note that annotation using /proc/kcore requires CAP_SYS_RAWIO capability.\n\n"
"Please use:\n\n"
" perf buildid-cache -vu vmlinux\n\n"
"or:\n\n"
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index 725640fd7cd8..42e98ab5a9bb 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1138,8 +1138,8 @@ static int dso__load_kcore(struct dso *dso, struct map *map,

fd = open(kcore_filename, O_RDONLY);
if (fd < 0) {
- pr_err("%s requires CAP_SYS_RAWIO capability to access.\n",
- kcore_filename);
+ pr_debug("Failed to open %s. Note /proc/kcore requires CAP_SYS_RAWIO capability to access.\n",
+ kcore_filename);
return -EINVAL;
}

--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/