y2038: ipc: Redirect ipc(SEMTIMEDOP, ...) to compat_ksys_semtimedop
authorArnd Bergmann <arnd@arndb.de>
Fri, 13 Apr 2018 15:03:29 +0000 (17:03 +0200)
committerArnd Bergmann <arnd@arndb.de>
Fri, 20 Apr 2018 14:20:30 +0000 (16:20 +0200)
commit5dc0b1529d21b54aad4098874e334a52027fd16d
tree320773acdbff5394d1184996b9566e1c9c667e6c
parentb0d175781ab275576429fe379ba8e98e1c60f362
y2038: ipc: Redirect ipc(SEMTIMEDOP, ...) to compat_ksys_semtimedop

32-bit architectures implementing 64BIT_TIME and COMPAT_32BIT_TIME
need to have the traditional semtimedop() behavior with 32-bit timestamps
for sys_ipc() by calling compat_ksys_semtimedop(), while those that
are not yet converted need to keep using ksys_semtimedop() like
64-bit architectures do.

Note that I chose to not implement a new SEMTIMEDOP64 function that
corresponds to the new sys_semtimedop() with 64-bit timeouts. The reason
here is that sys_ipc() should no longer be used for new system calls,
and libc should just call the semtimedop syscall directly.

One open question remain to whether we want to completely avoid the
sys_ipc() system call for architectures that do not yet have all the
individual calls as they get converted to 64-bit time_t. Doing that
would require adding several extra system calls on m68k, mips, powerpc,
s390, sh, sparc, and x86-32.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
ipc/syscall.c