This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug nptl/21298] rwlock can deadlock on frequent reader/writer phase switching
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Fri, 28 Jul 2017 04:53:42 +0000
- Subject: [Bug nptl/21298] rwlock can deadlock on frequent reader/writer phase switching
- Auto-submitted: auto-generated
- References: <bug-21298-131@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=21298
--- Comment #3 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via faf8c066df0d6bccb54bd74dd696eeb65e1b3bbc (commit)
from 2557ae38f3aa599718f34317cd0c150892a92be5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=faf8c066df0d6bccb54bd74dd696eeb65e1b3bbc
commit faf8c066df0d6bccb54bd74dd696eeb65e1b3bbc
Author: Carlos O'Donell <carlos@systemhalted.org>
Date: Fri Jul 28 00:22:44 2017 -0400
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.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 24 ++
nptl/Makefile | 4 +-
nptl/pthread_rwlock_common.c | 478 +++++++++++++++---------------
nptl/tst-rwlock20.c | 116 +++++++
support/Makefile | 6 +
support/xpthread_rwlock_init.c | 27 ++
support/xpthread_rwlock_rdlock.c | 26 ++
support/xpthread_rwlock_unlock.c | 26 ++
support/xpthread_rwlock_wrlock.c | 26 ++
support/xpthread_rwlockattr_init.c | 26 ++
support/xpthread_rwlockattr_setkind_np.c | 27 ++
support/xthread.h | 8 +
12 files changed, 555 insertions(+), 239 deletions(-)
create mode 100644 nptl/tst-rwlock20.c
create mode 100644 support/xpthread_rwlock_init.c
create mode 100644 support/xpthread_rwlock_rdlock.c
create mode 100644 support/xpthread_rwlock_unlock.c
create mode 100644 support/xpthread_rwlock_wrlock.c
create mode 100644 support/xpthread_rwlockattr_init.c
create mode 100644 support/xpthread_rwlockattr_setkind_np.c
--
You are receiving this mail because:
You are on the CC list for the bug.