From 9cb2c923844ba1b77a7b9ade777e838242a4e201 Mon Sep 17 00:00:00 2001 From: Lukasz Majewski Date: Mon, 19 Oct 2020 15:05:47 +0200 Subject: 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 Tested-by: Stefan Liebler --- nptl/pthread_mutex_timedlock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nptl') 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. */ -- cgit v1.2.3