perf symbols: Relax checks on perf-PID.map ownership
authorArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 18 Dec 2018 15:39:08 +0000 (12:39 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 18 Dec 2018 19:17:41 +0000 (16:17 -0300)
Those are simple enough, and usually not produced by root, instead by
whatever user is running java, rust, Node.js JIT code that end up
generating those /tmp/perf-PID.map for resolution of symbols in the
anonymous executable maps.

Having to use --force to resolve symbols in 'perf top' is a distraction,
as recently I experienced when node.js symbols were not being resolved
by 'perf top'.

Acked-by: Ingo Molnar <mingo@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Hítalo Silva <hitalos@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lkml.kernel.org/n/tip-tk2jgo2v4v2yjuj28axbpppo@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/symbol.c

index dcce74b..01f2c73 100644 (file)
@@ -1537,17 +1537,6 @@ int dso__load(struct dso *dso, struct map *map)
        dso->adjust_symbols = 0;
 
        if (perfmap) {
-               struct stat st;
-
-               if (lstat(map_path, &st) < 0)
-                       goto out;
-
-               if (!symbol_conf.force && st.st_uid && (st.st_uid != geteuid())) {
-                       pr_warning("File %s not owned by current user or root, "
-                                  "ignoring it (use -f to override).\n", map_path);
-                       goto out;
-               }
-
                ret = dso__load_perf_map(map_path, dso);
                dso->symtab_type = ret > 0 ? DSO_BINARY_TYPE__JAVA_JIT :
                                             DSO_BINARY_TYPE__NOT_FOUND;