aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorTorvald Riegel <triegel@redhat.com>2016-12-24 00:40:46 +0100
committerTorvald Riegel <triegel@redhat.com>2017-01-13 23:12:32 +0100
commit8f9450a0b7a9e78267e8ae1ab1000ebca08e473e (patch)
treebca2a0f01266faddbb985b5e3751b64f068fa565 /ChangeLog
parent8e31cafb268938729a1314806a924d73fb1991c5 (diff)
downloadglibc-8f9450a0b7a9e78267e8ae1ab1000ebca08e473e.zip
glibc-8f9450a0b7a9e78267e8ae1ab1000ebca08e473e.tar.gz
glibc-8f9450a0b7a9e78267e8ae1ab1000ebca08e473e.tar.bz2
Add compiler barriers around modifications of the robust mutex list.
Any changes to the per-thread list of robust mutexes currently acquired as well as the pending-operations entry are not simply sequential code but basically concurrent with any actions taken by the kernel when it tries to clean up after a crash. This is not quite like multi-thread concurrency but more like signal-handler concurrency. This patch fixes latent bugs by adding compiler barriers where necessary so that it is ensured that the kernel crash handling sees consistent data. This is meant to be easy to backport, so we do not use C11-style signal fences yet. * nptl/descr.h (ENQUEUE_MUTEX_BOTH, DEQUEUE_MUTEX): Add compiler barriers and comments. * nptl/pthread_mutex_lock.c (__pthread_mutex_lock_full): Likewise. * nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock): Likewise. * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_full): Likewise.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog8
1 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index b4defdb..52ad8d8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2016-01-13 Torvald Riegel <triegel@redhat.com>
+ * nptl/descr.h (ENQUEUE_MUTEX_BOTH, DEQUEUE_MUTEX): Add compiler
+ barriers and comments.
+ * nptl/pthread_mutex_lock.c (__pthread_mutex_lock_full): Likewise.
+ * nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock): Likewise.
+ * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_full): Likewise.
+
+2016-01-13 Torvald Riegel <triegel@redhat.com>
+
[BZ #19402]
* sysdeps/nptl/fork.c (__libc_fork): Clear list of acquired robust
mutexes.