summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/task-analyzer.py
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2025-03-18 07:31:50 +0300
committerNamhyung Kim <namhyung@kernel.org>2025-03-18 08:07:18 +0300
commit5ac22c35aa8519f1fb5522fb3aff915f28a9365e (patch)
tree4bc2bad67d628a3a89b343d89efba34d40b83e13 /tools/perf/scripts/python/task-analyzer.py
parentc5ebf3a26601c833a3ea8c6035d4318445a7e3a5 (diff)
downloadlinux-5ac22c35aa8519f1fb5522fb3aff915f28a9365e.tar.xz
perf dso: Use lock annotations to fix asan deadlock
dso__list_del with address sanitizer and/or reference count checking will call dso__put that can call dso__data_close reentrantly trying to lock the dso__data_open_lock and deadlocking. Switch from pthread mutexes to perf's mutex so that lock checking is performed in debug builds. Add lock annotations that diagnosed the problem. Release the dso__data_open_lock around the dso__put to avoid the deadlock. Change the declaration of dso__data_get_fd to return a boolean, indicating the fd is valid and the lock is held, to make it compatible with the thread safety annotations as a try lock. Signed-off-by: Ian Rogers <irogers@google.com> Link: https://lore.kernel.org/r/20250318043151.137973-3-irogers@google.com Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/task-analyzer.py')
0 files changed, 0 insertions, 0 deletions