about summary refs log tree commit diff
path: root/nptl/pthread_mutex_timedlock.c
diff options
context:
space:
mode:
authorLukasz Majewski <lukma@denx.de>2020-10-19 15:05:47 +0200
committerLukasz Majewski <lukma@denx.de>2020-10-21 11:43:35 +0200
commit9cb2c923844ba1b77a7b9ade777e838242a4e201 (patch)
treebc3870647b9b6f5e285d7cddaef9e63315d2102d /nptl/pthread_mutex_timedlock.c
parent56b223c1c8334e4255bf11aed1386a007822702a (diff)
downloadglibc-9cb2c923844ba1b77a7b9ade777e838242a4e201.tar.gz
glibc-9cb2c923844ba1b77a7b9ade777e838242a4e201.tar.xz
glibc-9cb2c923844ba1b77a7b9ade777e838242a4e201.zip
y2038: nptl: Provide __futex_clock_wait_bitset64 to support 64 bit bitset
The commit:
"y2038: nptl: Convert pthread_mutex_{clock|timed}lock to support 64 bit"
SHA1: 29e9874a048f47e2d46c40253036c8d2de921548

introduced support for 64 bit timeouts. Unfortunately, it was missing the
code for bitset - i.e. lll_futex_clock_wait_bitset C preprocessor macro
was used. As a result the 64 bit struct __timespec64 was coerced to 32
bit struct timespec and regression visible as timeout was observed
(nptl/tst-robust10 on s390).

Reported-by: Stefan Liebler <stli@linux.ibm.com>
Tested-by: Stefan Liebler <stli@linux.ibm.com>
Diffstat (limited to 'nptl/pthread_mutex_timedlock.c')
-rw-r--r--nptl/pthread_mutex_timedlock.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/nptl/pthread_mutex_timedlock.c b/nptl/pthread_mutex_timedlock.c
index dc40399f02..fe9e651f6c 100644
--- a/nptl/pthread_mutex_timedlock.c
+++ b/nptl/pthread_mutex_timedlock.c
@@ -268,7 +268,7 @@ __pthread_mutex_clocklock_common (pthread_mutex_t *mutex,
 	  assume_other_futex_waiters |= FUTEX_WAITERS;
 
 	  /* Block using the futex.  */
-	  int err = lll_futex_clock_wait_bitset (&mutex->__data.__lock,
+	  int err = __futex_clock_wait_bitset64 (&mutex->__data.__lock,
 	      oldval, clockid, abstime,
 	      PTHREAD_ROBUST_MUTEX_PSHARED (mutex));
 	  /* The futex call timed out.  */