diff options
author | Carlos O'Donell <carlos@systemhalted.org> | 2017-07-28 00:22:44 -0400 |
---|---|---|
committer | Carlos O'Donell <carlos@systemhalted.org> | 2017-07-28 00:23:58 -0400 |
commit | faf8c066df0d6bccb54bd74dd696eeb65e1b3bbc (patch) | |
tree | af22c223947b73a7c22f3add45da6b5c8f204672 /ChangeLog | |
parent | 2557ae38f3aa599718f34317cd0c150892a92be5 (diff) | |
download | glibc-faf8c066df0d6bccb54bd74dd696eeb65e1b3bbc.tar glibc-faf8c066df0d6bccb54bd74dd696eeb65e1b3bbc.tar.gz glibc-faf8c066df0d6bccb54bd74dd696eeb65e1b3bbc.tar.bz2 glibc-faf8c066df0d6bccb54bd74dd696eeb65e1b3bbc.zip |
rwlock: Fix explicit hand-over (bug 21298)
Without this fix, the rwlock can fail to execute the explicit hand-over
in certain cases (e.g., empty critical sections that switch quickly between
read and write phases). This can then lead to errors in how __wrphase_futex
is accessed, which in turn can lead to deadlocks.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -1,3 +1,27 @@ +2017-07-28 Torvald Riegel <triegel@redhat.com> + Carlos O'Donell <carlos@redhat.com> + + [BZ #21298] + * nptl/Makefile (tests-internal): Add tst-rwlock20. + * nptl/pthread_rwlock_common.c (__pthread_rwlock_rdlock_full): Fix + explicit hand-over. + (__pthread_rwlock_wrlock_full): Likewise. + * nptl/tst-rwlock20.c: New file. + * support/Makefile (libsupport-routines): Add xpthread_rwlock_init, + xpthread_rwlock_rdlock, xpthread_rwlock_unlock, + xpthread_rwlock_wrlock, xpthread_rwlockattr_init, and + xpthread_rwlockattr_setkind_np. + * support/xpthread_rwlock_init.c: New file. + * support/xpthread_rwlock_rdlock.c: New file. + * support/xpthread_rwlock_unlock.c: New file. + * support/xpthread_rwlock_wrlock.c: New file. + * support/xpthread_rwlockattr_init.c: New file. + * support/xpthread_rwlockattr_setkind_np.c: New file. + * support/xthread.h: Add xpthread_rwlock_init, xpthread_rwlock_rdlock, + xpthread_rwlock_unlock, xpthread_rwlock_wrlock, + xpthread_rwlockattr_init, and xpthread_rwlockattr_setkind_np + prototypes. + 2017-07-27 Adhemerval Zanella <adhemerval.zanella@linaro.org> * sysdeps/alpha/fpu/libm-test-ulps: Update. |