diff options
author | Carlos O'Donell <carlos@redhat.com> | 2017-07-29 00:02:03 -0400 |
---|---|---|
committer | Carlos O'Donell <carlos@redhat.com> | 2017-07-29 00:02:03 -0400 |
commit | 5920a4a624b1f4db310d1c44997b640e2a4653e5 (patch) | |
tree | e58989b49f6aae484bcdf13adad65bdbe79273e3 /ChangeLog | |
parent | d95fcb2df478efbf4f8537ba898374043ac4561f (diff) | |
download | glibc-5920a4a624b1f4db310d1c44997b640e2a4653e5.tar.gz glibc-5920a4a624b1f4db310d1c44997b640e2a4653e5.tar.xz glibc-5920a4a624b1f4db310d1c44997b640e2a4653e5.zip |
mutex: Fix robust mutex lock acquire (Bug 21778)
65810f0ef05e8c9e333f17a44e77808b163ca298 fixed a robust mutex bug but introduced BZ 21778: if the CAS used to try to acquire a lock fails, the expected value is not updated, which breaks other cases in the loce acquisition loop. The fix is to simply update the expected value with the value returned by the CAS, which ensures that behavior is as if the first case with the CAS never happened (if the CAS fails). This is a regression introduced in the last release. Tested on x86_64, i686, ppc64, ppc64le, s390x, aarch64, armv7hl.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 4cec993f99..5368e15fb7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,17 @@ -2017-07-23 Nathan Rossi <nathan@nathanrossi.com> +2017-07-29 Torvald Riegel <triegel@redhat.com> + Carlos O'Donell <carlos@redhat.com> + + [BZ 21778] + * nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): Update + oldval if the CAS fails. + * nptl/pthread_mutex_lock.c (__pthread_mutex_lock_full): Likewise. + * nptl/tst-mutex7.c: Add comments explaining template test. + (ROBUST, DELAY_NSEC, ROUNDS, N): New. + (tf, do_test): Use them. + * nptl/tst-mutex7robust.c: New file. + * nptl/Makefile (tests): Add new test. + +2017-07-28 Nathan Rossi <nathan@nathanrossi.com> [BZ #21779] * sysdeps/unix/sysv/linux/microblaze/pt-vfork.S: Branch using PLT. |