From: Arnd Bergmann <a...@arndb.de> commit 78e05972c5e6c8e9ca4c00ccc6985409da69f904 upstream.
As Vincent noticed, the y2038 conversion of semtimedop in linux-5.1 broke when commit 00bf25d693e7 ("y2038: use time32 syscall names on 32-bit") changed all system calls on all architectures that take a 32-bit time_t to point to the _time32 implementation, but left out semtimedop in the asm-generic header. This affects all 32-bit architectures using asm-generic/unistd.h: h8300, unicore32, openrisc, nios2, hexagon, c6x, arc, nds32 and csky. The notable exception is riscv32, which has dropped support for the time32 system calls entirely. Reported-by: Vincent Chen <deanbo...@gmail.com> Cc: sta...@vger.kernel.org Cc: Vincent Chen <deanbo...@gmail.com> Cc: Greentime Hu <green...@gmail.com> Cc: Yoshinori Sato <ys...@users.sourceforge.jp> Cc: Guan Xuetao <g...@pku.edu.cn> Cc: Stafford Horne <sho...@gmail.com> Cc: Jonas Bonn <jo...@southpole.se> Cc: Stefan Kristiansson <stefan.kristians...@saunalahti.fi> Cc: Ley Foon Tan <lf...@altera.com> Cc: Richard Kuo <r...@codeaurora.org> Cc: Mark Salter <msal...@redhat.com> Cc: Aurelien Jacquiot <jacquiot.aurel...@gmail.com> Cc: Guo Ren <guo...@kernel.org> Fixes: 00bf25d693e7 ("y2038: use time32 syscall names on 32-bit") Signed-off-by: Arnd Bergmann <a...@arndb.de> Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org> --- include/uapi/asm-generic/unistd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/include/uapi/asm-generic/unistd.h +++ b/include/uapi/asm-generic/unistd.h @@ -569,7 +569,7 @@ __SYSCALL(__NR_semget, sys_semget) __SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl) #if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32 #define __NR_semtimedop 192 -__SC_COMP(__NR_semtimedop, sys_semtimedop, sys_semtimedop_time32) +__SC_3264(__NR_semtimedop, sys_semtimedop_time32, sys_semtimedop) #endif #define __NR_semop 193 __SYSCALL(__NR_semop, sys_semop)