mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
perf inject: Enter namespace when reading build-id
It should be in a proper mnt namespace when accessing the file. I think this had no problem since the build-id was actually read from map__load() -> dso__load() already. But I'd like to change it in the following commit. Acked-by: Jiri Olsa <jolsa@redhat.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Link: https://lore.kernel.org/r/20201012070214.2074921-4-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
2946ecedd0
commit
336c95b297
@ -23,6 +23,7 @@
|
||||
#include "util/symbol.h"
|
||||
#include "util/synthetic-events.h"
|
||||
#include "util/thread.h"
|
||||
#include "util/namespaces.h"
|
||||
#include <linux/err.h>
|
||||
|
||||
#include <subcmd/parse-options.h>
|
||||
@ -419,16 +420,19 @@ static int perf_event__repipe_tracing_data(struct perf_session *session,
|
||||
|
||||
static int dso__read_build_id(struct dso *dso)
|
||||
{
|
||||
struct nscookie nsc;
|
||||
|
||||
if (dso->has_build_id)
|
||||
return 0;
|
||||
|
||||
nsinfo__mountns_enter(dso->nsinfo, &nsc);
|
||||
if (filename__read_build_id(dso->long_name, dso->build_id,
|
||||
sizeof(dso->build_id)) > 0) {
|
||||
dso->has_build_id = true;
|
||||
return 0;
|
||||
}
|
||||
nsinfo__mountns_exit(&nsc);
|
||||
|
||||
return -1;
|
||||
return dso->has_build_id ? 0 : -1;
|
||||
}
|
||||
|
||||
static int dso__inject_build_id(struct dso *dso, struct perf_tool *tool,
|
||||
|
Loading…
Reference in New Issue
Block a user