From: Arnd Bergmann <arnd@arndb.de>
To: y2038@lists.linaro.org, linux-api@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Cc: dalias@libc.org, linux-ia64@vger.kernel.org,
linux-sh@vger.kernel.org, catalin.marinas@arm.com,
will.deacon@arm.com, jcmvbkbc@gmail.com, deepa.kernel@gmail.com,
hpa@zytor.com, sparclinux@vger.kernel.org,
linux-s390@vger.kernel.org, mpe@ellerman.id.au, deller@gmx.de,
x86@kernel.org, linux@armlinux.org.uk, mingo@redhat.com,
geert@linux-m68k.org, benh@kernel.crashing.org,
firoz.khan@linaro.org, mattst88@gmail.com, fenghua.yu@intel.com,
Arnd Bergmann <arnd@arndb.de>,
heiko.carstens@de.ibm.com, linux-fsdevel@vger.kernel.org,
linux-m68k@lists.linux-m68k.org, luto@kernel.org,
tglx@linutronix.de, linux-arm-kernel@lists.infradead.org,
monstr@monstr.eu, tony.luck@intel.com,
linux-parisc@vger.kernel.org, netdev@vger.kernel.org,
linux-mips@vger.kernel.org, paul.burton@mips.com,
ebiederm@xmission.com, linux-alpha@vger.kernel.org,
schwidefsky@de.ibm.com, akpm@linux-foundation.orglinu
Subject: [PATCH v2 13/29] arch: add split IPC system calls where needed
Date: Fri, 18 Jan 2019 16:18:19 +0000 [thread overview]
Message-ID: <20190118161835.2259170-14-arnd@arndb.de> (raw)
In-Reply-To: <20190118161835.2259170-1-arnd@arndb.de>
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 additon of a y2083 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>
---
One aspect here that might be a bit controversial is the use of
the same system call numbers across all architectures, synchronizing
all of them with the x86-32 numbers. With the new syscall.tbl
files, I hope we can just keep doing that in the future, and no
longer require the architecture maintainers to assign a number.
This is mainly useful for implementers of the C libraries: if
we can add future system calls everywhere at the same time, using
a particular version of the kernel headers also guarantees that
the system call number macro is visible.
---
arch/m68k/kernel/syscalls/syscall.tbl | 11 +++++++++++
arch/mips/kernel/syscalls/syscall_o32.tbl | 11 +++++++++++
arch/powerpc/kernel/syscalls/syscall.tbl | 13 +++++++++++++
arch/s390/kernel/syscalls/syscall.tbl | 12 ++++++++++++
arch/sh/kernel/syscalls/syscall.tbl | 11 +++++++++++
arch/sparc/kernel/syscalls/syscall.tbl | 12 ++++++++++++
arch/x86/entry/syscalls/syscall_32.tbl | 11 +++++++++++
7 files changed, 81 insertions(+)
diff --git a/arch/m68k/kernel/syscalls/syscall.tbl b/arch/m68k/kernel/syscalls/syscall.tbl
index 85779d6ef935..5354ba02eed2 100644
--- a/arch/m68k/kernel/syscalls/syscall.tbl
+++ b/arch/m68k/kernel/syscalls/syscall.tbl
@@ -388,3 +388,14 @@
378 common pwritev2 sys_pwritev2
379 common statx sys_statx
380 common seccomp sys_seccomp
+# room for arch specific calls
+393 common semget sys_semget
+394 common semctl sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl
+397 common shmat sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd
+401 common msgrcv sys_msgrcv
+402 common msgctl sys_msgctl
diff --git a/arch/mips/kernel/syscalls/syscall_o32.tbl b/arch/mips/kernel/syscalls/syscall_o32.tbl
index 3d5a47b80d2b..fa47ea8cc6ef 100644
--- a/arch/mips/kernel/syscalls/syscall_o32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_o32.tbl
@@ -380,3 +380,14 @@
366 o32 statx sys_statx
367 o32 rseq sys_rseq
368 o32 io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific calls
+393 o32 semget sys_semget
+394 o32 semctl sys_semctl compat_sys_semctl
+395 o32 shmget sys_shmget
+396 o32 shmctl sys_shmctl compat_sys_shmctl
+397 o32 shmat sys_shmat compat_sys_shmat
+398 o32 shmdt sys_shmdt
+399 o32 msgget sys_msgget
+400 o32 msgsnd sys_msgsnd compat_sys_msgsnd
+401 o32 msgrcv sys_msgrcv compat_sys_msgrcv
+402 o32 msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/powerpc/kernel/syscalls/syscall.tbl b/arch/powerpc/kernel/syscalls/syscall.tbl
index db3bbb8744af..7555874ce39c 100644
--- a/arch/powerpc/kernel/syscalls/syscall.tbl
+++ b/arch/powerpc/kernel/syscalls/syscall.tbl
@@ -414,6 +414,7 @@
363 spu switch_endian sys_ni_syscall
364 common userfaultfd sys_userfaultfd
365 common membarrier sys_membarrier
+# 366-377 originally left for IPC, now unused
378 nospu mlock2 sys_mlock2
379 nospu copy_file_range sys_copy_file_range
380 common preadv2 sys_preadv2 compat_sys_preadv2
@@ -425,3 +426,15 @@
386 nospu pkey_mprotect sys_pkey_mprotect
387 nospu rseq sys_rseq
388 nospu io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop
+393 common semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/s390/kernel/syscalls/syscall.tbl b/arch/s390/kernel/syscalls/syscall.tbl
index 7413fd318e2a..0bccb01c6202 100644
--- a/arch/s390/kernel/syscalls/syscall.tbl
+++ b/arch/s390/kernel/syscalls/syscall.tbl
@@ -391,3 +391,15 @@
381 common kexec_file_load sys_kexec_file_load sys_kexec_file_load
382 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
383 common rseq sys_rseq sys_rseq
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop -
+393 common semget sys_semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt sys_shmdt
+399 common msgget sys_msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/sh/kernel/syscalls/syscall.tbl b/arch/sh/kernel/syscalls/syscall.tbl
index a70db013dbc7..6d0b84e3ef2d 100644
--- a/arch/sh/kernel/syscalls/syscall.tbl
+++ b/arch/sh/kernel/syscalls/syscall.tbl
@@ -391,3 +391,14 @@
381 common preadv2 sys_preadv2
382 common pwritev2 sys_pwritev2
383 common statx sys_statx
+# room for arch specific syscalls
+393 common semget sys_semget
+394 common semctl sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl
+397 common shmat sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd
+401 common msgrcv sys_msgrcv
+402 common msgctl sys_msgctl
diff --git a/arch/sparc/kernel/syscalls/syscall.tbl b/arch/sparc/kernel/syscalls/syscall.tbl
index c8c77c05ea97..8c9580302422 100644
--- a/arch/sparc/kernel/syscalls/syscall.tbl
+++ b/arch/sparc/kernel/syscalls/syscall.tbl
@@ -407,3 +407,15 @@
359 common pwritev2 sys_pwritev2 compat_sys_pwritev2
360 common statx sys_statx
361 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop
+393 common semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
index 3cf7b533b3d1..fef80b92eb7e 100644
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
@@ -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
+# room for arch specific syscalls
+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
--
2.20.0
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: y2038@lists.linaro.org, linux-api@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Cc: Arnd Bergmann <arnd@arndb.de>,
mattst88@gmail.com, linux@armlinux.org.uk,
catalin.marinas@arm.com, will.deacon@arm.com,
tony.luck@intel.com, fenghua.yu@intel.com, geert@linux-m68k.org,
monstr@monstr.eu, paul.burton@mips.com, deller@gmx.de,
benh@kernel.crashing.org, mpe@ellerman.id.au,
schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com,
dalias@libc.org, davem@davemloft.net, luto@kernel.org,
tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com,
x86@kernel.org, jcmvbkbc@gmail.com, akpm@linux-foundation.org,
deepa.kernel@gmail.com, ebiederm@xmission.com,
firoz.khan@linaro.org, linux-alpha@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org,
linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org,
linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
linux-s390@vger.kernel.org, linux-sh@vger.kernel.org,
sparclinux@vger.kernel.org, netdev@vger.kernel.org,
linux-fsdevel@vger.kernel.org
Subject: [PATCH v2 13/29] arch: add split IPC system calls where needed
Date: Fri, 18 Jan 2019 17:18:19 +0100 [thread overview]
Message-ID: <20190118161835.2259170-14-arnd@arndb.de> (raw)
In-Reply-To: <20190118161835.2259170-1-arnd@arndb.de>
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 additon of a y2083 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>
---
One aspect here that might be a bit controversial is the use of
the same system call numbers across all architectures, synchronizing
all of them with the x86-32 numbers. With the new syscall.tbl
files, I hope we can just keep doing that in the future, and no
longer require the architecture maintainers to assign a number.
This is mainly useful for implementers of the C libraries: if
we can add future system calls everywhere at the same time, using
a particular version of the kernel headers also guarantees that
the system call number macro is visible.
---
arch/m68k/kernel/syscalls/syscall.tbl | 11 +++++++++++
arch/mips/kernel/syscalls/syscall_o32.tbl | 11 +++++++++++
arch/powerpc/kernel/syscalls/syscall.tbl | 13 +++++++++++++
arch/s390/kernel/syscalls/syscall.tbl | 12 ++++++++++++
arch/sh/kernel/syscalls/syscall.tbl | 11 +++++++++++
arch/sparc/kernel/syscalls/syscall.tbl | 12 ++++++++++++
arch/x86/entry/syscalls/syscall_32.tbl | 11 +++++++++++
7 files changed, 81 insertions(+)
diff --git a/arch/m68k/kernel/syscalls/syscall.tbl b/arch/m68k/kernel/syscalls/syscall.tbl
index 85779d6ef935..5354ba02eed2 100644
--- a/arch/m68k/kernel/syscalls/syscall.tbl
+++ b/arch/m68k/kernel/syscalls/syscall.tbl
@@ -388,3 +388,14 @@
378 common pwritev2 sys_pwritev2
379 common statx sys_statx
380 common seccomp sys_seccomp
+# room for arch specific calls
+393 common semget sys_semget
+394 common semctl sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl
+397 common shmat sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd
+401 common msgrcv sys_msgrcv
+402 common msgctl sys_msgctl
diff --git a/arch/mips/kernel/syscalls/syscall_o32.tbl b/arch/mips/kernel/syscalls/syscall_o32.tbl
index 3d5a47b80d2b..fa47ea8cc6ef 100644
--- a/arch/mips/kernel/syscalls/syscall_o32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_o32.tbl
@@ -380,3 +380,14 @@
366 o32 statx sys_statx
367 o32 rseq sys_rseq
368 o32 io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific calls
+393 o32 semget sys_semget
+394 o32 semctl sys_semctl compat_sys_semctl
+395 o32 shmget sys_shmget
+396 o32 shmctl sys_shmctl compat_sys_shmctl
+397 o32 shmat sys_shmat compat_sys_shmat
+398 o32 shmdt sys_shmdt
+399 o32 msgget sys_msgget
+400 o32 msgsnd sys_msgsnd compat_sys_msgsnd
+401 o32 msgrcv sys_msgrcv compat_sys_msgrcv
+402 o32 msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/powerpc/kernel/syscalls/syscall.tbl b/arch/powerpc/kernel/syscalls/syscall.tbl
index db3bbb8744af..7555874ce39c 100644
--- a/arch/powerpc/kernel/syscalls/syscall.tbl
+++ b/arch/powerpc/kernel/syscalls/syscall.tbl
@@ -414,6 +414,7 @@
363 spu switch_endian sys_ni_syscall
364 common userfaultfd sys_userfaultfd
365 common membarrier sys_membarrier
+# 366-377 originally left for IPC, now unused
378 nospu mlock2 sys_mlock2
379 nospu copy_file_range sys_copy_file_range
380 common preadv2 sys_preadv2 compat_sys_preadv2
@@ -425,3 +426,15 @@
386 nospu pkey_mprotect sys_pkey_mprotect
387 nospu rseq sys_rseq
388 nospu io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop
+393 common semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/s390/kernel/syscalls/syscall.tbl b/arch/s390/kernel/syscalls/syscall.tbl
index 7413fd318e2a..0bccb01c6202 100644
--- a/arch/s390/kernel/syscalls/syscall.tbl
+++ b/arch/s390/kernel/syscalls/syscall.tbl
@@ -391,3 +391,15 @@
381 common kexec_file_load sys_kexec_file_load sys_kexec_file_load
382 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
383 common rseq sys_rseq sys_rseq
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop -
+393 common semget sys_semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt sys_shmdt
+399 common msgget sys_msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/sh/kernel/syscalls/syscall.tbl b/arch/sh/kernel/syscalls/syscall.tbl
index a70db013dbc7..6d0b84e3ef2d 100644
--- a/arch/sh/kernel/syscalls/syscall.tbl
+++ b/arch/sh/kernel/syscalls/syscall.tbl
@@ -391,3 +391,14 @@
381 common preadv2 sys_preadv2
382 common pwritev2 sys_pwritev2
383 common statx sys_statx
+# room for arch specific syscalls
+393 common semget sys_semget
+394 common semctl sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl
+397 common shmat sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd
+401 common msgrcv sys_msgrcv
+402 common msgctl sys_msgctl
diff --git a/arch/sparc/kernel/syscalls/syscall.tbl b/arch/sparc/kernel/syscalls/syscall.tbl
index c8c77c05ea97..8c9580302422 100644
--- a/arch/sparc/kernel/syscalls/syscall.tbl
+++ b/arch/sparc/kernel/syscalls/syscall.tbl
@@ -407,3 +407,15 @@
359 common pwritev2 sys_pwritev2 compat_sys_pwritev2
360 common statx sys_statx
361 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop
+393 common semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
index 3cf7b533b3d1..fef80b92eb7e 100644
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
@@ -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
+# room for arch specific syscalls
+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
--
2.20.0
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: y2038@lists.linaro.org, linux-api@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Cc: dalias@libc.org, linux-ia64@vger.kernel.org,
linux-sh@vger.kernel.org, catalin.marinas@arm.com,
will.deacon@arm.com, jcmvbkbc@gmail.com, deepa.kernel@gmail.com,
hpa@zytor.com, sparclinux@vger.kernel.org,
linux-s390@vger.kernel.org, mpe@ellerman.id.au, deller@gmx.de,
x86@kernel.org, linux@armlinux.org.uk, mingo@redhat.com,
geert@linux-m68k.org, benh@kernel.crashing.org,
firoz.khan@linaro.org, mattst88@gmail.com, fenghua.yu@intel.com,
Arnd Bergmann <arnd@arndb.de>,
heiko.carstens@de.ibm.com, linux-fsdevel@vger.kernel.org,
linux-m68k@lists.linux-m68k.org, luto@kernel.org,
tglx@linutronix.de, linux-arm-kernel@lists.infradead.org,
monstr@monstr.eu, tony.luck@intel.com,
linux-parisc@vger.kernel.org, netdev@vger.kernel.org,
linux-mips@vger.kernel.org, paul.burton@mips.com,
ebiederm@xmission.com, linux-alpha@vger.kernel.org,
schwidefsky@de.ibm.com, akpm@linux-foundation.orglinu
Subject: [PATCH v2 13/29] arch: add split IPC system calls where needed
Date: Fri, 18 Jan 2019 17:18:19 +0100 [thread overview]
Message-ID: <20190118161835.2259170-14-arnd@arndb.de> (raw)
In-Reply-To: <20190118161835.2259170-1-arnd@arndb.de>
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 additon of a y2083 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>
---
One aspect here that might be a bit controversial is the use of
the same system call numbers across all architectures, synchronizing
all of them with the x86-32 numbers. With the new syscall.tbl
files, I hope we can just keep doing that in the future, and no
longer require the architecture maintainers to assign a number.
This is mainly useful for implementers of the C libraries: if
we can add future system calls everywhere at the same time, using
a particular version of the kernel headers also guarantees that
the system call number macro is visible.
---
arch/m68k/kernel/syscalls/syscall.tbl | 11 +++++++++++
arch/mips/kernel/syscalls/syscall_o32.tbl | 11 +++++++++++
arch/powerpc/kernel/syscalls/syscall.tbl | 13 +++++++++++++
arch/s390/kernel/syscalls/syscall.tbl | 12 ++++++++++++
arch/sh/kernel/syscalls/syscall.tbl | 11 +++++++++++
arch/sparc/kernel/syscalls/syscall.tbl | 12 ++++++++++++
arch/x86/entry/syscalls/syscall_32.tbl | 11 +++++++++++
7 files changed, 81 insertions(+)
diff --git a/arch/m68k/kernel/syscalls/syscall.tbl b/arch/m68k/kernel/syscalls/syscall.tbl
index 85779d6ef935..5354ba02eed2 100644
--- a/arch/m68k/kernel/syscalls/syscall.tbl
+++ b/arch/m68k/kernel/syscalls/syscall.tbl
@@ -388,3 +388,14 @@
378 common pwritev2 sys_pwritev2
379 common statx sys_statx
380 common seccomp sys_seccomp
+# room for arch specific calls
+393 common semget sys_semget
+394 common semctl sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl
+397 common shmat sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd
+401 common msgrcv sys_msgrcv
+402 common msgctl sys_msgctl
diff --git a/arch/mips/kernel/syscalls/syscall_o32.tbl b/arch/mips/kernel/syscalls/syscall_o32.tbl
index 3d5a47b80d2b..fa47ea8cc6ef 100644
--- a/arch/mips/kernel/syscalls/syscall_o32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_o32.tbl
@@ -380,3 +380,14 @@
366 o32 statx sys_statx
367 o32 rseq sys_rseq
368 o32 io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific calls
+393 o32 semget sys_semget
+394 o32 semctl sys_semctl compat_sys_semctl
+395 o32 shmget sys_shmget
+396 o32 shmctl sys_shmctl compat_sys_shmctl
+397 o32 shmat sys_shmat compat_sys_shmat
+398 o32 shmdt sys_shmdt
+399 o32 msgget sys_msgget
+400 o32 msgsnd sys_msgsnd compat_sys_msgsnd
+401 o32 msgrcv sys_msgrcv compat_sys_msgrcv
+402 o32 msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/powerpc/kernel/syscalls/syscall.tbl b/arch/powerpc/kernel/syscalls/syscall.tbl
index db3bbb8744af..7555874ce39c 100644
--- a/arch/powerpc/kernel/syscalls/syscall.tbl
+++ b/arch/powerpc/kernel/syscalls/syscall.tbl
@@ -414,6 +414,7 @@
363 spu switch_endian sys_ni_syscall
364 common userfaultfd sys_userfaultfd
365 common membarrier sys_membarrier
+# 366-377 originally left for IPC, now unused
378 nospu mlock2 sys_mlock2
379 nospu copy_file_range sys_copy_file_range
380 common preadv2 sys_preadv2 compat_sys_preadv2
@@ -425,3 +426,15 @@
386 nospu pkey_mprotect sys_pkey_mprotect
387 nospu rseq sys_rseq
388 nospu io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop
+393 common semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/s390/kernel/syscalls/syscall.tbl b/arch/s390/kernel/syscalls/syscall.tbl
index 7413fd318e2a..0bccb01c6202 100644
--- a/arch/s390/kernel/syscalls/syscall.tbl
+++ b/arch/s390/kernel/syscalls/syscall.tbl
@@ -391,3 +391,15 @@
381 common kexec_file_load sys_kexec_file_load sys_kexec_file_load
382 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
383 common rseq sys_rseq sys_rseq
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop -
+393 common semget sys_semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt sys_shmdt
+399 common msgget sys_msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/sh/kernel/syscalls/syscall.tbl b/arch/sh/kernel/syscalls/syscall.tbl
index a70db013dbc7..6d0b84e3ef2d 100644
--- a/arch/sh/kernel/syscalls/syscall.tbl
+++ b/arch/sh/kernel/syscalls/syscall.tbl
@@ -391,3 +391,14 @@
381 common preadv2 sys_preadv2
382 common pwritev2 sys_pwritev2
383 common statx sys_statx
+# room for arch specific syscalls
+393 common semget sys_semget
+394 common semctl sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl
+397 common shmat sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd
+401 common msgrcv sys_msgrcv
+402 common msgctl sys_msgctl
diff --git a/arch/sparc/kernel/syscalls/syscall.tbl b/arch/sparc/kernel/syscalls/syscall.tbl
index c8c77c05ea97..8c9580302422 100644
--- a/arch/sparc/kernel/syscalls/syscall.tbl
+++ b/arch/sparc/kernel/syscalls/syscall.tbl
@@ -407,3 +407,15 @@
359 common pwritev2 sys_pwritev2 compat_sys_pwritev2
360 common statx sys_statx
361 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop
+393 common semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
index 3cf7b533b3d1..fef80b92eb7e 100644
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
@@ -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
+# room for arch specific syscalls
+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
--
2.20.0
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: y2038@lists.linaro.org, linux-api@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Cc: dalias@libc.org, linux-ia64@vger.kernel.org,
linux-sh@vger.kernel.org, catalin.marinas@arm.com,
will.deacon@arm.com, jcmvbkbc@gmail.com, deepa.kernel@gmail.com,
hpa@zytor.com, sparclinux@vger.kernel.org,
linux-s390@vger.kernel.org, deller@gmx.de, x86@kernel.org,
linux@armlinux.org.uk, mingo@redhat.com, geert@linux-m68k.org,
firoz.khan@linaro.org, mattst88@gmail.com, fenghua.yu@intel.com,
Arnd Bergmann <arnd@arndb.de>,
heiko.carstens@de.ibm.com, linux-fsdevel@vger.kernel.org,
linux-m68k@lists.linux-m68k.org, luto@kernel.org,
tglx@linutronix.de, linux-arm-kernel@lists.infradead.org,
monstr@monstr.eu, tony.luck@intel.com,
linux-parisc@vger.kernel.org, netdev@vger.kernel.org,
linux-mips@vger.kernel.org, paul.burton@mips.com,
ebiederm@xmission.com, linux-alpha@vger.kernel.org,
schwidefsky@de.ibm.com, akpm@linux-foundation.org,
linuxppc-dev@lists.ozlabs.org, davem@davemloft.net
Subject: [PATCH v2 13/29] arch: add split IPC system calls where needed
Date: Fri, 18 Jan 2019 17:18:19 +0100 [thread overview]
Message-ID: <20190118161835.2259170-14-arnd@arndb.de> (raw)
In-Reply-To: <20190118161835.2259170-1-arnd@arndb.de>
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 additon of a y2083 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>
---
One aspect here that might be a bit controversial is the use of
the same system call numbers across all architectures, synchronizing
all of them with the x86-32 numbers. With the new syscall.tbl
files, I hope we can just keep doing that in the future, and no
longer require the architecture maintainers to assign a number.
This is mainly useful for implementers of the C libraries: if
we can add future system calls everywhere at the same time, using
a particular version of the kernel headers also guarantees that
the system call number macro is visible.
---
arch/m68k/kernel/syscalls/syscall.tbl | 11 +++++++++++
arch/mips/kernel/syscalls/syscall_o32.tbl | 11 +++++++++++
arch/powerpc/kernel/syscalls/syscall.tbl | 13 +++++++++++++
arch/s390/kernel/syscalls/syscall.tbl | 12 ++++++++++++
arch/sh/kernel/syscalls/syscall.tbl | 11 +++++++++++
arch/sparc/kernel/syscalls/syscall.tbl | 12 ++++++++++++
arch/x86/entry/syscalls/syscall_32.tbl | 11 +++++++++++
7 files changed, 81 insertions(+)
diff --git a/arch/m68k/kernel/syscalls/syscall.tbl b/arch/m68k/kernel/syscalls/syscall.tbl
index 85779d6ef935..5354ba02eed2 100644
--- a/arch/m68k/kernel/syscalls/syscall.tbl
+++ b/arch/m68k/kernel/syscalls/syscall.tbl
@@ -388,3 +388,14 @@
378 common pwritev2 sys_pwritev2
379 common statx sys_statx
380 common seccomp sys_seccomp
+# room for arch specific calls
+393 common semget sys_semget
+394 common semctl sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl
+397 common shmat sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd
+401 common msgrcv sys_msgrcv
+402 common msgctl sys_msgctl
diff --git a/arch/mips/kernel/syscalls/syscall_o32.tbl b/arch/mips/kernel/syscalls/syscall_o32.tbl
index 3d5a47b80d2b..fa47ea8cc6ef 100644
--- a/arch/mips/kernel/syscalls/syscall_o32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_o32.tbl
@@ -380,3 +380,14 @@
366 o32 statx sys_statx
367 o32 rseq sys_rseq
368 o32 io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific calls
+393 o32 semget sys_semget
+394 o32 semctl sys_semctl compat_sys_semctl
+395 o32 shmget sys_shmget
+396 o32 shmctl sys_shmctl compat_sys_shmctl
+397 o32 shmat sys_shmat compat_sys_shmat
+398 o32 shmdt sys_shmdt
+399 o32 msgget sys_msgget
+400 o32 msgsnd sys_msgsnd compat_sys_msgsnd
+401 o32 msgrcv sys_msgrcv compat_sys_msgrcv
+402 o32 msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/powerpc/kernel/syscalls/syscall.tbl b/arch/powerpc/kernel/syscalls/syscall.tbl
index db3bbb8744af..7555874ce39c 100644
--- a/arch/powerpc/kernel/syscalls/syscall.tbl
+++ b/arch/powerpc/kernel/syscalls/syscall.tbl
@@ -414,6 +414,7 @@
363 spu switch_endian sys_ni_syscall
364 common userfaultfd sys_userfaultfd
365 common membarrier sys_membarrier
+# 366-377 originally left for IPC, now unused
378 nospu mlock2 sys_mlock2
379 nospu copy_file_range sys_copy_file_range
380 common preadv2 sys_preadv2 compat_sys_preadv2
@@ -425,3 +426,15 @@
386 nospu pkey_mprotect sys_pkey_mprotect
387 nospu rseq sys_rseq
388 nospu io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop
+393 common semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/s390/kernel/syscalls/syscall.tbl b/arch/s390/kernel/syscalls/syscall.tbl
index 7413fd318e2a..0bccb01c6202 100644
--- a/arch/s390/kernel/syscalls/syscall.tbl
+++ b/arch/s390/kernel/syscalls/syscall.tbl
@@ -391,3 +391,15 @@
381 common kexec_file_load sys_kexec_file_load sys_kexec_file_load
382 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
383 common rseq sys_rseq sys_rseq
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop -
+393 common semget sys_semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt sys_shmdt
+399 common msgget sys_msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/sh/kernel/syscalls/syscall.tbl b/arch/sh/kernel/syscalls/syscall.tbl
index a70db013dbc7..6d0b84e3ef2d 100644
--- a/arch/sh/kernel/syscalls/syscall.tbl
+++ b/arch/sh/kernel/syscalls/syscall.tbl
@@ -391,3 +391,14 @@
381 common preadv2 sys_preadv2
382 common pwritev2 sys_pwritev2
383 common statx sys_statx
+# room for arch specific syscalls
+393 common semget sys_semget
+394 common semctl sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl
+397 common shmat sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd
+401 common msgrcv sys_msgrcv
+402 common msgctl sys_msgctl
diff --git a/arch/sparc/kernel/syscalls/syscall.tbl b/arch/sparc/kernel/syscalls/syscall.tbl
index c8c77c05ea97..8c9580302422 100644
--- a/arch/sparc/kernel/syscalls/syscall.tbl
+++ b/arch/sparc/kernel/syscalls/syscall.tbl
@@ -407,3 +407,15 @@
359 common pwritev2 sys_pwritev2 compat_sys_pwritev2
360 common statx sys_statx
361 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop
+393 common semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
index 3cf7b533b3d1..fef80b92eb7e 100644
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
@@ -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
+# room for arch specific syscalls
+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
--
2.20.0
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: y2038@lists.linaro.org, linux-api@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Cc: dalias@libc.org, linux-ia64@vger.kernel.org,
linux-sh@vger.kernel.org, catalin.marinas@arm.com,
will.deacon@arm.com, jcmvbkbc@gmail.com, deepa.kernel@gmail.com,
hpa@zytor.com, sparclinux@vger.kernel.org,
linux-s390@vger.kernel.org, mpe@ellerman.id.au, deller@gmx.de,
x86@kernel.org, linux@armlinux.org.uk, mingo@redhat.com,
geert@linux-m68k.org, benh@kernel.crashing.org,
firoz.khan@linaro.org, mattst88@gmail.com, fenghua.yu@intel.com,
Arnd Bergmann <arnd@arndb.de>,
heiko.carstens@de.ibm.com, linux-fsdevel@vger.kernel.org,
linux-m68k@lists.linux-m68k.org, luto@kernel.org,
tglx@linutronix.de, linux-arm-kernel@lists.infradead.org,
monstr@monstr.eu, tony.luck@intel.com,
linux-parisc@vger.kernel.org, netdev@vger.kernel.org,
linux-mips@vger.kernel.org, paul.burton@mips.com,
ebiederm@xmission.com, linux-alpha@vger.kernel.org,
schwidefsky@de.ibm.com, akpm@linux-foundation.org,
linuxppc-dev@lists.ozlabs.org, davem@davemloft.net
Subject: [PATCH v2 13/29] arch: add split IPC system calls where needed
Date: Fri, 18 Jan 2019 17:18:19 +0100 [thread overview]
Message-ID: <20190118161835.2259170-14-arnd@arndb.de> (raw)
In-Reply-To: <20190118161835.2259170-1-arnd@arndb.de>
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 additon of a y2083 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>
---
One aspect here that might be a bit controversial is the use of
the same system call numbers across all architectures, synchronizing
all of them with the x86-32 numbers. With the new syscall.tbl
files, I hope we can just keep doing that in the future, and no
longer require the architecture maintainers to assign a number.
This is mainly useful for implementers of the C libraries: if
we can add future system calls everywhere at the same time, using
a particular version of the kernel headers also guarantees that
the system call number macro is visible.
---
arch/m68k/kernel/syscalls/syscall.tbl | 11 +++++++++++
arch/mips/kernel/syscalls/syscall_o32.tbl | 11 +++++++++++
arch/powerpc/kernel/syscalls/syscall.tbl | 13 +++++++++++++
arch/s390/kernel/syscalls/syscall.tbl | 12 ++++++++++++
arch/sh/kernel/syscalls/syscall.tbl | 11 +++++++++++
arch/sparc/kernel/syscalls/syscall.tbl | 12 ++++++++++++
arch/x86/entry/syscalls/syscall_32.tbl | 11 +++++++++++
7 files changed, 81 insertions(+)
diff --git a/arch/m68k/kernel/syscalls/syscall.tbl b/arch/m68k/kernel/syscalls/syscall.tbl
index 85779d6ef935..5354ba02eed2 100644
--- a/arch/m68k/kernel/syscalls/syscall.tbl
+++ b/arch/m68k/kernel/syscalls/syscall.tbl
@@ -388,3 +388,14 @@
378 common pwritev2 sys_pwritev2
379 common statx sys_statx
380 common seccomp sys_seccomp
+# room for arch specific calls
+393 common semget sys_semget
+394 common semctl sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl
+397 common shmat sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd
+401 common msgrcv sys_msgrcv
+402 common msgctl sys_msgctl
diff --git a/arch/mips/kernel/syscalls/syscall_o32.tbl b/arch/mips/kernel/syscalls/syscall_o32.tbl
index 3d5a47b80d2b..fa47ea8cc6ef 100644
--- a/arch/mips/kernel/syscalls/syscall_o32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_o32.tbl
@@ -380,3 +380,14 @@
366 o32 statx sys_statx
367 o32 rseq sys_rseq
368 o32 io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific calls
+393 o32 semget sys_semget
+394 o32 semctl sys_semctl compat_sys_semctl
+395 o32 shmget sys_shmget
+396 o32 shmctl sys_shmctl compat_sys_shmctl
+397 o32 shmat sys_shmat compat_sys_shmat
+398 o32 shmdt sys_shmdt
+399 o32 msgget sys_msgget
+400 o32 msgsnd sys_msgsnd compat_sys_msgsnd
+401 o32 msgrcv sys_msgrcv compat_sys_msgrcv
+402 o32 msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/powerpc/kernel/syscalls/syscall.tbl b/arch/powerpc/kernel/syscalls/syscall.tbl
index db3bbb8744af..7555874ce39c 100644
--- a/arch/powerpc/kernel/syscalls/syscall.tbl
+++ b/arch/powerpc/kernel/syscalls/syscall.tbl
@@ -414,6 +414,7 @@
363 spu switch_endian sys_ni_syscall
364 common userfaultfd sys_userfaultfd
365 common membarrier sys_membarrier
+# 366-377 originally left for IPC, now unused
378 nospu mlock2 sys_mlock2
379 nospu copy_file_range sys_copy_file_range
380 common preadv2 sys_preadv2 compat_sys_preadv2
@@ -425,3 +426,15 @@
386 nospu pkey_mprotect sys_pkey_mprotect
387 nospu rseq sys_rseq
388 nospu io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop
+393 common semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/s390/kernel/syscalls/syscall.tbl b/arch/s390/kernel/syscalls/syscall.tbl
index 7413fd318e2a..0bccb01c6202 100644
--- a/arch/s390/kernel/syscalls/syscall.tbl
+++ b/arch/s390/kernel/syscalls/syscall.tbl
@@ -391,3 +391,15 @@
381 common kexec_file_load sys_kexec_file_load sys_kexec_file_load
382 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
383 common rseq sys_rseq sys_rseq
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop -
+393 common semget sys_semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt sys_shmdt
+399 common msgget sys_msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/sh/kernel/syscalls/syscall.tbl b/arch/sh/kernel/syscalls/syscall.tbl
index a70db013dbc7..6d0b84e3ef2d 100644
--- a/arch/sh/kernel/syscalls/syscall.tbl
+++ b/arch/sh/kernel/syscalls/syscall.tbl
@@ -391,3 +391,14 @@
381 common preadv2 sys_preadv2
382 common pwritev2 sys_pwritev2
383 common statx sys_statx
+# room for arch specific syscalls
+393 common semget sys_semget
+394 common semctl sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl
+397 common shmat sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd
+401 common msgrcv sys_msgrcv
+402 common msgctl sys_msgctl
diff --git a/arch/sparc/kernel/syscalls/syscall.tbl b/arch/sparc/kernel/syscalls/syscall.tbl
index c8c77c05ea97..8c9580302422 100644
--- a/arch/sparc/kernel/syscalls/syscall.tbl
+++ b/arch/sparc/kernel/syscalls/syscall.tbl
@@ -407,3 +407,15 @@
359 common pwritev2 sys_pwritev2 compat_sys_pwritev2
360 common statx sys_statx
361 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop
+393 common semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
index 3cf7b533b3d1..fef80b92eb7e 100644
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
@@ -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
+# room for arch specific syscalls
+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
--
2.20.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: y2038@lists.linaro.org, linux-api@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Cc: dalias@libc.org, linux-ia64@vger.kernel.org,
linux-sh@vger.kernel.org, catalin.marinas@arm.com,
will.deacon@arm.com, jcmvbkbc@gmail.com, deepa.kernel@gmail.com,
hpa@zytor.com, sparclinux@vger.kernel.org,
linux-s390@vger.kernel.org, mpe@ellerman.id.au, deller@gmx.de,
x86@kernel.org, linux@armlinux.org.uk, mingo@redhat.com,
geert@linux-m68k.org, benh@kernel.crashing.org,
firoz.khan@linaro.org, mattst88@gmail.com, fenghua.yu@intel.com,
Arnd Bergmann <arnd@arndb.de>,
heiko.carstens@de.ibm.com, linux-fsdevel@vger.kernel.org,
linux-m68k@lists.linux-m68k.org, luto@kernel.org,
tglx@linutronix.de, linux-arm-kernel@lists.infradead.org,
monstr@monstr.eu, tony.luck@intel.com,
linux-parisc@vger.kernel.org, netdev@vger.kernel.org,
linux-mips@vger.kernel.org, paul.burton@mips.com,
ebiederm@xmission.com, linux-alpha@vger.kernel.org,
schwidefsky@de.ibm.com, akpm@linux-foundation.org, linu
Subject: [PATCH v2 13/29] arch: add split IPC system calls where needed
Date: Fri, 18 Jan 2019 17:18:19 +0100 [thread overview]
Message-ID: <20190118161835.2259170-14-arnd@arndb.de> (raw)
In-Reply-To: <20190118161835.2259170-1-arnd@arndb.de>
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 additon of a y2083 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>
---
One aspect here that might be a bit controversial is the use of
the same system call numbers across all architectures, synchronizing
all of them with the x86-32 numbers. With the new syscall.tbl
files, I hope we can just keep doing that in the future, and no
longer require the architecture maintainers to assign a number.
This is mainly useful for implementers of the C libraries: if
we can add future system calls everywhere at the same time, using
a particular version of the kernel headers also guarantees that
the system call number macro is visible.
---
arch/m68k/kernel/syscalls/syscall.tbl | 11 +++++++++++
arch/mips/kernel/syscalls/syscall_o32.tbl | 11 +++++++++++
arch/powerpc/kernel/syscalls/syscall.tbl | 13 +++++++++++++
arch/s390/kernel/syscalls/syscall.tbl | 12 ++++++++++++
arch/sh/kernel/syscalls/syscall.tbl | 11 +++++++++++
arch/sparc/kernel/syscalls/syscall.tbl | 12 ++++++++++++
arch/x86/entry/syscalls/syscall_32.tbl | 11 +++++++++++
7 files changed, 81 insertions(+)
diff --git a/arch/m68k/kernel/syscalls/syscall.tbl b/arch/m68k/kernel/syscalls/syscall.tbl
index 85779d6ef935..5354ba02eed2 100644
--- a/arch/m68k/kernel/syscalls/syscall.tbl
+++ b/arch/m68k/kernel/syscalls/syscall.tbl
@@ -388,3 +388,14 @@
378 common pwritev2 sys_pwritev2
379 common statx sys_statx
380 common seccomp sys_seccomp
+# room for arch specific calls
+393 common semget sys_semget
+394 common semctl sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl
+397 common shmat sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd
+401 common msgrcv sys_msgrcv
+402 common msgctl sys_msgctl
diff --git a/arch/mips/kernel/syscalls/syscall_o32.tbl b/arch/mips/kernel/syscalls/syscall_o32.tbl
index 3d5a47b80d2b..fa47ea8cc6ef 100644
--- a/arch/mips/kernel/syscalls/syscall_o32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_o32.tbl
@@ -380,3 +380,14 @@
366 o32 statx sys_statx
367 o32 rseq sys_rseq
368 o32 io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific calls
+393 o32 semget sys_semget
+394 o32 semctl sys_semctl compat_sys_semctl
+395 o32 shmget sys_shmget
+396 o32 shmctl sys_shmctl compat_sys_shmctl
+397 o32 shmat sys_shmat compat_sys_shmat
+398 o32 shmdt sys_shmdt
+399 o32 msgget sys_msgget
+400 o32 msgsnd sys_msgsnd compat_sys_msgsnd
+401 o32 msgrcv sys_msgrcv compat_sys_msgrcv
+402 o32 msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/powerpc/kernel/syscalls/syscall.tbl b/arch/powerpc/kernel/syscalls/syscall.tbl
index db3bbb8744af..7555874ce39c 100644
--- a/arch/powerpc/kernel/syscalls/syscall.tbl
+++ b/arch/powerpc/kernel/syscalls/syscall.tbl
@@ -414,6 +414,7 @@
363 spu switch_endian sys_ni_syscall
364 common userfaultfd sys_userfaultfd
365 common membarrier sys_membarrier
+# 366-377 originally left for IPC, now unused
378 nospu mlock2 sys_mlock2
379 nospu copy_file_range sys_copy_file_range
380 common preadv2 sys_preadv2 compat_sys_preadv2
@@ -425,3 +426,15 @@
386 nospu pkey_mprotect sys_pkey_mprotect
387 nospu rseq sys_rseq
388 nospu io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop
+393 common semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/s390/kernel/syscalls/syscall.tbl b/arch/s390/kernel/syscalls/syscall.tbl
index 7413fd318e2a..0bccb01c6202 100644
--- a/arch/s390/kernel/syscalls/syscall.tbl
+++ b/arch/s390/kernel/syscalls/syscall.tbl
@@ -391,3 +391,15 @@
381 common kexec_file_load sys_kexec_file_load sys_kexec_file_load
382 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
383 common rseq sys_rseq sys_rseq
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop -
+393 common semget sys_semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt sys_shmdt
+399 common msgget sys_msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/sh/kernel/syscalls/syscall.tbl b/arch/sh/kernel/syscalls/syscall.tbl
index a70db013dbc7..6d0b84e3ef2d 100644
--- a/arch/sh/kernel/syscalls/syscall.tbl
+++ b/arch/sh/kernel/syscalls/syscall.tbl
@@ -391,3 +391,14 @@
381 common preadv2 sys_preadv2
382 common pwritev2 sys_pwritev2
383 common statx sys_statx
+# room for arch specific syscalls
+393 common semget sys_semget
+394 common semctl sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl
+397 common shmat sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd
+401 common msgrcv sys_msgrcv
+402 common msgctl sys_msgctl
diff --git a/arch/sparc/kernel/syscalls/syscall.tbl b/arch/sparc/kernel/syscalls/syscall.tbl
index c8c77c05ea97..8c9580302422 100644
--- a/arch/sparc/kernel/syscalls/syscall.tbl
+++ b/arch/sparc/kernel/syscalls/syscall.tbl
@@ -407,3 +407,15 @@
359 common pwritev2 sys_pwritev2 compat_sys_pwritev2
360 common statx sys_statx
361 common io_pgetevents sys_io_pgetevents compat_sys_io_pgetevents
+# room for arch specific syscalls
+392 64 semtimedop sys_semtimedop
+393 common semget sys_semget
+394 common semctl sys_semctl compat_sys_semctl
+395 common shmget sys_shmget
+396 common shmctl sys_shmctl compat_sys_shmctl
+397 common shmat sys_shmat compat_sys_shmat
+398 common shmdt sys_shmdt
+399 common msgget sys_msgget
+400 common msgsnd sys_msgsnd compat_sys_msgsnd
+401 common msgrcv sys_msgrcv compat_sys_msgrcv
+402 common msgctl sys_msgctl compat_sys_msgctl
diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
index 3cf7b533b3d1..fef80b92eb7e 100644
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
@@ -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
+# room for arch specific syscalls
+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
--
2.20.0
next prev parent reply other threads:[~2019-01-18 16:18 UTC|newest]
Thread overview: 322+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-18 16:18 [PATCH v2 00/29] y2038: add time64 syscalls Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 01/29] ia64: add __NR_umount2 definition Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 02/29] ia64: add statx and io_pgetevents syscalls Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 03/29] ia64: assign syscall numbers for perf and seccomp Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 04/29] alpha: wire up io_pgetevents system call Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 05/29] alpha: update syscall macro definitions Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 06/29] ARM: add migrate_pages() system call Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-25 15:16 ` Catalin Marinas
2019-01-25 15:16 ` Catalin Marinas
2019-01-25 15:16 ` Catalin Marinas
2019-01-25 15:16 ` Catalin Marinas
2019-01-18 16:18 ` [PATCH v2 07/29] ARM: add kexec_file_load system call number Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-25 15:43 ` Catalin Marinas
2019-01-25 15:43 ` Catalin Marinas
2019-01-25 15:43 ` Catalin Marinas
2019-01-25 15:43 ` Catalin Marinas
2019-01-25 16:21 ` Russell King - ARM Linux admin
2019-01-25 16:21 ` Russell King - ARM Linux admin
2019-01-25 16:21 ` Russell King - ARM Linux admin
2019-01-25 16:21 ` Russell King - ARM Linux admin
2019-01-18 16:18 ` [PATCH v2 08/29] m68k: assign syscall number for seccomp Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-21 8:55 ` Geert Uytterhoeven
2019-01-21 8:55 ` Geert Uytterhoeven
2019-01-21 8:55 ` Geert Uytterhoeven
2019-01-21 8:55 ` Geert Uytterhoeven
2019-01-21 8:55 ` Geert Uytterhoeven
2019-01-18 16:18 ` [PATCH v2 09/29] sh: remove duplicate unistd_32.h file Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 10/29] sh: add statx system call Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 11/29] sparc64: fix sparc_ipc type conversion Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 12/29] ipc: rename old-style shmctl/semctl/msgctl syscalls Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann [this message]
2019-01-18 16:18 ` [PATCH v2 13/29] arch: add split IPC system calls where needed Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 17:18 ` Gabriel Paubert
2019-01-18 17:18 ` Gabriel Paubert
2019-01-18 17:18 ` Gabriel Paubert
2019-01-18 17:18 ` Gabriel Paubert
2019-01-18 17:18 ` Gabriel Paubert
2019-01-18 19:30 ` Arnd Bergmann
2019-01-18 19:30 ` Arnd Bergmann
2019-01-18 19:30 ` Arnd Bergmann
2019-01-18 19:30 ` Arnd Bergmann
2019-01-18 19:30 ` Arnd Bergmann
2019-01-21 8:55 ` Geert Uytterhoeven
2019-01-21 8:55 ` Geert Uytterhoeven
2019-01-21 8:55 ` Geert Uytterhoeven
2019-01-21 8:55 ` Geert Uytterhoeven
2019-01-21 8:55 ` Geert Uytterhoeven
2019-01-21 11:57 ` Heiko Carstens
2019-01-21 11:57 ` Heiko Carstens
2019-01-21 11:57 ` Heiko Carstens
2019-01-21 11:57 ` Heiko Carstens
2019-01-21 11:57 ` Heiko Carstens
2019-01-18 16:18 ` [PATCH v2 14/29] arch: add pkey and rseq syscall numbers everywhere Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-21 8:55 ` Geert Uytterhoeven
2019-01-21 8:55 ` Geert Uytterhoeven
2019-01-21 8:55 ` Geert Uytterhoeven
2019-01-21 8:55 ` Geert Uytterhoeven
2019-01-21 8:55 ` Geert Uytterhoeven
2019-01-21 20:28 ` Arnd Bergmann
2019-01-21 20:28 ` Arnd Bergmann
2019-01-21 20:28 ` Arnd Bergmann
2019-01-21 20:28 ` Arnd Bergmann
2019-01-21 20:28 ` Arnd Bergmann
2019-01-21 11:59 ` Heiko Carstens
2019-01-21 11:59 ` Heiko Carstens
2019-01-21 11:59 ` Heiko Carstens
2019-01-21 11:59 ` Heiko Carstens
2019-01-21 11:59 ` Heiko Carstens
2019-01-18 16:18 ` [PATCH v2 15/29] alpha: add standard statfs64/fstatfs64 syscalls Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 16/29] alpha: add generic get{eg,eu,g,p,u,pp}id() syscalls Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 17/29] syscalls: remove obsolete __IGNORE_ macros Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-21 11:59 ` Heiko Carstens
2019-01-21 11:59 ` Heiko Carstens
2019-01-21 11:59 ` Heiko Carstens
2019-01-21 11:59 ` Heiko Carstens
2019-01-21 11:59 ` Heiko Carstens
2019-01-18 16:18 ` [PATCH v2 18/29] time: make adjtime compat handling available for 32 bit Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 19/29] time: Add struct __kernel_timex Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 20/29] time: fix sys_timer_settime prototype Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 21/29] sparc64: add custom adjtimex/clock_adjtime functions Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 22/29] timex: use __kernel_timex internally Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 23/29] timex: change syscalls to use struct __kernel_timex Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 24/29] x86/x32: use time64 versions of sigtimedwait and recvmmsg Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 25/29] y2038: syscalls: rename y2038 compat syscalls Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-25 15:47 ` Catalin Marinas
2019-01-25 15:47 ` Catalin Marinas
2019-01-25 15:47 ` Catalin Marinas
2019-01-25 15:47 ` Catalin Marinas
2019-01-18 16:18 ` [PATCH v2 26/29] y2038: use time32 syscall names on 32-bit Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-21 8:07 ` Geert Uytterhoeven
2019-01-21 8:07 ` Geert Uytterhoeven
2019-01-21 8:07 ` Geert Uytterhoeven
2019-01-21 8:07 ` Geert Uytterhoeven
2019-01-21 8:07 ` Geert Uytterhoeven
2019-01-21 8:56 ` Geert Uytterhoeven
2019-01-21 8:56 ` Geert Uytterhoeven
2019-01-21 8:56 ` Geert Uytterhoeven
2019-01-21 8:56 ` Geert Uytterhoeven
2019-01-21 8:56 ` Geert Uytterhoeven
2019-01-18 16:18 ` [PATCH v2 27/29] y2038: remove struct definition redirects Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 28/29] y2038: rename old time and utime syscalls Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-21 8:56 ` Geert Uytterhoeven
2019-01-21 8:56 ` Geert Uytterhoeven
2019-01-21 8:56 ` Geert Uytterhoeven
2019-01-21 8:56 ` Geert Uytterhoeven
2019-01-21 8:56 ` Geert Uytterhoeven
2019-01-21 12:15 ` Heiko Carstens
2019-01-21 12:15 ` Heiko Carstens
2019-01-21 12:15 ` Heiko Carstens
2019-01-21 12:15 ` Heiko Carstens
2019-01-21 12:15 ` Heiko Carstens
2019-01-18 16:18 ` [PATCH v2 29/29] y2038: add 64-bit time_t syscalls to all 32-bit architectures Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 16:18 ` Arnd Bergmann
2019-01-18 18:50 ` Andy Lutomirski
2019-01-18 18:50 ` Andy Lutomirski
2019-01-18 18:50 ` Andy Lutomirski
2019-01-18 18:50 ` Andy Lutomirski
2019-01-18 18:50 ` Andy Lutomirski
2019-01-18 19:33 ` Arnd Bergmann
2019-01-18 19:33 ` Arnd Bergmann
2019-01-18 19:33 ` Arnd Bergmann
2019-01-18 19:33 ` Arnd Bergmann
2019-01-18 19:33 ` Arnd Bergmann
2019-01-18 19:53 ` Andy Lutomirski
2019-01-18 19:53 ` Andy Lutomirski
2019-01-18 19:53 ` Andy Lutomirski
2019-01-18 19:53 ` Andy Lutomirski
2019-01-18 19:53 ` Andy Lutomirski
2019-01-18 20:44 ` Arnd Bergmann
2019-01-18 20:44 ` Arnd Bergmann
2019-01-18 20:44 ` Arnd Bergmann
2019-01-18 20:44 ` Arnd Bergmann
2019-01-18 20:44 ` Arnd Bergmann
2019-01-19 14:28 ` Russell King - ARM Linux admin
2019-01-19 14:28 ` Russell King - ARM Linux admin
2019-01-19 14:28 ` Russell King - ARM Linux admin
2019-01-19 14:28 ` Russell King - ARM Linux admin
2019-01-19 14:28 ` Russell King - ARM Linux admin
2019-01-21 8:19 ` Geert Uytterhoeven
2019-01-21 8:19 ` Geert Uytterhoeven
2019-01-21 8:19 ` Geert Uytterhoeven
2019-01-21 8:19 ` Geert Uytterhoeven
2019-01-21 8:19 ` Geert Uytterhoeven
2019-01-21 17:08 ` Arnd Bergmann
2019-01-21 17:08 ` Arnd Bergmann
2019-01-21 17:08 ` Arnd Bergmann
2019-01-21 17:08 ` Arnd Bergmann
2019-01-21 17:08 ` Arnd Bergmann
2019-01-21 17:08 ` Arnd Bergmann
2019-01-21 17:08 ` Arnd Bergmann
2019-01-21 20:40 ` Arnd Bergmann
2019-01-21 20:40 ` Arnd Bergmann
2019-01-21 20:40 ` Arnd Bergmann
2019-01-21 20:40 ` Arnd Bergmann
2019-01-21 20:40 ` Arnd Bergmann
2019-01-22 9:37 ` Arnd Bergmann
2019-01-21 8:56 ` Geert Uytterhoeven
2019-01-21 8:56 ` Geert Uytterhoeven
2019-01-21 8:56 ` Geert Uytterhoeven
2019-01-21 8:56 ` Geert Uytterhoeven
2019-01-21 8:56 ` Geert Uytterhoeven
2019-01-21 12:19 ` Heiko Carstens
2019-01-21 12:19 ` Heiko Carstens
2019-01-21 12:19 ` Heiko Carstens
2019-01-21 12:19 ` Heiko Carstens
2019-01-21 12:19 ` Heiko Carstens
2019-01-21 16:31 ` Arnd Bergmann
2019-01-21 16:31 ` Arnd Bergmann
2019-01-21 16:31 ` Arnd Bergmann
2019-01-21 16:31 ` Arnd Bergmann
2019-01-21 16:31 ` Arnd Bergmann
2019-01-25 15:55 ` Catalin Marinas
2019-01-25 15:55 ` Catalin Marinas
2019-01-25 15:55 ` Catalin Marinas
2019-01-25 15:55 ` Catalin Marinas
2019-01-18 16:57 ` [PATCH v2 00/29] y2038: add time64 syscalls Dennis Clarke
2019-01-18 16:57 ` Dennis Clarke
2019-01-18 16:57 ` Dennis Clarke
2019-01-18 16:57 ` Dennis Clarke
2019-01-18 16:57 ` Dennis Clarke
2019-01-18 16:57 ` Dennis Clarke
2019-01-18 16:57 ` Dennis Clarke
2019-01-18 17:14 ` Arnd Bergmann
2019-01-18 17:14 ` Arnd Bergmann
2019-01-18 17:14 ` Arnd Bergmann
2019-01-18 17:14 ` Arnd Bergmann
2019-01-18 17:14 ` Arnd Bergmann
2019-01-18 17:19 ` Dennis Clarke
2019-01-18 17:19 ` Dennis Clarke
2019-01-18 17:19 ` Dennis Clarke
2019-01-18 17:19 ` Dennis Clarke
2019-01-18 17:19 ` Dennis Clarke
2019-01-18 17:45 ` James Bottomley
2019-01-18 17:45 ` James Bottomley
2019-01-18 17:45 ` James Bottomley
2019-01-18 17:45 ` James Bottomley
2019-01-18 17:45 ` James Bottomley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190118161835.2259170-14-arnd@arndb.de \
--to=arnd@arndb.de \
--cc=akpm@linux-foundation.orglinu \
--cc=benh@kernel.crashing.org \
--cc=catalin.marinas@arm.com \
--cc=dalias@libc.org \
--cc=deepa.kernel@gmail.com \
--cc=deller@gmx.de \
--cc=ebiederm@xmission.com \
--cc=fenghua.yu@intel.com \
--cc=firoz.khan@linaro.org \
--cc=geert@linux-m68k.org \
--cc=heiko.carstens@de.ibm.com \
--cc=hpa@zytor.com \
--cc=jcmvbkbc@gmail.com \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-api@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-ia64@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=luto@kernel.org \
--cc=mattst88@gmail.com \
--cc=mingo@redhat.com \
--cc=monstr@monstr.eu \
--cc=mpe@ellerman.id.au \
--cc=netdev@vger.kernel.org \
--cc=paul.burton@mips.com \
--cc=schwidefsky@de.ibm.com \
--cc=sparclinux@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=tony.luck@intel.com \
--cc=will.deacon@arm.com \
--cc=x86@kernel.org \
--cc=y2038@lists.linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.