All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: Andy Lutomirski <luto@kernel.org>
Cc: Rich Felker <dalias@libc.org>,
	linux-ia64@vger.kernel.org,
	Linux-sh list <linux-sh@vger.kernel.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Will Deacon <will.deacon@arm.com>,
	linux-mips@vger.kernel.org, Max Filippov <jcmvbkbc@gmail.com>,
	Network Development <netdev@vger.kernel.org>,
	Deepa Dinamani <deepa.kernel@gmail.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	sparclinux <sparclinux@vger.kernel.org>,
	linux-arch <linux-arch@vger.kernel.org>,
	linux-s390 <linux-s390@vger.kernel.org>,
	y2038 Mailman List <y2038@lists.linaro.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Helge Deller <deller@gmx.de>, X86 ML <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Firoz Khan <firoz.khan@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Fenghua Yu <fenghua.yu@intel.com>, Arnd Bergmann <arnd@arnd>
Subject: Re: [PATCH v2 29/29] y2038: add 64-bit time_t syscalls to all 32-bit architectures
Date: Sat, 19 Jan 2019 14:28:52 +0000	[thread overview]
Message-ID: <20190119142852.cntdihah4mpa3lgx@e5254000004ec.dyn.armlinux.org.uk> (raw)
In-Reply-To: <CALCETrWPj6dHEyo=AELoVjXGsiwuSpRp17x3CEWBHvp7i3cy+Q@mail.gmail.com>

On Fri, Jan 18, 2019 at 11:53:25AM -0800, Andy Lutomirski wrote:
> On Fri, Jan 18, 2019 at 11:33 AM Arnd Bergmann <arnd@arndb.de> wrote:
> >
> > On Fri, Jan 18, 2019 at 7:50 PM Andy Lutomirski <luto@kernel.org> wrote:
> > > On Fri, Jan 18, 2019 at 8:25 AM Arnd Bergmann <arnd@arndb.de> wrote:
> > > > - Once we get to 512, we clash with the x32 numbers (unless
> > > >   we remove x32 support first), and probably have to skip
> > > >   a few more. I also considered using the 512..547 space
> > > >   for 32-bit-only calls (which never clash with x32), but
> > > >   that also seems to add a bit of complexity.
> > >
> > > I have a patch that I'll send soon to make x32 use its own table.  As
> > > far as I'm concerned, 547 is *it*.  548 is just a normal number and is
> > > not special.  But let's please not reuse 512..547 for other purposes
> > > on x86 variants -- that way lies even more confusion, IMO.
> >
> > Fair enough, the space for those numbers is cheap enough here.
> > I take it you mean we also should not reuse that number space if
> > we were to decide to remove x32 soon, but you are not worried
> > about clashing with arch/alpha when everything else uses consistent
> > numbers?
> >
> 
> I think we have two issues if we reuse those numbers for new syscalls.
> First, I'd really like to see new syscalls be numbered consistently
> everywhere, or at least on all x86 variants, and we can't on x32
> because they mean something else.  Perhaps more importantly, due to
> what is arguably a rather severe bug, issuing a native x86_64 syscall
> (x32 bit clear) with nr in the range 512..547 does *not* return
> -ENOSYS on a kernel with x32 enabled.  Instead it does something that
> is somewhat arbitrary.  With my patch applied, it will return -ENOSYS,
> but old kernels will still exist, and this will break syscall probing.
> 
> Can we perhaps just start the consistent numbers above 547 or maybe
> block out 512..547 in the new regime?

I don't think you gain much with that kind of scheme - it won't take
very long before an architecture misses having a syscall added, and
then someone else adds their own.  Been there with ARM - I was keeping
the syscall table in the same order as x86 for new syscalls, but now
that others have been adding syscalls to the table since I converted
ARM to the tabular form, that's now gone out the window.

So, I think it's completely pointless to do what you're suggesting.
We'll just end up with a big hole in the middle of the syscall table
and then revert back to random numbering of syscalls thereafter again.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up

WARNING: multiple messages have this Message-ID (diff)
From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: Andy Lutomirski <luto@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>,
	y2038 Mailman List <y2038@lists.linaro.org>,
	Linux API <linux-api@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	linux-arch <linux-arch@vger.kernel.org>,
	Matt Turner <mattst88@gmail.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	Tony Luck <tony.luck@intel.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Michal Simek <monstr@monstr.eu>,
	Paul Burton <paul.burton@mips.com>, Helge Deller <deller@gmx.de>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Rich Felker <dalias@libc.org>,
	"David S. Miller" <davem@davemloft.net>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	X86 ML <x86@kernel.org>, Max Filippov <jcmvbkbc@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Deepa Dinamani <deepa.kernel@gmail.com>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Firoz Khan <firoz.khan@linaro.org>,
	alpha <linux-alpha@vger.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	linux-ia64@vger.kernel.org,
	linux-m68k <linux-m68k@lists.linux-m68k.org>,
	linux-mips@vger.kernel.org,
	Parisc List <linux-parisc@vger.kernel.org>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	linux-s390 <linux-s390@vger.kernel.org>,
	Linux-sh list <linux-sh@vger.kernel.org>,
	sparclinux <sparclinux@vger.kernel.org>,
	Network Development <netdev@vger.kernel.org>,
	Linux FS Devel <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH v2 29/29] y2038: add 64-bit time_t syscalls to all 32-bit architectures
Date: Sat, 19 Jan 2019 14:28:52 +0000	[thread overview]
Message-ID: <20190119142852.cntdihah4mpa3lgx@e5254000004ec.dyn.armlinux.org.uk> (raw)
In-Reply-To: <CALCETrWPj6dHEyo=AELoVjXGsiwuSpRp17x3CEWBHvp7i3cy+Q@mail.gmail.com>

On Fri, Jan 18, 2019 at 11:53:25AM -0800, Andy Lutomirski wrote:
> On Fri, Jan 18, 2019 at 11:33 AM Arnd Bergmann <arnd@arndb.de> wrote:
> >
> > On Fri, Jan 18, 2019 at 7:50 PM Andy Lutomirski <luto@kernel.org> wrote:
> > > On Fri, Jan 18, 2019 at 8:25 AM Arnd Bergmann <arnd@arndb.de> wrote:
> > > > - Once we get to 512, we clash with the x32 numbers (unless
> > > >   we remove x32 support first), and probably have to skip
> > > >   a few more. I also considered using the 512..547 space
> > > >   for 32-bit-only calls (which never clash with x32), but
> > > >   that also seems to add a bit of complexity.
> > >
> > > I have a patch that I'll send soon to make x32 use its own table.  As
> > > far as I'm concerned, 547 is *it*.  548 is just a normal number and is
> > > not special.  But let's please not reuse 512..547 for other purposes
> > > on x86 variants -- that way lies even more confusion, IMO.
> >
> > Fair enough, the space for those numbers is cheap enough here.
> > I take it you mean we also should not reuse that number space if
> > we were to decide to remove x32 soon, but you are not worried
> > about clashing with arch/alpha when everything else uses consistent
> > numbers?
> >
> 
> I think we have two issues if we reuse those numbers for new syscalls.
> First, I'd really like to see new syscalls be numbered consistently
> everywhere, or at least on all x86 variants, and we can't on x32
> because they mean something else.  Perhaps more importantly, due to
> what is arguably a rather severe bug, issuing a native x86_64 syscall
> (x32 bit clear) with nr in the range 512..547 does *not* return
> -ENOSYS on a kernel with x32 enabled.  Instead it does something that
> is somewhat arbitrary.  With my patch applied, it will return -ENOSYS,
> but old kernels will still exist, and this will break syscall probing.
> 
> Can we perhaps just start the consistent numbers above 547 or maybe
> block out 512..547 in the new regime?

I don't think you gain much with that kind of scheme - it won't take
very long before an architecture misses having a syscall added, and
then someone else adds their own.  Been there with ARM - I was keeping
the syscall table in the same order as x86 for new syscalls, but now
that others have been adding syscalls to the table since I converted
ARM to the tabular form, that's now gone out the window.

So, I think it's completely pointless to do what you're suggesting.
We'll just end up with a big hole in the middle of the syscall table
and then revert back to random numbering of syscalls thereafter again.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up

WARNING: multiple messages have this Message-ID (diff)
From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: Andy Lutomirski <luto@kernel.org>
Cc: Rich Felker <dalias@libc.org>,
	linux-ia64@vger.kernel.org,
	Linux-sh list <linux-sh@vger.kernel.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Will Deacon <will.deacon@arm.com>,
	linux-mips@vger.kernel.org, Max Filippov <jcmvbkbc@gmail.com>,
	Network Development <netdev@vger.kernel.org>,
	Deepa Dinamani <deepa.kernel@gmail.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	sparclinux <sparclinux@vger.kernel.org>,
	linux-arch <linux-arch@vger.kernel.org>,
	linux-s390 <linux-s390@vger.kernel.org>,
	y2038 Mailman List <y2038@lists.linaro.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Helge Deller <deller@gmx.de>, X86 ML <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Firoz Khan <firoz.khan@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Fenghua Yu <fenghua.yu@intel.com>, Arnd Bergmann <arnd@arnd>
Subject: Re: [PATCH v2 29/29] y2038: add 64-bit time_t syscalls to all 32-bit architectures
Date: Sat, 19 Jan 2019 14:28:52 +0000	[thread overview]
Message-ID: <20190119142852.cntdihah4mpa3lgx@e5254000004ec.dyn.armlinux.org.uk> (raw)
In-Reply-To: <CALCETrWPj6dHEyo=AELoVjXGsiwuSpRp17x3CEWBHvp7i3cy+Q@mail.gmail.com>

On Fri, Jan 18, 2019 at 11:53:25AM -0800, Andy Lutomirski wrote:
> On Fri, Jan 18, 2019 at 11:33 AM Arnd Bergmann <arnd@arndb.de> wrote:
> >
> > On Fri, Jan 18, 2019 at 7:50 PM Andy Lutomirski <luto@kernel.org> wrote:
> > > On Fri, Jan 18, 2019 at 8:25 AM Arnd Bergmann <arnd@arndb.de> wrote:
> > > > - Once we get to 512, we clash with the x32 numbers (unless
> > > >   we remove x32 support first), and probably have to skip
> > > >   a few more. I also considered using the 512..547 space
> > > >   for 32-bit-only calls (which never clash with x32), but
> > > >   that also seems to add a bit of complexity.
> > >
> > > I have a patch that I'll send soon to make x32 use its own table.  As
> > > far as I'm concerned, 547 is *it*.  548 is just a normal number and is
> > > not special.  But let's please not reuse 512..547 for other purposes
> > > on x86 variants -- that way lies even more confusion, IMO.
> >
> > Fair enough, the space for those numbers is cheap enough here.
> > I take it you mean we also should not reuse that number space if
> > we were to decide to remove x32 soon, but you are not worried
> > about clashing with arch/alpha when everything else uses consistent
> > numbers?
> >
> 
> I think we have two issues if we reuse those numbers for new syscalls.
> First, I'd really like to see new syscalls be numbered consistently
> everywhere, or at least on all x86 variants, and we can't on x32
> because they mean something else.  Perhaps more importantly, due to
> what is arguably a rather severe bug, issuing a native x86_64 syscall
> (x32 bit clear) with nr in the range 512..547 does *not* return
> -ENOSYS on a kernel with x32 enabled.  Instead it does something that
> is somewhat arbitrary.  With my patch applied, it will return -ENOSYS,
> but old kernels will still exist, and this will break syscall probing.
> 
> Can we perhaps just start the consistent numbers above 547 or maybe
> block out 512..547 in the new regime?

I don't think you gain much with that kind of scheme - it won't take
very long before an architecture misses having a syscall added, and
then someone else adds their own.  Been there with ARM - I was keeping
the syscall table in the same order as x86 for new syscalls, but now
that others have been adding syscalls to the table since I converted
ARM to the tabular form, that's now gone out the window.

So, I think it's completely pointless to do what you're suggesting.
We'll just end up with a big hole in the middle of the syscall table
and then revert back to random numbering of syscalls thereafter again.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up
_______________________________________________
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038

WARNING: multiple messages have this Message-ID (diff)
From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: Andy Lutomirski <luto@kernel.org>
Cc: Rich Felker <dalias@libc.org>,
	linux-ia64@vger.kernel.org,
	Linux-sh list <linux-sh@vger.kernel.org>,
	Will Deacon <will.deacon@arm.com>,
	linux-mips@vger.kernel.org, Max Filippov <jcmvbkbc@gmail.com>,
	Network Development <netdev@vger.kernel.org>,
	Deepa Dinamani <deepa.kernel@gmail.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	sparclinux <sparclinux@vger.kernel.org>,
	linux-arch <linux-arch@vger.kernel.org>,
	linux-s390 <linux-s390@vger.kernel.org>,
	y2038 Mailman List <y2038@lists.linaro.org>,
	Helge Deller <deller@gmx.de>, X86 ML <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Firoz Khan <firoz.khan@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Fenghua Yu <fenghua.yu@intel.com>, Arnd Bergmann <arnd@arndb.de>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Linux FS Devel <linux-fsdevel@vger.kernel.org>,
	linux-m68k <linux-m68k@lists.linux-m68k.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	Michal Simek <monstr@monstr.eu>, Tony Luck <tony.luck@intel.com>,
	Parisc List <linux-parisc@vger.kernel.org>,
	Linux API <linux-api@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Paul Burton <paul.burton@mips.com>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	alpha <linux-alpha@vger.kernel.org>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH v2 29/29] y2038: add 64-bit time_t syscalls to all 32-bit architectures
Date: Sat, 19 Jan 2019 14:28:52 +0000	[thread overview]
Message-ID: <20190119142852.cntdihah4mpa3lgx@e5254000004ec.dyn.armlinux.org.uk> (raw)
In-Reply-To: <CALCETrWPj6dHEyo=AELoVjXGsiwuSpRp17x3CEWBHvp7i3cy+Q@mail.gmail.com>

On Fri, Jan 18, 2019 at 11:53:25AM -0800, Andy Lutomirski wrote:
> On Fri, Jan 18, 2019 at 11:33 AM Arnd Bergmann <arnd@arndb.de> wrote:
> >
> > On Fri, Jan 18, 2019 at 7:50 PM Andy Lutomirski <luto@kernel.org> wrote:
> > > On Fri, Jan 18, 2019 at 8:25 AM Arnd Bergmann <arnd@arndb.de> wrote:
> > > > - Once we get to 512, we clash with the x32 numbers (unless
> > > >   we remove x32 support first), and probably have to skip
> > > >   a few more. I also considered using the 512..547 space
> > > >   for 32-bit-only calls (which never clash with x32), but
> > > >   that also seems to add a bit of complexity.
> > >
> > > I have a patch that I'll send soon to make x32 use its own table.  As
> > > far as I'm concerned, 547 is *it*.  548 is just a normal number and is
> > > not special.  But let's please not reuse 512..547 for other purposes
> > > on x86 variants -- that way lies even more confusion, IMO.
> >
> > Fair enough, the space for those numbers is cheap enough here.
> > I take it you mean we also should not reuse that number space if
> > we were to decide to remove x32 soon, but you are not worried
> > about clashing with arch/alpha when everything else uses consistent
> > numbers?
> >
> 
> I think we have two issues if we reuse those numbers for new syscalls.
> First, I'd really like to see new syscalls be numbered consistently
> everywhere, or at least on all x86 variants, and we can't on x32
> because they mean something else.  Perhaps more importantly, due to
> what is arguably a rather severe bug, issuing a native x86_64 syscall
> (x32 bit clear) with nr in the range 512..547 does *not* return
> -ENOSYS on a kernel with x32 enabled.  Instead it does something that
> is somewhat arbitrary.  With my patch applied, it will return -ENOSYS,
> but old kernels will still exist, and this will break syscall probing.
> 
> Can we perhaps just start the consistent numbers above 547 or maybe
> block out 512..547 in the new regime?

I don't think you gain much with that kind of scheme - it won't take
very long before an architecture misses having a syscall added, and
then someone else adds their own.  Been there with ARM - I was keeping
the syscall table in the same order as x86 for new syscalls, but now
that others have been adding syscalls to the table since I converted
ARM to the tabular form, that's now gone out the window.

So, I think it's completely pointless to do what you're suggesting.
We'll just end up with a big hole in the middle of the syscall table
and then revert back to random numbering of syscalls thereafter again.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up

WARNING: multiple messages have this Message-ID (diff)
From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: Andy Lutomirski <luto@kernel.org>
Cc: Rich Felker <dalias@libc.org>,
	linux-ia64@vger.kernel.org,
	Linux-sh list <linux-sh@vger.kernel.org>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Will Deacon <will.deacon@arm.com>,
	linux-mips@vger.kernel.org, Max Filippov <jcmvbkbc@gmail.com>,
	Network Development <netdev@vger.kernel.org>,
	Deepa Dinamani <deepa.kernel@gmail.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	sparclinux <sparclinux@vger.kernel.org>,
	linux-arch <linux-arch@vger.kernel.org>,
	linux-s390 <linux-s390@vger.kernel.org>,
	y2038 Mailman List <y2038@lists.linaro.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Helge Deller <deller@gmx.de>, X86 ML <x86@kernel.org>,
	Ingo Molnar <mingo@redhat.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Firoz Khan <firoz.khan@linaro.org>,
	Matt Turner <mattst88@gmail.com>,
	Fenghua Yu <fenghua.yu@intel.com>, Arnd Bergmann <arnd@arndb.de>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Linux FS Devel <linux-fsdevel@vger.kernel.org>,
	linux-m68k <linux-m68k@lists.linux-m68k.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	Michal Simek <monstr@monstr.eu>, Tony Luck <tony.luck@intel.com>,
	Parisc List <linux-parisc@vger.kernel.org>,
	Linux API <linux-api@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Paul Burton <paul.burton@mips.com>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	alpha <linux-alpha@vger.kernel.org>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH v2 29/29] y2038: add 64-bit time_t syscalls to all 32-bit architectures
Date: Sat, 19 Jan 2019 14:28:52 +0000	[thread overview]
Message-ID: <20190119142852.cntdihah4mpa3lgx@e5254000004ec.dyn.armlinux.org.uk> (raw)
In-Reply-To: <CALCETrWPj6dHEyo=AELoVjXGsiwuSpRp17x3CEWBHvp7i3cy+Q@mail.gmail.com>

On Fri, Jan 18, 2019 at 11:53:25AM -0800, Andy Lutomirski wrote:
> On Fri, Jan 18, 2019 at 11:33 AM Arnd Bergmann <arnd@arndb.de> wrote:
> >
> > On Fri, Jan 18, 2019 at 7:50 PM Andy Lutomirski <luto@kernel.org> wrote:
> > > On Fri, Jan 18, 2019 at 8:25 AM Arnd Bergmann <arnd@arndb.de> wrote:
> > > > - Once we get to 512, we clash with the x32 numbers (unless
> > > >   we remove x32 support first), and probably have to skip
> > > >   a few more. I also considered using the 512..547 space
> > > >   for 32-bit-only calls (which never clash with x32), but
> > > >   that also seems to add a bit of complexity.
> > >
> > > I have a patch that I'll send soon to make x32 use its own table.  As
> > > far as I'm concerned, 547 is *it*.  548 is just a normal number and is
> > > not special.  But let's please not reuse 512..547 for other purposes
> > > on x86 variants -- that way lies even more confusion, IMO.
> >
> > Fair enough, the space for those numbers is cheap enough here.
> > I take it you mean we also should not reuse that number space if
> > we were to decide to remove x32 soon, but you are not worried
> > about clashing with arch/alpha when everything else uses consistent
> > numbers?
> >
> 
> I think we have two issues if we reuse those numbers for new syscalls.
> First, I'd really like to see new syscalls be numbered consistently
> everywhere, or at least on all x86 variants, and we can't on x32
> because they mean something else.  Perhaps more importantly, due to
> what is arguably a rather severe bug, issuing a native x86_64 syscall
> (x32 bit clear) with nr in the range 512..547 does *not* return
> -ENOSYS on a kernel with x32 enabled.  Instead it does something that
> is somewhat arbitrary.  With my patch applied, it will return -ENOSYS,
> but old kernels will still exist, and this will break syscall probing.
> 
> Can we perhaps just start the consistent numbers above 547 or maybe
> block out 512..547 in the new regime?

I don't think you gain much with that kind of scheme - it won't take
very long before an architecture misses having a syscall added, and
then someone else adds their own.  Been there with ARM - I was keeping
the syscall table in the same order as x86 for new syscalls, but now
that others have been adding syscalls to the table since I converted
ARM to the tabular form, that's now gone out the window.

So, I think it's completely pointless to do what you're suggesting.
We'll just end up with a big hole in the middle of the syscall table
and then revert back to random numbering of syscalls thereafter again.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2019-01-19 14:28 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 ` [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 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 [this message]
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=20190119142852.cntdihah4mpa3lgx@e5254000004ec.dyn.armlinux.org.uk \
    --to=linux@armlinux.org.uk \
    --cc=arnd@arnd \
    --cc=benh@kernel.crashing.org \
    --cc=catalin.marinas@arm.com \
    --cc=dalias@libc.org \
    --cc=deepa.kernel@gmail.com \
    --cc=deller@gmx.de \
    --cc=fenghua.yu@intel.com \
    --cc=firoz.khan@linaro.org \
    --cc=geert@linux-m68k.org \
    --cc=hpa@zytor.com \
    --cc=jcmvbkbc@gmail.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mattst88@gmail.com \
    --cc=mingo@redhat.com \
    --cc=mpe@ellerman.id.au \
    --cc=netdev@vger.kernel.org \
    --cc=sparclinux@vger.kernel.org \
    --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.