linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Lutomirski <luto@kernel.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Andy Lutomirski <luto@kernel.org>,
	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>,
	Russell King <linux@armlinux.org.uk>,
	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: Fri, 18 Jan 2019 11:53:25 -0800	[thread overview]
Message-ID: <CALCETrWPj6dHEyo=AELoVjXGsiwuSpRp17x3CEWBHvp7i3cy+Q@mail.gmail.com> (raw)
In-Reply-To: <CAK8P3a0V+xboaGAF2nqrYtpjXXA7y0LcvCKi4ngLTus1D_XZBA@mail.gmail.com>

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?

--Andy

  reply	other threads:[~2019-01-18 19:53 UTC|newest]

Thread overview: 64+ 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 ` [PATCH v2 01/29] ia64: add __NR_umount2 definition 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 ` [PATCH v2 03/29] ia64: assign syscall numbers for perf and seccomp 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 ` [PATCH v2 05/29] alpha: update syscall macro definitions Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 06/29] ARM: add migrate_pages() system call Arnd Bergmann
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-25 15:43   ` Catalin Marinas
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-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 ` [PATCH v2 10/29] sh: add statx system call Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 11/29] sparc64: fix sparc_ipc type conversion 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 ` [PATCH v2 13/29] arch: add split IPC system calls where needed Arnd Bergmann
2019-01-18 17:18   ` Gabriel Paubert
2019-01-18 19:30     ` Arnd Bergmann
2019-01-21  8:55   ` Geert Uytterhoeven
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-21  8:55   ` Geert Uytterhoeven
2019-01-21 20:28     ` Arnd Bergmann
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 ` [PATCH v2 16/29] alpha: add generic get{eg,eu,g,p,u,pp}id() syscalls Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 17/29] syscalls: remove obsolete __IGNORE_ macros Arnd Bergmann
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 ` [PATCH v2 19/29] time: Add struct __kernel_timex Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 20/29] time: fix sys_timer_settime prototype 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 ` [PATCH v2 22/29] timex: use __kernel_timex internally 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 ` [PATCH v2 24/29] x86/x32: use time64 versions of sigtimedwait and recvmmsg Arnd Bergmann
2019-01-18 16:18 ` [PATCH v2 25/29] y2038: syscalls: rename y2038 compat syscalls Arnd Bergmann
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-21  8:07   ` 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 ` [PATCH v2 28/29] y2038: rename old time and utime syscalls Arnd Bergmann
2019-01-21  8:56   ` Geert Uytterhoeven
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 18:50   ` Andy Lutomirski
2019-01-18 19:33     ` Arnd Bergmann
2019-01-18 19:53       ` Andy Lutomirski [this message]
2019-01-18 20:44         ` Arnd Bergmann
2019-01-19 14:28         ` Russell King - ARM Linux admin
2019-01-21  8:19           ` Geert Uytterhoeven
2019-01-21 17:08             ` 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 12:19   ` Heiko Carstens
2019-01-21 16:31   ` Arnd Bergmann
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 17:14   ` Arnd Bergmann
2019-01-18 17:19     ` Dennis Clarke
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='CALCETrWPj6dHEyo=AELoVjXGsiwuSpRp17x3CEWBHvp7i3cy+Q@mail.gmail.com' \
    --to=luto@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=benh@kernel.crashing.org \
    --cc=catalin.marinas@arm.com \
    --cc=dalias@libc.org \
    --cc=davem@davemloft.net \
    --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=linuxppc-dev@lists.ozlabs.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).