diff options
| author | Ian Rogers <[email protected]> | 2025-03-18 04:31:50 +0000 |
|---|---|---|
| committer | Namhyung Kim <[email protected]> | 2025-03-18 05:07:18 +0000 |
| commit | 5ac22c35aa8519f1fb5522fb3aff915f28a9365e (patch) | |
| tree | 4bc2bad67d628a3a89b343d89efba34d40b83e13 /tools/perf/python/tracepoint.py | |
| parent | perf mutex: Add annotations for LOCKS_EXCLUDED and LOCKS_RETURNED (diff) | |
| download | kernel-5ac22c35aa8519f1fb5522fb3aff915f28a9365e.tar.gz kernel-5ac22c35aa8519f1fb5522fb3aff915f28a9365e.zip | |
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 <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Namhyung Kim <[email protected]>
Diffstat (limited to 'tools/perf/python/tracepoint.py')
0 files changed, 0 insertions, 0 deletions
