about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@systemhalted.org>2017-07-28 00:22:44 -0400
committerCarlos O'Donell <carlos@systemhalted.org>2017-07-28 00:23:58 -0400
commitfaf8c066df0d6bccb54bd74dd696eeb65e1b3bbc (patch)
treeaf22c223947b73a7c22f3add45da6b5c8f204672 /ChangeLog
parent2557ae38f3aa599718f34317cd0c150892a92be5 (diff)
downloadglibc-faf8c066df0d6bccb54bd74dd696eeb65e1b3bbc.tar.gz
glibc-faf8c066df0d6bccb54bd74dd696eeb65e1b3bbc.tar.xz
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--ChangeLog24
1 files changed, 24 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f05a580dae..4c132cde0d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.