public inbox for linux-s390@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/15] ia64: add __NR_umount2 definition
       [not found] <20190110162435.309262-1-arnd@arndb.de>
@ 2019-01-10 16:24 ` Arnd Bergmann
  2019-01-10 16:24 ` [PATCH 02/15] ia64: add statx and io_pgetevents syscalls Arnd Bergmann
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 19+ messages in thread
From: Arnd Bergmann @ 2019-01-10 16:24 UTC (permalink / raw)
  To: y2038, linux-api, linux-kernel
  Cc: dalias, linux-ia64, linux-sh, catalin.marinas, will.deacon, linux,
	jcmvbkbc, deepa.kernel, hpa, sparclinux, linux-s390, dave, mpe,
	deller, x86, linux, mingo, geert, firoz.khan, mattst88,
	fenghua.yu, Arnd Bergmann, heiko.carstens, linux-m68k, ink, luto,
	tglx, linux-arm-kernel, monstr, tony.luck, linux-parisc,
	linux-mips, paul.burton, ebiederm, linux-alpha, schwidefsky, akpm,
	linuxppc-dev

Other architectures commonly use __NR_umount2 for sys_umount,
only ia64 and alpha use __NR_umount here. In order to synchronize
the generated tables, use umount2 like everyone else, and add back
the old name from asm/unistd.h for compatibility.

The __IGNORE_* lines are now all obsolete and can be removed as
a side-effect.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/ia64/include/asm/unistd.h        | 14 --------------
 arch/ia64/include/uapi/asm/unistd.h   |  2 ++
 arch/ia64/kernel/syscalls/syscall.tbl |  2 +-
 3 files changed, 3 insertions(+), 15 deletions(-)

diff --git a/arch/ia64/include/asm/unistd.h b/arch/ia64/include/asm/unistd.h
index 0b08ebd2dfde..9ba6110b10b9 100644
--- a/arch/ia64/include/asm/unistd.h
+++ b/arch/ia64/include/asm/unistd.h
@@ -12,20 +12,6 @@
 
 #define NR_syscalls		__NR_syscalls /* length of syscall table */
 
-/*
- * The following defines stop scripts/checksyscalls.sh from complaining about
- * unimplemented system calls.  Glibc provides for each of these by using
- * more modern equivalent system calls.
- */
-#define __IGNORE_fork		/* clone() */
-#define __IGNORE_time		/* gettimeofday() */
-#define __IGNORE_alarm		/* setitimer(ITIMER_REAL, ... */
-#define __IGNORE_pause		/* rt_sigprocmask(), rt_sigsuspend() */
-#define __IGNORE_utime		/* utimes() */
-#define __IGNORE_getpgrp	/* getpgid() */
-#define __IGNORE_vfork		/* clone() */
-#define __IGNORE_umount2	/* umount() */
-
 #define __ARCH_WANT_NEW_STAT
 #define __ARCH_WANT_SYS_UTIME
 
diff --git a/arch/ia64/include/uapi/asm/unistd.h b/arch/ia64/include/uapi/asm/unistd.h
index b2513922dcb5..013e0bcacc39 100644
--- a/arch/ia64/include/uapi/asm/unistd.h
+++ b/arch/ia64/include/uapi/asm/unistd.h
@@ -15,6 +15,8 @@
 
 #define __NR_Linux      1024
 
+#define __NR_umount __NR_umount2
+
 #include <asm/unistd_64.h>
 
 #endif /* _UAPI_ASM_IA64_UNISTD_H */
diff --git a/arch/ia64/kernel/syscalls/syscall.tbl b/arch/ia64/kernel/syscalls/syscall.tbl
index b22203b40bfe..e97caf51be42 100644
--- a/arch/ia64/kernel/syscalls/syscall.tbl
+++ b/arch/ia64/kernel/syscalls/syscall.tbl
@@ -29,7 +29,7 @@
 17	common	getpid				sys_getpid
 18	common	getppid				sys_getppid
 19	common	mount				sys_mount
-20	common	umount				sys_umount
+20	common	umount2				sys_umount
 21	common	setuid				sys_setuid
 22	common	getuid				sys_getuid
 23	common	geteuid				sys_geteuid
-- 
2.20.0

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 02/15] ia64: add statx and io_pgetevents syscalls
       [not found] <20190110162435.309262-1-arnd@arndb.de>
  2019-01-10 16:24 ` [PATCH 01/15] ia64: add __NR_umount2 definition Arnd Bergmann
@ 2019-01-10 16:24 ` Arnd Bergmann
  2019-01-10 16:24 ` [PATCH 03/15] ia64: assign syscall numbers for perf and seccomp Arnd Bergmann
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 19+ messages in thread
From: Arnd Bergmann @ 2019-01-10 16:24 UTC (permalink / raw)
  To: y2038, linux-api, linux-kernel
  Cc: dalias, linux-ia64, linux-sh, catalin.marinas, will.deacon, linux,
	jcmvbkbc, deepa.kernel, hpa, sparclinux, linux-s390, dave, mpe,
	deller, x86, linux, mingo, geert, firoz.khan, mattst88,
	fenghua.yu, Arnd Bergmann, heiko.carstens, linux-m68k, ink, luto,
	tglx, linux-arm-kernel, monstr, tony.luck, linux-parisc,
	linux-mips, paul.burton, ebiederm, linux-alpha, schwidefsky, akpm,
	linuxppc-dev

All architectures should implement these two, so assign numbers
and hook them up on ia64.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/ia64/kernel/syscalls/syscall.tbl | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/ia64/kernel/syscalls/syscall.tbl b/arch/ia64/kernel/syscalls/syscall.tbl
index e97caf51be42..52585281205b 100644
--- a/arch/ia64/kernel/syscalls/syscall.tbl
+++ b/arch/ia64/kernel/syscalls/syscall.tbl
@@ -335,3 +335,5 @@
 323	common	copy_file_range			sys_copy_file_range
 324	common	preadv2				sys_preadv2
 325	common	pwritev2			sys_pwritev2
+326	common	statx				sys_statx
+327	common	io_pgetevents			sys_io_pgetevents
-- 
2.20.0

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 03/15] ia64: assign syscall numbers for perf and seccomp
       [not found] <20190110162435.309262-1-arnd@arndb.de>
  2019-01-10 16:24 ` [PATCH 01/15] ia64: add __NR_umount2 definition Arnd Bergmann
  2019-01-10 16:24 ` [PATCH 02/15] ia64: add statx and io_pgetevents syscalls Arnd Bergmann
@ 2019-01-10 16:24 ` Arnd Bergmann
  2019-01-10 16:24 ` [PATCH 06/15] ARM: add migrate_pages() system call Arnd Bergmann
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 19+ messages in thread
From: Arnd Bergmann @ 2019-01-10 16:24 UTC (permalink / raw)
  To: y2038, linux-api, linux-kernel
  Cc: dalias, linux-ia64, linux-sh, catalin.marinas, will.deacon, linux,
	jcmvbkbc, deepa.kernel, hpa, sparclinux, linux-s390, dave, mpe,
	deller, x86, linux, mingo, geert, firoz.khan, mattst88,
	fenghua.yu, Arnd Bergmann, heiko.carstens, linux-m68k, ink, luto,
	tglx, linux-arm-kernel, monstr, tony.luck, linux-parisc,
	linux-mips, paul.burton, ebiederm, linux-alpha, schwidefsky, akpm,
	linuxppc-dev

Most architectures have assigned numbers for both seccomp and
perf_event_open, even when they do not implement either.

ia64 is an exception here, so for consistency lets add numbers for both
of them. Unless CONFIG_PERF_EVENTS and CONFIG_SECCOMP are implemented,
the system calls just return -ENOSYS.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/ia64/kernel/syscalls/syscall.tbl | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/ia64/kernel/syscalls/syscall.tbl b/arch/ia64/kernel/syscalls/syscall.tbl
index 52585281205b..2e93dbdcdb80 100644
--- a/arch/ia64/kernel/syscalls/syscall.tbl
+++ b/arch/ia64/kernel/syscalls/syscall.tbl
@@ -337,3 +337,5 @@
 325	common	pwritev2			sys_pwritev2
 326	common	statx				sys_statx
 327	common	io_pgetevents			sys_io_pgetevents
+328	common	perf_event_open			sys_perf_event_open
+329	common	seccomp				sys_seccomp
-- 
2.20.0

_______________________________________________
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 06/15] ARM: add migrate_pages() system call
       [not found] <20190110162435.309262-1-arnd@arndb.de>
                   ` (2 preceding siblings ...)
  2019-01-10 16:24 ` [PATCH 03/15] ia64: assign syscall numbers for perf and seccomp Arnd Bergmann
@ 2019-01-10 16:24 ` Arnd Bergmann
  2019-01-10 16:24 ` [PATCH 11/15] mips: fix n32 compat_ipc_parse_version Arnd Bergmann
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 19+ messages in thread
From: Arnd Bergmann @ 2019-01-10 16:24 UTC (permalink / raw)
  To: y2038, linux-api, linux-kernel
  Cc: dalias, linux-ia64, linux-sh, catalin.marinas, will.deacon, linux,
	jcmvbkbc, deepa.kernel, hpa, sparclinux, linux-s390, dave, mpe,
	deller, x86, linux, mingo, geert, firoz.khan, mattst88,
	fenghua.yu, Arnd Bergmann, heiko.carstens, linux-m68k, ink, luto,
	tglx, linux-arm-kernel, monstr, tony.luck, linux-parisc,
	linux-mips, paul.burton, ebiederm, linux-alpha, schwidefsky, akpm,
	linuxppc-dev

The migrate_pages system call has an assigned number on all architectures
except ARM. When it got added initially in commit d80ade7b3231 ("ARM:
Fix warning: #warning syscall migrate_pages not implemented"), it was
intentionally left out based on the observation that there are no 32-bit
ARM NUMA systems.

However, there are now arm64 NUMA machines that can in theory run 32-bit
kernels (actually enabling NUMA there would require additional work)
as well as 32-bit user space on 64-bit kernels, so that argument is no
longer very strong.

Assigning the number lets us use the system call on 64-bit kernels as well
as providing a more consistent set of syscalls across architectures.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/include/asm/unistd.h     | 1 -
 arch/arm/tools/syscall.tbl        | 1 +
 arch/arm64/include/asm/unistd.h   | 2 +-
 arch/arm64/include/asm/unistd32.h | 2 ++
 4 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h
index 88ef2ce1f69a..d713587dfcf4 100644
--- a/arch/arm/include/asm/unistd.h
+++ b/arch/arm/include/asm/unistd.h
@@ -45,7 +45,6 @@
  * Unimplemented (or alternatively implemented) syscalls
  */
 #define __IGNORE_fadvise64_64
-#define __IGNORE_migrate_pages
 
 #ifdef __ARM_EABI__
 /*
diff --git a/arch/arm/tools/syscall.tbl b/arch/arm/tools/syscall.tbl
index 8edf93b4490f..86de9eb34296 100644
--- a/arch/arm/tools/syscall.tbl
+++ b/arch/arm/tools/syscall.tbl
@@ -414,3 +414,4 @@
 397	common	statx			sys_statx
 398	common	rseq			sys_rseq
 399	common	io_pgetevents		sys_io_pgetevents
+400	common	migrate_pages		sys_migrate_pages
diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h
index a7b1fc58ffdf..261216c3336e 100644
--- a/arch/arm64/include/asm/unistd.h
+++ b/arch/arm64/include/asm/unistd.h
@@ -44,7 +44,7 @@
 #define __ARM_NR_compat_set_tls		(__ARM_NR_COMPAT_BASE + 5)
 #define __ARM_NR_COMPAT_END		(__ARM_NR_COMPAT_BASE + 0x800)
 
-#define __NR_compat_syscalls		400
+#define __NR_compat_syscalls		401
 #endif
 
 #define __ARCH_WANT_SYS_CLONE
diff --git a/arch/arm64/include/asm/unistd32.h b/arch/arm64/include/asm/unistd32.h
index 04ee190b90fe..355fe2bc035b 100644
--- a/arch/arm64/include/asm/unistd32.h
+++ b/arch/arm64/include/asm/unistd32.h
@@ -821,6 +821,8 @@ __SYSCALL(__NR_statx, sys_statx)
 __SYSCALL(__NR_rseq, sys_rseq)
 #define __NR_io_pgetevents 399
 __SYSCALL(__NR_io_pgetevents, compat_sys_io_pgetevents)
+#define __NR_migrate_pages 400
+__SYSCALL(__NR_migrate_pages, sys_migrate_pages)
 
 /*
  * Please add new compat syscalls above this comment and update
-- 
2.20.0

_______________________________________________
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [PATCH 11/15] mips: fix n32 compat_ipc_parse_version
       [not found] <20190110162435.309262-1-arnd@arndb.de>
                   ` (3 preceding siblings ...)
  2019-01-10 16:24 ` [PATCH 06/15] ARM: add migrate_pages() system call Arnd Bergmann
@ 2019-01-10 16:24 ` Arnd Bergmann
  2019-01-10 19:39   ` Paul Burton
  2019-01-11 19:25   ` Paul Burton
       [not found] ` <CAMuHMdXYP3=TRHYqddVRfbRRaj_Ou=wfoX6ohKM7XNAx-c2RXw@mail.gmail.com>
                   ` (3 subsequent siblings)
  8 siblings, 2 replies; 19+ messages in thread
From: Arnd Bergmann @ 2019-01-10 16:24 UTC (permalink / raw)
  To: y2038, linux-api, linux-kernel
  Cc: dalias, linux-ia64, linux-sh, catalin.marinas, will.deacon, linux,
	jcmvbkbc, deepa.kernel, hpa, sparclinux, linux-s390, dave, mpe,
	deller, x86, linux, mingo, geert, firoz.khan, mattst88,
	fenghua.yu, Arnd Bergmann, heiko.carstens, linux-m68k, ink, luto,
	tglx, linux-arm-kernel, monstr, tony.luck, linux-parisc,
	linux-mips, stable, paul.burton, ebiederm, linux-alpha,
	schwidefsky, akpm

While reading through the sysvipc implementation, I noticed that the n32
semctl/shmctl/msgctl system calls behave differently based on whether
o32 support is enabled or not: Without o32, the IPC_64 flag passed by
user space is rejected but calls without that flag get IPC_64 behavior.

As far as I can tell, this was inadvertently changed by a cleanup patch
but never noticed by anyone, possibly nobody has tried using sysvipc
on n32 after linux-3.19.

Change it back to the old behavior now.

Fixes: 78aaf956ba3a ("MIPS: Compat: Fix build error if CONFIG_MIPS32_COMPAT but no compat ABI.")
Cc: stable@vger.kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
As stated above, this was only found by inspection, the patch is not
tested. Please review accordingly.
---
 arch/mips/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 787290781b8c..0d14f51d0002 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -3155,6 +3155,7 @@ config MIPS32_O32
 config MIPS32_N32
 	bool "Kernel support for n32 binaries"
 	depends on 64BIT
+	select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
 	select COMPAT
 	select MIPS32_COMPAT
 	select SYSVIPC_COMPAT if SYSVIPC
-- 
2.20.0

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH 00/15] arch: synchronize syscall tables in preparation for y2038
       [not found] ` <CAMuHMdXYP3=TRHYqddVRfbRRaj_Ou=wfoX6ohKM7XNAx-c2RXw@mail.gmail.com>
@ 2019-01-10 17:06   ` Arnd Bergmann
  2019-01-10 18:11     ` Geert Uytterhoeven
  0 siblings, 1 reply; 19+ messages in thread
From: Arnd Bergmann @ 2019-01-10 17:06 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Rich Felker, linux-ia64@vger.kernel.org, Linux-sh list,
	Catalin Marinas, Heiko Carstens, Dominik Brodowski, linux-mips,
	Max Filippov, Deepa Dinamani, H. Peter Anvin, sparclinux,
	linux-s390, Davidlohr Bueso, y2038 Mailman List, Michael Ellerman,
	Helge Deller, the arch/x86 maintainers, Russell King, Ingo Molnar,
	Firoz Khan, Matt Turner, Fenghua Yu, Will Deacon

On Thu, Jan 10, 2019 at 5:59 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>
> Hi Arnd,
>
> On Thu, Jan 10, 2019 at 5:26 PM Arnd Bergmann <arnd@arndb.de> wrote:
> > The system call tables have diverged a bit over the years, and a number
> > of the recent additions never made it into all architectures, for one
> > reason or another.
> >
> > This is an attempt to clean it up as far as we can without breaking
> > compatibility, doing a number of steps:
>
> Thanks a lot!
>
> > - Add system calls that have not yet been integrated into all
> >   architectures but that we definitely want there.
>
> It looks like you missed wiring up io_pgetevents() on m68k.
> Is that intentional?

Yes, I thought I had described that somewhere but maybe I
forgot: semtimedop() and io_pgetevents() get replaced with
time64 versions in the follow-up, so I only added them in
64-bit architectures. If you think we should have both
io_pgetevents() and io_pgetevents_time32() on all 32-bit
architectures, I can add that as well.

      Arnd

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 00/15] arch: synchronize syscall tables in preparation for y2038
       [not found] <20190110162435.309262-1-arnd@arndb.de>
                   ` (5 preceding siblings ...)
       [not found] ` <CAMuHMdXYP3=TRHYqddVRfbRRaj_Ou=wfoX6ohKM7XNAx-c2RXw@mail.gmail.com>
@ 2019-01-10 18:10 ` Joseph Myers
       [not found]   ` <CAK8P3a2f4SCJXrm6HWO9UKY-akSW+ONNpOvQOtYbia_fRo9ciQ@mail.gmail.com>
       [not found] ` <20190110162435.309262-15-arnd@arndb.de>
       [not found] ` <20190110162435.309262-16-arnd@arndb.de>
  8 siblings, 1 reply; 19+ messages in thread
From: Joseph Myers @ 2019-01-10 18:10 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: dalias, linux-ia64, linux-sh, catalin.marinas, heiko.carstens,
	linux, linux-mips, jcmvbkbc, deepa.kernel, hpa, sparclinux,
	linux-s390, dave, y2038, mpe, deller, x86, linux, mingo, geert,
	firoz.khan, mattst88, fenghua.yu, will.deacon, linux-m68k, ink,
	luto, tglx, linux-arm-kernel, monstr, tony.luck, linux-parisc,
	linux-api, linux-kernel, paul.burton, ebiederm, linux-alpha,
	schwidefsky

On Thu, 10 Jan 2019, Arnd Bergmann wrote:

> - Add system calls that have not yet been integrated into all
>   architectures but that we definitely want there.

glibc has a note that alpha lacks statfs64, any plans for that?

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 00/15] arch: synchronize syscall tables in preparation for y2038
  2019-01-10 17:06   ` [PATCH 00/15] arch: synchronize syscall tables in preparation for y2038 Arnd Bergmann
@ 2019-01-10 18:11     ` Geert Uytterhoeven
       [not found]       ` <CAK8P3a07yNiadLCJcA0Tyfo90YeQ0P2XF-wOEy9XAb8cDTFObw@mail.gmail.com>
  0 siblings, 1 reply; 19+ messages in thread
From: Geert Uytterhoeven @ 2019-01-10 18:11 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Rich Felker, linux-ia64@vger.kernel.org, Linux-sh list,
	Catalin Marinas, Heiko Carstens, Dominik Brodowski, linux-mips,
	Max Filippov, Deepa Dinamani, H. Peter Anvin, sparclinux,
	linux-s390, Davidlohr Bueso, y2038 Mailman List, Michael Ellerman,
	Helge Deller, the arch/x86 maintainers, Russell King, Ingo Molnar,
	Firoz Khan, Matt Turner, Fenghua Yu, Will Deacon

Hi Arnd,

On Thu, Jan 10, 2019 at 6:06 PM Arnd Bergmann <arnd@arndb.de> wrote:
> On Thu, Jan 10, 2019 at 5:59 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > On Thu, Jan 10, 2019 at 5:26 PM Arnd Bergmann <arnd@arndb.de> wrote:
> > > The system call tables have diverged a bit over the years, and a number
> > > of the recent additions never made it into all architectures, for one
> > > reason or another.
> > >
> > > This is an attempt to clean it up as far as we can without breaking
> > > compatibility, doing a number of steps:
> >
> > Thanks a lot!
> >
> > > - Add system calls that have not yet been integrated into all
> > >   architectures but that we definitely want there.
> >
> > It looks like you missed wiring up io_pgetevents() on m68k.
> > Is that intentional?
>
> Yes, I thought I had described that somewhere but maybe I
> forgot: semtimedop() and io_pgetevents() get replaced with
> time64 versions in the follow-up, so I only added them in
> 64-bit architectures. If you think we should have both
> io_pgetevents() and io_pgetevents_time32() on all 32-bit
> architectures, I can add that as well.

Thanks, sounds fine to me.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 11/15] mips: fix n32 compat_ipc_parse_version
  2019-01-10 16:24 ` [PATCH 11/15] mips: fix n32 compat_ipc_parse_version Arnd Bergmann
@ 2019-01-10 19:39   ` Paul Burton
  2019-01-10 23:04     ` Arnd Bergmann
  2019-01-11 19:25   ` Paul Burton
  1 sibling, 1 reply; 19+ messages in thread
From: Paul Burton @ 2019-01-10 19:39 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: dalias@libc.org, linux-ia64@vger.kernel.org,
	linux-sh@vger.kernel.org, catalin.marinas@arm.com,
	heiko.carstens@de.ibm.com, linux@dominikbrodowski.net,
	linux-mips@vger.kernel.org, jcmvbkbc@gmail.com,
	deepa.kernel@gmail.com, hpa@zytor.com, sparclinux@vger.kernel.org,
	linux-s390@vger.kernel.org, dave@stgolabs.net,
	y2038@lists.linaro.org, mpe@ellerman.id.au, deller@gmx.de,
	x86@kernel.org, linux@armlinux.org.uk

Hi Arnd,

On Thu, Jan 10, 2019 at 05:24:31PM +0100, Arnd Bergmann wrote:
> While reading through the sysvipc implementation, I noticed that the n32
> semctl/shmctl/msgctl system calls behave differently based on whether
> o32 support is enabled or not: Without o32, the IPC_64 flag passed by
> user space is rejected but calls without that flag get IPC_64 behavior.
> 
> As far as I can tell, this was inadvertently changed by a cleanup patch
> but never noticed by anyone, possibly nobody has tried using sysvipc
> on n32 after linux-3.19.
> 
> Change it back to the old behavior now.
> 
> Fixes: 78aaf956ba3a ("MIPS: Compat: Fix build error if CONFIG_MIPS32_COMPAT but no compat ABI.")
> Cc: stable@vger.kernel.org
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> As stated above, this was only found by inspection, the patch is not
> tested. Please review accordingly.

Nice catch! Would you prefer to merge this yourself, or that I take it
through the mips tree?

If the former then:

  Acked-by: Paul Burton <paul.burton@mips.com>

I suspect kernels configured with n32 support but no o32 support are
probably not very common - for internal testing we currently always
enable both.

Thanks,
    Paul

> ---
>  arch/mips/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index 787290781b8c..0d14f51d0002 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -3155,6 +3155,7 @@ config MIPS32_O32
>  config MIPS32_N32
>  	bool "Kernel support for n32 binaries"
>  	depends on 64BIT
> +	select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
>  	select COMPAT
>  	select MIPS32_COMPAT
>  	select SYSVIPC_COMPAT if SYSVIPC
> -- 
> 2.20.0
> 
_______________________________________________
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 11/15] mips: fix n32 compat_ipc_parse_version
  2019-01-10 19:39   ` Paul Burton
@ 2019-01-10 23:04     ` Arnd Bergmann
  0 siblings, 0 replies; 19+ messages in thread
From: Arnd Bergmann @ 2019-01-10 23:04 UTC (permalink / raw)
  To: Paul Burton
  Cc: dalias@libc.org, linux-ia64@vger.kernel.org,
	linux-sh@vger.kernel.org, catalin.marinas@arm.com,
	heiko.carstens@de.ibm.com, linux@dominikbrodowski.net,
	linux-mips@vger.kernel.org, jcmvbkbc@gmail.com,
	deepa.kernel@gmail.com, hpa@zytor.com, sparclinux@vger.kernel.org,
	linux-s390@vger.kernel.org, dave@stgolabs.net,
	y2038@lists.linaro.org, mpe@ellerman.id.au, deller@gmx.de,
	x86@kernel.org, linux@armlinux.org.uk

On Thu, Jan 10, 2019 at 8:40 PM Paul Burton <paul.burton@mips.com> wrote:
> On Thu, Jan 10, 2019 at 05:24:31PM +0100, Arnd Bergmann wrote:
> > While reading through the sysvipc implementation, I noticed that the n32
> > semctl/shmctl/msgctl system calls behave differently based on whether
> > o32 support is enabled or not: Without o32, the IPC_64 flag passed by
> > user space is rejected but calls without that flag get IPC_64 behavior.
> >
> > As far as I can tell, this was inadvertently changed by a cleanup patch
> > but never noticed by anyone, possibly nobody has tried using sysvipc
> > on n32 after linux-3.19.
> >
> > Change it back to the old behavior now.
> >
> > Fixes: 78aaf956ba3a ("MIPS: Compat: Fix build error if CONFIG_MIPS32_COMPAT but no compat ABI.")
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> > ---
> > As stated above, this was only found by inspection, the patch is not
> > tested. Please review accordingly.
>
> Nice catch! Would you prefer to merge this yourself, or that I take it
> through the mips tree?

Up to you: if you want to merge it for 5.0, I'll just drop it from my tree.

> If the former then:
>
>   Acked-by: Paul Burton <paul.burton@mips.com>

Thanks!

> I suspect kernels configured with n32 support but no o32 support are
> probably not very common - for internal testing we currently always
> enable both.

Do you know of anyone actually still using n32 in production systems
with 4.x kernels? I wonder if it just fell out of popularity as the 64-bit
machines that used it either became large enough to want 64-bit
user space, or got replaced by arm64 or mips32 hardware.

      Arnd
_______________________________________________
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 00/15] arch: synchronize syscall tables in preparation for y2038
       [not found]   ` <CAK8P3a2f4SCJXrm6HWO9UKY-akSW+ONNpOvQOtYbia_fRo9ciQ@mail.gmail.com>
@ 2019-01-10 23:14     ` Michael Cree
  0 siblings, 0 replies; 19+ messages in thread
From: Michael Cree @ 2019-01-10 23:14 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Rich Felker, linux-ia64, Linux-sh list, Catalin Marinas,
	Heiko Carstens, Dominik Brodowski, linux-mips, Max Filippov,
	Deepa Dinamani, H. Peter Anvin, sparclinux, Joseph Myers,
	linux-s390, Davidlohr Bueso, y2038 Mailman List, Michael Ellerman,
	Helge Deller, the arch/x86 maintainers, Russell King - ARM Linux,
	Ingo Molnar, Geert Uytterhoeven, Firoz Khan, Matt Turner

On Thu, Jan 10, 2019 at 11:42:32PM +0100, Arnd Bergmann wrote:
> On Thu, Jan 10, 2019 at 7:10 PM Joseph Myers <joseph@codesourcery.com> wrote:
> >
> > On Thu, 10 Jan 2019, Arnd Bergmann wrote:
> >
> > > - Add system calls that have not yet been integrated into all
> > >   architectures but that we definitely want there.
> >
> > glibc has a note that alpha lacks statfs64, any plans for that?
> 
> Good catch, I missed that because all other 64-bit architectures
> have a statfs() call with 64-bit fields. I see that it also has an
> osf_statfs64 structure and system call with lots of padding and some
> oddly sized fields: f_type, f_flags and f_namemax are only 16 bits
> wide, the rest is all 64-bit.
> 
> Adding the regular statfs64() should be easy enough, we just need to
> decide which layout to use:
> 
> a) use the currently unused 'struct statfs64' as provided by the
>     alpha uapi headers, which has a 32-bit __statfs_word but
>     64-bit f_blocks, f_bfree, f_bavail, f_files, and f_ffree.
> 
> b) copy asm-generic/statfs.h to the alpha asm/statfs.h and
>     change statfs64 to have the regular layout that we use
>     on all other 64-bit architectures, using all 64-bit fields.
> 
> The other open question for alpha (as mentioned in one of the
> patches I sent) would be whether to add get{eg,eu,g,p,pp,u}id()
> with the regular calling conventions.

I would be interested in seeing those provided on Alpha.  There are
a handful of projects choosing to sidestep glibc for these syscalls
and they break on Alpha.  Such projects are never keen to include
special assembler code (because the extant syscalls on Alpha are not
C ABI compliant) to support a legacy arch.

Cheers
Michael.
_______________________________________________
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 00/15] arch: synchronize syscall tables in preparation for y2038
       [not found]       ` <CAK8P3a07yNiadLCJcA0Tyfo90YeQ0P2XF-wOEy9XAb8cDTFObw@mail.gmail.com>
@ 2019-01-11  8:07         ` Geert Uytterhoeven
  0 siblings, 0 replies; 19+ messages in thread
From: Geert Uytterhoeven @ 2019-01-11  8:07 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Rich Felker, linux-ia64@vger.kernel.org, Linux-sh list,
	Catalin Marinas, Heiko Carstens, Dominik Brodowski, linux-mips,
	Max Filippov, Deepa Dinamani, H. Peter Anvin, sparclinux,
	linux-s390, Davidlohr Bueso, y2038 Mailman List, Michael Ellerman,
	Helge Deller, the arch/x86 maintainers, Russell King, Ingo Molnar,
	Firoz Khan, Matt Turner, Fenghua Yu, Will Deacon

Hi Arnd,

On Thu, Jan 10, 2019 at 11:43 PM Arnd Bergmann <arnd@arndb.de> wrote:
> On Thu, Jan 10, 2019 at 7:11 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > On Thu, Jan 10, 2019 at 6:06 PM Arnd Bergmann <arnd@arndb.de> wrote:
> > > On Thu, Jan 10, 2019 at 5:59 PM Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > > > On Thu, Jan 10, 2019 at 5:26 PM Arnd Bergmann <arnd@arndb.de> wrote:
> > > > > The system call tables have diverged a bit over the years, and a number
> > > > > of the recent additions never made it into all architectures, for one
> > > > > reason or another.
> > > > >
> > > > > This is an attempt to clean it up as far as we can without breaking
> > > > > compatibility, doing a number of steps:
> > > >
> > > > Thanks a lot!
> > > >
> > > > > - Add system calls that have not yet been integrated into all
> > > > >   architectures but that we definitely want there.
> > > >
> > > > It looks like you missed wiring up io_pgetevents() on m68k.
> > > > Is that intentional?
> > >
> > > Yes, I thought I had described that somewhere but maybe I
> > > forgot: semtimedop() and io_pgetevents() get replaced with
> > > time64 versions in the follow-up, so I only added them in
> > > 64-bit architectures. If you think we should have both
> > > io_pgetevents() and io_pgetevents_time32() on all 32-bit
> > > architectures, I can add that as well.
> >
> > Thanks, sounds fine to me.
>
> Just to be sure, you mean it's fine to not add it, not that we should
> add it?

I'm fine with not having the legacy 32-bit ones.

Sorry for being unclear.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 11/15] mips: fix n32 compat_ipc_parse_version
  2019-01-10 16:24 ` [PATCH 11/15] mips: fix n32 compat_ipc_parse_version Arnd Bergmann
  2019-01-10 19:39   ` Paul Burton
@ 2019-01-11 19:25   ` Paul Burton
  1 sibling, 0 replies; 19+ messages in thread
From: Paul Burton @ 2019-01-11 19:25 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Paul Burton, dalias@libc.org, linux-ia64@vger.kernel.org,
	linux-sh@vger.kernel.org, catalin.marinas@arm.com,
	will.deacon@arm.com, linux@dominikbrodowski.net,
	linux-mips@vger.kernel.org, jcmvbkbc@gmail.com,
	deepa.kernel@gmail.com, hpa@zytor.com, sparclinux@vger.kernel.org,
	linux-s390@vger.kernel.org, dave@stgolabs.net,
	y2038@lists.linaro.org, mpe@ellerman.id.au, deller@gmx.de,
	x86@kernel.org

Hello,

Arnd Bergmann wrote:
> While reading through the sysvipc implementation, I noticed that the n32
> semctl/shmctl/msgctl system calls behave differently based on whether
> o32 support is enabled or not: Without o32, the IPC_64 flag passed by
> user space is rejected but calls without that flag get IPC_64 behavior.
> 
> As far as I can tell, this was inadvertently changed by a cleanup patch
> but never noticed by anyone, possibly nobody has tried using sysvipc
> on n32 after linux-3.19.
> 
> Change it back to the old behavior now.
> 
> Fixes: 78aaf956ba3a ("MIPS: Compat: Fix build error if CONFIG_MIPS32_COMPAT but no compat ABI.")
> Cc: stable@vger.kernel.org
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Applied to mips-fixes.

Thanks,
    Paul

[ This message was auto-generated; if you believe anything is incorrect
  then please email paul.burton@mips.com to report it. ]
_______________________________________________
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 14/15] arch: add split IPC system calls where needed
       [not found] ` <20190110162435.309262-15-arnd@arndb.de>
@ 2019-01-14  3:40   ` Michael Ellerman
       [not found]   ` <87pnsz28k2.fsf@concordia.ellerman.id.au>
  1 sibling, 0 replies; 19+ messages in thread
From: Michael Ellerman @ 2019-01-14  3:40 UTC (permalink / raw)
  To: y2038, linux-api, linux-kernel
  Cc: dalias, linux-ia64, linux-sh, catalin.marinas, will.deacon, linux,
	jcmvbkbc, deepa.kernel, hpa, sparclinux, linux-s390, dave, deller,
	x86, linux, mingo, geert, firoz.khan, mattst88, fenghua.yu,
	Arnd Bergmann, heiko.carstens, linux-m68k, ink, luto, tglx,
	linux-arm-kernel, monstr, tony.luck, linux-parisc, linux-mips,
	paul.burton, ebiederm, linux-alpha, schwidefsky, akpm,
	linuxppc-dev

Hi Arnd,

Arnd Bergmann <arnd@arndb.de> writes:
> 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  | 12 ++++++++++++

I have some changes I'd like to make to our syscall table that will
clash with this.

I'll try and send them today.

> diff --git a/arch/powerpc/kernel/syscalls/syscall.tbl b/arch/powerpc/kernel/syscalls/syscall.tbl
> index db3bbb8744af..1bffab54ff35 100644
> --- a/arch/powerpc/kernel/syscalls/syscall.tbl
> +++ b/arch/powerpc/kernel/syscalls/syscall.tbl
> @@ -425,3 +425,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

We already have a gap at 366-377 from when we tried to add the split IPC
calls a few years back.

I guess I don't mind leaving that gap and using the common numbers.

But would be good to add a comment pointing out that we have room there
for arch specific syscalls as well.

cheers

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 15/15] arch: add pkey and rseq syscall numbers everywhere
       [not found]   ` <20190115115229.mcrmmpwdmjxf2cra@e5254000004ec.dyn.armlinux.org.uk>
@ 2019-01-15 14:47     ` Arnd Bergmann
  0 siblings, 0 replies; 19+ messages in thread
From: Arnd Bergmann @ 2019-01-15 14:47 UTC (permalink / raw)
  To: Russell King - ARM Linux admin
  Cc: Rich Felker, linux-ia64, Linux-sh list, Catalin Marinas,
	Heiko Carstens, Dominik Brodowski, linux-mips, Max Filippov,
	Deepa Dinamani, H. Peter Anvin, sparclinux, linux-s390,
	Davidlohr Bueso, y2038 Mailman List, Michael Ellerman,
	Helge Deller, the arch/x86 maintainers, Ingo Molnar,
	Geert Uytterhoeven, Firoz Khan, Matt Turner, Fenghua Yu,
	Will Deacon

On Tue, Jan 15, 2019 at 12:52 PM Russell King - ARM Linux admin
<linux@armlinux.org.uk> wrote:
>
> On Thu, Jan 10, 2019 at 05:24:35PM +0100, Arnd Bergmann wrote:
> > Most architectures define system call numbers for the rseq and pkey system
> > calls, even when they don't support the features, and perhaps never will.
> >
> > Only a few architectures are missing these, so just define them anyway
> > for consistency. If we decide to add them later to one of these, the
> > system call numbers won't get out of sync then.
>
> I was lambasted for adding the pkey syscalls for 32-bit ARM in 2016,
> which will probably never support it.  Why has the attitude towards
> this kind of thing now apparently become acceptable?

I was (and still am) a bit unsure about this one. A number of architectures
added the numbers that won't ever support them, but I wasn't sure if
any of those that didn't add them might need it later.

I tried to just go by the rule that anything that we list in
asm-generic/unistd.h
is probably important enough that we want to list it everywhere, even if
that includes a couple that we end up being rather architecture specific.

I'm happy to drop this patch if you or others feel that we're better off
without it though.

      Arnd

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 14/15] arch: add split IPC system calls where needed
       [not found]   ` <87pnsz28k2.fsf@concordia.ellerman.id.au>
@ 2019-01-15 15:01     ` Arnd Bergmann
       [not found]       ` <CAK8P3a3eUzGDrJtV2ySpgHwjKHwZYr+1xHp6tChCt1gWi=mJ+g@mail.gmail.com>
  2019-01-16  0:10       ` Michael Ellerman
  0 siblings, 2 replies; 19+ messages in thread
From: Arnd Bergmann @ 2019-01-15 15:01 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Rich Felker, linux-ia64, Linux-sh list, Catalin Marinas,
	Heiko Carstens, Dominik Brodowski, linux-mips, Max Filippov,
	Deepa Dinamani, H. Peter Anvin, sparclinux, linux-s390,
	Davidlohr Bueso, y2038 Mailman List, Helge Deller,
	the arch/x86 maintainers, Russell King - ARM Linux, Ingo Molnar,
	Geert Uytterhoeven, Firoz Khan, Matt Turner, Fenghua Yu,
	Will Deacon

On Mon, Jan 14, 2019 at 4:59 AM Michael Ellerman <mpe@ellerman.id.au> wrote:
> Arnd Bergmann <arnd@arndb.de> writes:
> >  arch/m68k/kernel/syscalls/syscall.tbl     | 11 +++++++++++
> >  arch/mips/kernel/syscalls/syscall_o32.tbl | 11 +++++++++++
> >  arch/powerpc/kernel/syscalls/syscall.tbl  | 12 ++++++++++++
>
> I have some changes I'd like to make to our syscall table that will
> clash with this.
>
> I'll try and send them today.

Ok. Are those for 5.0 or 5.1? If they are intended for 5.0, it would be
nice for me to have a branch based on 5.0-rc1 that I can put
the other patches on top of.

> > diff --git a/arch/powerpc/kernel/syscalls/syscall.tbl b/arch/powerpc/kernel/syscalls/syscall.tbl
> > index db3bbb8744af..1bffab54ff35 100644
> > --- a/arch/powerpc/kernel/syscalls/syscall.tbl
> > +++ b/arch/powerpc/kernel/syscalls/syscall.tbl
> > @@ -425,3 +425,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
>
> We already have a gap at 366-377 from when we tried to add the split IPC
> calls a few years back.
>
> I guess I don't mind leaving that gap and using the common numbers as
> you've done here.
>
> But it would be good to add a comment pointing out that we have room
> at 366 for more arch specific syscalls as well.

Ah, I missed that. I've added this to my patch now:

index 5c0936d862fc..2ddfba536d5f 100644
--- a/arch/powerpc/kernel/syscalls/syscall.tbl
+++ b/arch/powerpc/kernel/syscalls/syscall.tbl
@@ -460,6 +460,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

       Arnd

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [PATCH 14/15] arch: add split IPC system calls where needed
       [not found]       ` <CAK8P3a3eUzGDrJtV2ySpgHwjKHwZYr+1xHp6tChCt1gWi=mJ+g@mail.gmail.com>
@ 2019-01-15 16:35         ` Geert Uytterhoeven
  2019-01-16  0:09         ` Michael Ellerman
  1 sibling, 0 replies; 19+ messages in thread
From: Geert Uytterhoeven @ 2019-01-15 16:35 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Rich Felker, linux-ia64@vger.kernel.org, Linux-sh list,
	Catalin Marinas, Heiko Carstens, Dominik Brodowski, linux-mips,
	Max Filippov, Deepa Dinamani, H. Peter Anvin, sparclinux,
	linux-s390, Davidlohr Bueso, y2038 Mailman List, Michael Ellerman,
	Helge Deller, the arch/x86 maintainers, Russell King - ARM Linux,
	Ingo Molnar, Firoz Khan, Matt Turner, Fenghua Yu

Hi Arnd,

On Tue, Jan 15, 2019 at 4:19 PM Arnd Bergmann <arnd@arndb.de> wrote:
> On Tue, Jan 15, 2019 at 4:01 PM Arnd Bergmann <arnd@arndb.de> wrote:
> > On Mon, Jan 14, 2019 at 4:59 AM Michael Ellerman <mpe@ellerman.id.au> wrote:
> > > Arnd Bergmann <arnd@arndb.de> writes:
> > > >  arch/m68k/kernel/syscalls/syscall.tbl     | 11 +++++++++++
> > > >  arch/mips/kernel/syscalls/syscall_o32.tbl | 11 +++++++++++
> > > >  arch/powerpc/kernel/syscalls/syscall.tbl  | 12 ++++++++++++
> > >
> > > I have some changes I'd like to make to our syscall table that will
> > > clash with this.
> > >
> > > I'll try and send them today.
> >
> > Ok. Are those for 5.0 or 5.1? If they are intended for 5.0, it would be
> > nice for me to have a branch based on 5.0-rc1 that I can put
> > the other patches on top of.
>
> There is also another change that I considered:
>
> At the end of my series, we have a lot of entries like
>
> 245     32      clock_settime                   sys_clock_settime32
> 245     64      clock_settime                   sys_clock_settime
> 245     spu     clock_settime                   sys_clock_settime
>
> which could be folded into
>
> 245     32      clock_settime                   sys_clock_settime32
> 245     spu64 clock_settime                   sys_clock_settime
>
> if we just add another option to the ABI field. Any thoughts on
> that?

So "spu64" would mean "spu + 64"?
That makes it more difficult to read, and to grep.
What about allowing multiple ABIs, separated by commas?
So that line would become:

    245     spu,64 clock_settime                   sys_clock_settime

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 14/15] arch: add split IPC system calls where needed
       [not found]       ` <CAK8P3a3eUzGDrJtV2ySpgHwjKHwZYr+1xHp6tChCt1gWi=mJ+g@mail.gmail.com>
  2019-01-15 16:35         ` Geert Uytterhoeven
@ 2019-01-16  0:09         ` Michael Ellerman
  1 sibling, 0 replies; 19+ messages in thread
From: Michael Ellerman @ 2019-01-16  0:09 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Rich Felker, linux-ia64, Linux-sh list, Catalin Marinas,
	Heiko Carstens, Dominik Brodowski, linux-mips, Max Filippov,
	Deepa Dinamani, H. Peter Anvin, sparclinux, linux-s390,
	Davidlohr Bueso, y2038 Mailman List, Helge Deller,
	the arch/x86 maintainers, Russell King - ARM Linux, Ingo Molnar,
	Geert Uytterhoeven, Firoz Khan, Matt Turner, Fenghua Yu,
	Will Deacon

Arnd Bergmann <arnd@arndb.de> writes:

> On Tue, Jan 15, 2019 at 4:01 PM Arnd Bergmann <arnd@arndb.de> wrote:
>>
>> On Mon, Jan 14, 2019 at 4:59 AM Michael Ellerman <mpe@ellerman.id.au> wrote:
>> > Arnd Bergmann <arnd@arndb.de> writes:
>> > >  arch/m68k/kernel/syscalls/syscall.tbl     | 11 +++++++++++
>> > >  arch/mips/kernel/syscalls/syscall_o32.tbl | 11 +++++++++++
>> > >  arch/powerpc/kernel/syscalls/syscall.tbl  | 12 ++++++++++++
>> >
>> > I have some changes I'd like to make to our syscall table that will
>> > clash with this.
>> >
>> > I'll try and send them today.
>>
>> Ok. Are those for 5.0 or 5.1? If they are intended for 5.0, it would be
>> nice for me to have a branch based on 5.0-rc1 that I can put
>> the other patches on top of.
>
> There is also another change that I considered:
>
> At the end of my series, we have a lot of entries like
>
> 245     32      clock_settime                   sys_clock_settime32
> 245     64      clock_settime                   sys_clock_settime
> 245     spu     clock_settime                   sys_clock_settime
>
> which could be folded into
>
> 245     32      clock_settime                   sys_clock_settime32
> 245     spu64 clock_settime                   sys_clock_settime
>
> if we just add another option to the ABI field. Any thoughts on
> that?

My series splits spu out into a separate field. So the above would be:

245     32	-	clock_settime                   sys_clock_settime32
245     64	spu	clock_settime                   sys_clock_settime

cheers
_______________________________________________
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [PATCH 14/15] arch: add split IPC system calls where needed
  2019-01-15 15:01     ` Arnd Bergmann
       [not found]       ` <CAK8P3a3eUzGDrJtV2ySpgHwjKHwZYr+1xHp6tChCt1gWi=mJ+g@mail.gmail.com>
@ 2019-01-16  0:10       ` Michael Ellerman
  1 sibling, 0 replies; 19+ messages in thread
From: Michael Ellerman @ 2019-01-16  0:10 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Rich Felker, linux-ia64, Linux-sh list, Catalin Marinas,
	Heiko Carstens, Dominik Brodowski, linux-mips, Max Filippov,
	Deepa Dinamani, H. Peter Anvin, sparclinux, linux-s390,
	Davidlohr Bueso, y2038 Mailman List, Helge Deller,
	the arch/x86 maintainers, Russell King - ARM Linux, Ingo Molnar,
	Geert Uytterhoeven, Firoz Khan, Matt Turner, Fenghua Yu,
	Will Deacon

Arnd Bergmann <arnd@arndb.de> writes:
> On Mon, Jan 14, 2019 at 4:59 AM Michael Ellerman <mpe@ellerman.id.au> wrote:
>> Arnd Bergmann <arnd@arndb.de> writes:
>> >  arch/m68k/kernel/syscalls/syscall.tbl     | 11 +++++++++++
>> >  arch/mips/kernel/syscalls/syscall_o32.tbl | 11 +++++++++++
>> >  arch/powerpc/kernel/syscalls/syscall.tbl  | 12 ++++++++++++
>>
>> I have some changes I'd like to make to our syscall table that will
>> clash with this.
>>
>> I'll try and send them today.
>
> Ok. Are those for 5.0 or 5.1? If they are intended for 5.0, it would be
> nice for me to have a branch based on 5.0-rc1 that I can put
> the other patches on top of.

For 5.1.

I can put them in a topic branch for you.

>> > diff --git a/arch/powerpc/kernel/syscalls/syscall.tbl b/arch/powerpc/kernel/syscalls/syscall.tbl
>> > index db3bbb8744af..1bffab54ff35 100644
>> > --- a/arch/powerpc/kernel/syscalls/syscall.tbl
>> > +++ b/arch/powerpc/kernel/syscalls/syscall.tbl
>> > @@ -425,3 +425,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
>>
>> We already have a gap at 366-377 from when we tried to add the split IPC
>> calls a few years back.
>>
>> I guess I don't mind leaving that gap and using the common numbers as
>> you've done here.
>>
>> But it would be good to add a comment pointing out that we have room
>> at 366 for more arch specific syscalls as well.
>
> Ah, I missed that. I've added this to my patch now:
>
> index 5c0936d862fc..2ddfba536d5f 100644
> --- a/arch/powerpc/kernel/syscalls/syscall.tbl
> +++ b/arch/powerpc/kernel/syscalls/syscall.tbl
> @@ -460,6 +460,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

Thanks.

cheers

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2019-01-16  0:10 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20190110162435.309262-1-arnd@arndb.de>
2019-01-10 16:24 ` [PATCH 01/15] ia64: add __NR_umount2 definition Arnd Bergmann
2019-01-10 16:24 ` [PATCH 02/15] ia64: add statx and io_pgetevents syscalls Arnd Bergmann
2019-01-10 16:24 ` [PATCH 03/15] ia64: assign syscall numbers for perf and seccomp Arnd Bergmann
2019-01-10 16:24 ` [PATCH 06/15] ARM: add migrate_pages() system call Arnd Bergmann
2019-01-10 16:24 ` [PATCH 11/15] mips: fix n32 compat_ipc_parse_version Arnd Bergmann
2019-01-10 19:39   ` Paul Burton
2019-01-10 23:04     ` Arnd Bergmann
2019-01-11 19:25   ` Paul Burton
     [not found] ` <CAMuHMdXYP3=TRHYqddVRfbRRaj_Ou=wfoX6ohKM7XNAx-c2RXw@mail.gmail.com>
2019-01-10 17:06   ` [PATCH 00/15] arch: synchronize syscall tables in preparation for y2038 Arnd Bergmann
2019-01-10 18:11     ` Geert Uytterhoeven
     [not found]       ` <CAK8P3a07yNiadLCJcA0Tyfo90YeQ0P2XF-wOEy9XAb8cDTFObw@mail.gmail.com>
2019-01-11  8:07         ` Geert Uytterhoeven
2019-01-10 18:10 ` Joseph Myers
     [not found]   ` <CAK8P3a2f4SCJXrm6HWO9UKY-akSW+ONNpOvQOtYbia_fRo9ciQ@mail.gmail.com>
2019-01-10 23:14     ` Michael Cree
     [not found] ` <20190110162435.309262-15-arnd@arndb.de>
2019-01-14  3:40   ` [PATCH 14/15] arch: add split IPC system calls where needed Michael Ellerman
     [not found]   ` <87pnsz28k2.fsf@concordia.ellerman.id.au>
2019-01-15 15:01     ` Arnd Bergmann
     [not found]       ` <CAK8P3a3eUzGDrJtV2ySpgHwjKHwZYr+1xHp6tChCt1gWi=mJ+g@mail.gmail.com>
2019-01-15 16:35         ` Geert Uytterhoeven
2019-01-16  0:09         ` Michael Ellerman
2019-01-16  0:10       ` Michael Ellerman
     [not found] ` <20190110162435.309262-16-arnd@arndb.de>
     [not found]   ` <20190115115229.mcrmmpwdmjxf2cra@e5254000004ec.dyn.armlinux.org.uk>
2019-01-15 14:47     ` [PATCH 15/15] arch: add pkey and rseq syscall numbers everywhere Arnd Bergmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox