summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/dso.c
diff options
context:
space:
mode:
authorJiri Olsa <jolsa@kernel.org>2016-01-20 12:56:32 +0100
committerArnaldo Carvalho de Melo <acme@redhat.com>2016-01-26 11:52:43 -0300
commit403567217d3fa5d4801f820317ada52e5c5f0e53 (patch)
tree763bb6022b244a28eb7f64da660e450c014b3d24 /tools/perf/util/dso.c
parentd85ce830eef6c10d1e9617172dea4681f02b8424 (diff)
downloadlinux-stable-403567217d3fa5d4801f820317ada52e5c5f0e53.tar.gz
linux-stable-403567217d3fa5d4801f820317ada52e5c5f0e53.tar.bz2
linux-stable-403567217d3fa5d4801f820317ada52e5c5f0e53.zip
perf symbols: Do not read symbols/data from device files
With mem sampling we could get data source within mapped device file. Processing such sample would block during report phase on trying to read the device file. Chacking for device files and skip the processing if it's detected. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: David Ahern <dsahern@gmail.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1453290995-18485-2-git-send-email-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/dso.c')
-rw-r--r--tools/perf/util/dso.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/perf/util/dso.c b/tools/perf/util/dso.c
index e8e9a9dbf5e3..8e6395439ca0 100644
--- a/tools/perf/util/dso.c
+++ b/tools/perf/util/dso.c
@@ -52,6 +52,11 @@ int dso__read_binary_type_filename(const struct dso *dso,
debuglink--;
if (*debuglink == '/')
debuglink++;
+
+ ret = -1;
+ if (!is_regular_file(filename))
+ break;
+
ret = filename__read_debuglink(filename, debuglink,
size - (debuglink - filename));
}