[PATCH] D18132: [tsan] Detect uses of uninitialized, destroyed and invalid mutexes
Dmitry Vyukov via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 15 05:57:28 PDT 2016
dvyukov accepted this revision.
dvyukov added a comment.
This revision is now accepted and ready to land.
My only concern is that some pthread implementations will not detect this bug and the test will fail. But I guess the bots will tell.
We probably could do the same check in pthread_mutex_destroy. But FWIW my implementation does not detect double-destroy.
This show a flaw in the interceptors. If a mutex function fails, we don't execute COMMON_INTERCEPTOR_MUTEX_LOCK/DESTROY and don't catch use-after-free on mutex accesses. Always emulating the memory access is probably the right thing to do (esp for asan).
More information about the llvm-commits