From 4bf5ab3196bd27e48d87d4a1cd91efd39772e026 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 6 Nov 2018 09:23:02 +0100 Subject: [PATCH] RISC-V: don't assume PI mutexes and robust futexes before 4.20 (bug 23864) Support for futex_cmpxchg as only been added to 4.20-rc1. (cherry picked from commit 295132ff052b32960207d82a950c0efbf0766857) --- ChangeLog | 7 +++++++ NEWS | 1 + sysdeps/unix/sysv/linux/riscv/kernel-features.h | 5 +++++ 3 files changed, 13 insertions(+) diff --git a/ChangeLog b/ChangeLog index 42fe0aeb1e5..e5011123eb7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2018-11-07 Andreas Schwab + + [BZ #23864] + * sysdeps/unix/sysv/linux/riscv/kernel-features.h + (__ASSUME_SET_ROBUST_LIST) [__LINUX_KERNEL_VERSION < 0x041400]: + Undef. + 2018-09-21 Adhemerval Zanella * NEWS: Add note about new TLE support on powerpc64le. diff --git a/NEWS b/NEWS index 60b15116d63..11d9af739c3 100644 --- a/NEWS +++ b/NEWS @@ -39,6 +39,7 @@ The following bugs are resolved with this release: [23717] Fix stack overflow in stdlib/tst-setcontext9 [23821] si_band in siginfo_t has wrong type long int on sparc64 [23822] ia64 static libm.a is missing exp2f, log2f and powf symbols + [23864] libc: [riscv] missing kernel-features.h undefines [23844] pthread_rwlock_trywrlock results in hang [23927] Linux if_nametoindex() does not close descriptor (CVE-2018-19591) [23972] __old_getdents64 uses wrong d_off value on overflow diff --git a/sysdeps/unix/sysv/linux/riscv/kernel-features.h b/sysdeps/unix/sysv/linux/riscv/kernel-features.h index 37f4d99a92f..d21c824624f 100644 --- a/sysdeps/unix/sysv/linux/riscv/kernel-features.h +++ b/sysdeps/unix/sysv/linux/riscv/kernel-features.h @@ -21,3 +21,8 @@ #undef __ASSUME_CLONE_DEFAULT #define __ASSUME_CLONE_BACKWARDS 1 + +/* No support for PI mutexes or robust futexes before 4.20. */ +#if __LINUX_KERNEL_VERSION < 0x041400 +# undef __ASSUME_SET_ROBUST_LIST +#endif -- 2.47.2