summaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/arm-cs-trace-disasm.py
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2023-06-09 15:40:04 -0700
committerArnaldo Carvalho de Melo <acme@redhat.com>2023-06-13 23:40:32 -0300
commit97d5f2e9ee12cdc7214d5835d35c59404cfafee6 (patch)
tree7379a1e33488012d200401032a6858ad3a3f0fc6 /tools/perf/scripts/python/arm-cs-trace-disasm.py
parent8dc26b6f718a81188519b77033eea764c9b6f732 (diff)
downloadlinux-stable-97d5f2e9ee12cdc7214d5835d35c59404cfafee6.tar.gz
linux-stable-97d5f2e9ee12cdc7214d5835d35c59404cfafee6.tar.bz2
linux-stable-97d5f2e9ee12cdc7214d5835d35c59404cfafee6.zip
tools api fs: More thread safety for global filesystem variables
Multiple threads, such as with "perf top", may race to initialize a file system path like hugetlbfs. The racy initialization of the path leads to at least memory leaks. To avoid this initialize each fs for reading the mount point path with pthread_once. Mounting the file system may also be racy, so introduce a mutex over the function. This does mean that the path is being accessed with and without a mutex, which is inherently racy but hopefully benign, especially as there are fewer callers to fs__mount. Remove the fs__entries by directly using global variables, this was done as no argument like the index can be passed to the init once routine. Issue found and tested with "perf top" and address sanitizer. Signed-off-by: Ian Rogers <irogers@google.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: bpf@vger.kernel.org Link: https://lore.kernel.org/r/20230609224004.180988-1-irogers@google.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/scripts/python/arm-cs-trace-disasm.py')
0 files changed, 0 insertions, 0 deletions