arch: add split IPC system calls where needed
The IPC system call handling is highly inconsistent across architectures, some use sys_ipc, some use separate calls, and some use both. We also have some architectures that require passing IPC_64 in the flags, and others that set it implicitly. For the addition of a y2038 safe semtimedop() system call, I chose to only support the separate entry points, but that requires first supporting the regular ones with their own syscall numbers. The IPC_64 is now implied by the new semctl/shmctl/msgctl system calls even on the architectures that require passing it with the ipc() multiplexer. I'm not adding the new semtimedop() or semop() on 32-bit architectures, those will get implemented using the new semtimedop_time64() version that gets added along with the other time64 calls. Three 64-bit architectures (powerpc, s390 and sparc) get semtimedop(). Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
@@ -398,3 +398,14 @@
|
||||
384 i386 arch_prctl sys_arch_prctl __ia32_compat_sys_arch_prctl
|
||||
385 i386 io_pgetevents sys_io_pgetevents __ia32_compat_sys_io_pgetevents
|
||||
386 i386 rseq sys_rseq __ia32_sys_rseq
|
||||
# don't use numbers 387 through 392, add new calls at the end
|
||||
393 i386 semget sys_semget __ia32_sys_semget
|
||||
394 i386 semctl sys_semctl __ia32_compat_sys_semctl
|
||||
395 i386 shmget sys_shmget __ia32_sys_shmget
|
||||
396 i386 shmctl sys_shmctl __ia32_compat_sys_shmctl
|
||||
397 i386 shmat sys_shmat __ia32_compat_sys_shmat
|
||||
398 i386 shmdt sys_shmdt __ia32_sys_shmdt
|
||||
399 i386 msgget sys_msgget __ia32_sys_msgget
|
||||
400 i386 msgsnd sys_msgsnd __ia32_compat_sys_msgsnd
|
||||
401 i386 msgrcv sys_msgrcv __ia32_compat_sys_msgrcv
|
||||
402 i386 msgctl sys_msgctl __ia32_compat_sys_msgctl
|
||||
|
@@ -343,6 +343,8 @@
|
||||
332 common statx __x64_sys_statx
|
||||
333 common io_pgetevents __x64_sys_io_pgetevents
|
||||
334 common rseq __x64_sys_rseq
|
||||
# don't use numbers 387 through 423, add new calls after the last
|
||||
# 'common' entry
|
||||
|
||||
#
|
||||
# x32-specific system call numbers start at 512 to avoid cache impact
|
||||
|
Reference in New Issue
Block a user