diff options
author | Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com> | 2017-01-03 17:16:02 -0200 |
---|---|---|
committer | Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com> | 2017-01-03 17:21:41 -0200 |
commit | e9a96ea1aca4ebaa7c86e8b83b766f118d689d0f (patch) | |
tree | c8171c3229049caaea73c8f5ee2f2f068c02669b /ChangeLog | |
parent | daaff5cc793acdd4f8667fca3b901647b4c34363 (diff) | |
download | glibc-e9a96ea1aca4ebaa7c86e8b83b766f118d689d0f.tar glibc-e9a96ea1aca4ebaa7c86e8b83b766f118d689d0f.tar.gz glibc-e9a96ea1aca4ebaa7c86e8b83b766f118d689d0f.tar.bz2 glibc-e9a96ea1aca4ebaa7c86e8b83b766f118d689d0f.zip |
powerpc: Fix write-after-destroy in lock elision [BZ #20822]
The update of *adapt_count after the release of the lock causes a race
condition when thread A unlocks, thread B continues and destroys the
mutex, and thread A writes to *adapt_count.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -1,3 +1,16 @@ +2017-01-03 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com> + Steven Munroe <sjmunroe@us.ibm.com> + Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com> + + [BZ #20822] + * sysdeps/unix/sysv/linux/powerpc/elision-lock.c + (__lll_lock_elision): Access adapt_count via C11 atomics. + * sysdeps/unix/sysv/linux/powerpc/elision-trylock.c + (__lll_trylock_elision): Likewise. + * sysdeps/unix/sysv/linux/powerpc/elision-unlock.c + (__lll_unlock_elision): Update adapt_count variable inside the + critical section using C11 atomics. + 2017-01-03 Joseph Myers <joseph@codesourcery.com> * math/test-fenvinline.c (do_test): Disable tests of raised |