linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: y2038 Mailman List <y2038@lists.linaro.org>,
	Linux API <linux-api@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-arch <linux-arch@vger.kernel.org>
Cc: Matt Turner <mattst88@gmail.com>,
	Russell King - ARM Linux <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 Miller <davem@davemloft.net>,
	Andy Lutomirski <luto@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	"the arch/x86 maintainers" <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 <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>,
	Networking <netdev@vger.kernel.org>,
	Linux FS-devel Mailing List <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH v2 29/29] y2038: add 64-bit time_t syscalls to all 32-bit architectures
Date: Mon, 21 Jan 2019 17:31:01 +0100	[thread overview]
Message-ID: <CAK8P3a2grsgvLeBHFoLnnpJti7qkZFfBPTrXf+CoihtOJKySzw@mail.gmail.com> (raw)
In-Reply-To: <20190118161835.2259170-30-arnd@arndb.de>

On Fri, Jan 18, 2019 at 5:25 PM Arnd Bergmann <arnd@arndb.de> wrote:
>
> This adds 21 new system calls on each ABI that has 32-bit time_t
> today. All of these have the exact same semantics as their existing
> counterparts, and the new ones all have macro names that end in 'time64'
> for clarification.
>
> This gets us to the point of being able to safely use a C library
> that has 64-bit time_t in user space. There are still a couple of
> loose ends to tie up in various areas of the code, but this is the
> big one, and should be entirely uncontroversial at this point.

I've successfully tested this with musl and LTP now, using an
i386 kernel. The musl port I used is at
https://git.linaro.org/people/arnd.bergmann/musl-y2038.git/
This is just an updated version of what I used for testing last
year, using the current syscall assignment, and going back
to the time32 versions of getitimer/setitimer and
wait4/waitid/getusage.

It's certainly not intended for merging like this, but a proper
musl port is under discussion now, and this should be
sufficient if anyone else wants to try out the new syscall
ABI before we merge it.

The LTP I have is heavily hacked, and has a number of
failures resulting from differences between musl and glibc,
or from the way we convert between the kernel types and
the user space types.

The testing found one minor bug in all the kernel syscall tables:

> +418    common  mq_timedsend_time64             sys_mq_timedsend
> +419    common  mq_timedreceiv_time64           sys_mq_timedreceive

While this would have fit in with umount(), creat() and mknod(),
it was unintentional, and I've changed it back to
mq_timedreceive_time64 (with an added 'e').

       Arnd

  parent reply	other threads:[~2019-01-21 16:31 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
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 [this message]
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=CAK8P3a2grsgvLeBHFoLnnpJti7qkZFfBPTrXf+CoihtOJKySzw@mail.gmail.com \
    --to=arnd@arndb.de \
    --cc=akpm@linux-foundation.org \
    --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=luto@kernel.org \
    --cc=mattst88@gmail.com \
    --cc=mingo@redhat.com \
    --cc=monstr@monstr.eu \
    --cc=mpe@ellerman.id.au \
    --cc=netdev@vger.kernel.org \
    --cc=paul.burton@mips.com \
    --cc=schwidefsky@de.ibm.com \
    --cc=sparclinux@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=will.deacon@arm.com \
    --cc=x86@kernel.org \
    --cc=y2038@lists.linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is 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).