diff options
author | timurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-21 11:39:26 +0000 |
---|---|---|
committer | timurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-21 11:39:26 +0000 |
commit | 9d2b422646d62b807d25ffd1bc357068986b6dfb (patch) | |
tree | bcaa3fe85610a74c789902e2eb97cdc55537ad41 /tools | |
parent | 663b7142ab80baf2485677f73f0451fb3d966b6a (diff) | |
download | chromium_src-9d2b422646d62b807d25ffd1bc357068986b6dfb.zip chromium_src-9d2b422646d62b807d25ffd1bc357068986b6dfb.tar.gz chromium_src-9d2b422646d62b807d25ffd1bc357068986b6dfb.tar.bz2 |
Added a suppression for another benign race in ICU, widen one old suppression.
(see third_party/icu/source/common/umutex.c)
When two concurrent threads try to call umtx_lock(mutex) for an uninitialized mutex simultaneously, *mutex is read without taking any lock.
However, if *mutex is NULL, a DCLP inside umtx_init(mutex) guarantees that *mutex is initialized exactly once. Otherwise, if *mutex is already a valid pthread_mutex_t, the behavior of the program is not affected.
This patch was prepared by Alexander Potapenko (cc'ed)
TBR=dank
Review URL: http://codereview.chromium.org/303019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29633 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools')
-rw-r--r-- | tools/valgrind/tsan/suppressions.txt | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/valgrind/tsan/suppressions.txt b/tools/valgrind/tsan/suppressions.txt index 14b46ae..4557452 100644 --- a/tools/valgrind/tsan/suppressions.txt +++ b/tools/valgrind/tsan/suppressions.txt @@ -167,6 +167,7 @@ { Two writes, same value (ICU gGlobalMutex, gMutexesInUse) ThreadSanitizer:Race + ... fun:umtx_init_4_2 } @@ -176,6 +177,13 @@ fun:uprv_malloc_4_2 } +# Reading a pointer to a mutex being initialized in a concurrent thread. +{ + A benign race in umtx_lock_4_2 + ThreadSanitizer:Race + fun:umtx_lock_4_2 +} + ############################ # Benign race in SQLLite { |