diff options
authorArnd Bergmann <>2019-09-05 16:20:09 +0200
committerArnd Bergmann <>2019-09-06 21:49:24 +0200
commit78e05972c5e6c8e9ca4c00ccc6985409da69f904 (patch)
parent089cf7f6ecb266b6a4164919a2e69bd2f938374a (diff)
ipc: fix semtimedop for generic 32-bit architectures
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 <> Cc: Cc: Vincent Chen <> Cc: Greentime Hu <> Cc: Yoshinori Sato <> Cc: Guan Xuetao <> Cc: Stafford Horne <> Cc: Jonas Bonn <> Cc: Stefan Kristiansson <> Cc: Ley Foon Tan <> Cc: Richard Kuo <> Cc: Mark Salter <> Cc: Aurelien Jacquiot <> Cc: Guo Ren <> Fixes: 00bf25d693e7 ("y2038: use time32 syscall names on 32-bit") Signed-off-by: Arnd Bergmann <>
1 files changed, 1 insertions, 1 deletions
diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h
index 1be0e798e362..1fc8faa6e973 100644
--- 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)
#define __NR_semop 193
__SYSCALL(__NR_semop, sys_semop)