[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190110172216.313063-1-arnd@arndb.de>
Date: Thu, 10 Jan 2019 18:22:05 +0100
From: Arnd Bergmann <arnd@...db.de>
To: y2038@...ts.linaro.org, linux-api@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: Arnd Bergmann <arnd@...db.de>, mattst88@...il.com,
linux@...linux.org.uk, catalin.marinas@....com,
will.deacon@....com, tony.luck@...el.com, fenghua.yu@...el.com,
geert@...ux-m68k.org, monstr@...str.eu, paul.burton@...s.com,
deller@....de, benh@...nel.crashing.org, mpe@...erman.id.au,
schwidefsky@...ibm.com, heiko.carstens@...ibm.com, dalias@...c.org,
davem@...emloft.net, luto@...nel.org, tglx@...utronix.de,
mingo@...hat.com, hpa@...or.com, x86@...nel.org,
jcmvbkbc@...il.com, akpm@...ux-foundation.org,
deepa.kernel@...il.com, ebiederm@...ssion.com,
firoz.khan@...aro.org, linux-alpha@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-ia64@...r.kernel.org,
linux-m68k@...ts.linux-m68k.org, linux-mips@...r.kernel.org,
linux-parisc@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
linux-s390@...r.kernel.org, linux-sh@...r.kernel.org,
sparclinux@...r.kernel.org, netdev@...r.kernel.org,
linux-fsdevel@...r.kernel.org, linux-arch@...r.kernel.org
Subject: [PATCH 00/11] y2038: add time64 syscalls
This series finally gets us to the point of having system calls with
64-bit time_t on all architectures, after a long time of incremental
preparation patches.
There was actually one conversion that I missed during the summer,
i.e. Deepa's timex series, which I now updated based the 5.0-rc1 changes
and review comments.
I hope that the actual conversion should be uncontroversial by now,
even if some of the patches are rather large.
The one area that may need a little discussion is for the system call
numbers assigned in the final patch: Can we get consensus on whether
the idea of using the same numbers on all architectures, as well as my
choice of numbers makes sense here?
So far, I have done a lot of build testing across most architectures,
which has found a number of bugs. I have also done an LTP run on arm32
with existing user space, but not on the other architectures. I did LTP
tests with a modified musl libc[2] last summer on an older version of
this series to make sure that the new 64-bit time_t interfaces work.
The version there will need updates for testing with this new kernel
patch series; I plan to do that next.
For testing, the series plus the preparatory patches is available at
[3]. Once there is a general agreement on this series and I have done
more tests for the new system calls, I plan to add this to linux-next
through my asm-generic tree or Thomas' timers tree.
Please review and test!
Arnd
[1] https://lore.kernel.org/lkml/20190110162435.309262-1-arnd@arndb.de/T/
[2] https://git.linaro.org/people/arnd/musl-y2038.git/
[3] https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git y2038-5.0-rc1
Arnd Bergmann (8):
time: make adjtime compat handling available for 32 bit
time: fix sys_timer_settime prototype
sparc64: add custom adjtimex/clock_adjtime functions
y2038: syscalls: rename y2038 compat syscalls
y2038: use time32 syscall names on 32-bit
y2038: remove struct definition redirects
y2038: rename old time and utime syscalls
y2038: add 64-bit time_t syscalls to all 32-bit architectures
Deepa Dinamani (3):
time: Add struct __kernel_timex
timex: use __kernel_timex internally
timex: change syscalls to use struct __kernel_timex
arch/Kconfig | 2 +-
arch/alpha/kernel/osf_sys.c | 5 +-
arch/alpha/kernel/syscalls/syscall.tbl | 2 +
arch/arm/include/asm/unistd.h | 4 +-
arch/arm/kernel/sys_oabi-compat.c | 8 +-
arch/arm/tools/syscall.tbl | 77 ++++++++-----
arch/arm64/include/asm/unistd.h | 2 +-
arch/arm64/include/asm/unistd32.h | 89 ++++++++++----
arch/ia64/kernel/syscalls/syscall.tbl | 1 +
arch/m68k/include/asm/unistd.h | 4 +-
arch/m68k/kernel/syscalls/syscall.tbl | 72 +++++++-----
arch/microblaze/include/asm/unistd.h | 4 +-
arch/microblaze/kernel/syscalls/syscall.tbl | 77 ++++++++-----
arch/mips/include/asm/unistd.h | 4 +-
arch/mips/kernel/syscalls/syscall_n32.tbl | 71 ++++++++----
arch/mips/kernel/syscalls/syscall_n64.tbl | 1 +
arch/mips/kernel/syscalls/syscall_o32.tbl | 74 +++++++-----
arch/parisc/include/asm/unistd.h | 9 +-
arch/parisc/kernel/syscalls/syscall.tbl | 105 ++++++++++++-----
arch/powerpc/include/asm/unistd.h | 8 +-
arch/powerpc/kernel/syscalls/syscall.tbl | 121 +++++++++++++++-----
arch/s390/include/asm/unistd.h | 2 +-
arch/s390/kernel/syscalls/syscall.tbl | 72 +++++++-----
arch/sh/include/asm/unistd.h | 4 +-
arch/sh/kernel/syscalls/syscall.tbl | 72 +++++++-----
arch/sparc/include/asm/unistd.h | 8 +-
arch/sparc/kernel/sys_sparc_64.c | 59 +++++++++-
arch/sparc/kernel/syscalls/syscall.tbl | 100 +++++++++++-----
arch/x86/entry/syscalls/syscall_32.tbl | 74 +++++++-----
arch/x86/entry/syscalls/syscall_64.tbl | 4 +-
arch/x86/include/asm/unistd.h | 8 +-
arch/xtensa/include/asm/unistd.h | 2 +-
arch/xtensa/kernel/syscalls/syscall.tbl | 71 ++++++++----
drivers/ptp/ptp_clock.c | 2 +-
fs/aio.c | 10 +-
fs/select.c | 4 +-
fs/timerfd.c | 4 +-
fs/utimes.c | 10 +-
include/linux/compat.h | 104 +----------------
include/linux/posix-clock.h | 2 +-
include/linux/syscalls.h | 65 ++++++++++-
include/linux/time32.h | 32 +++++-
include/linux/time64.h | 8 --
include/linux/timex.h | 4 +-
include/uapi/asm-generic/unistd.h | 103 ++++++++++++-----
include/uapi/linux/time.h | 4 -
include/uapi/linux/timex.h | 39 +++++++
ipc/mqueue.c | 16 +--
ipc/sem.c | 2 +-
kernel/compat.c | 64 -----------
kernel/futex.c | 2 +-
kernel/sched/core.c | 5 +-
kernel/signal.c | 2 +-
kernel/sys_ni.c | 18 +--
kernel/time/hrtimer.c | 2 +-
kernel/time/ntp.c | 18 +--
kernel/time/ntp_internal.h | 2 +-
kernel/time/posix-clock.c | 2 +-
kernel/time/posix-stubs.c | 25 ++--
kernel/time/posix-timers.c | 72 ++++++------
kernel/time/posix-timers.h | 2 +-
kernel/time/time.c | 92 ++++++++++++---
kernel/time/timekeeping.c | 4 +-
net/compat.c | 2 +-
scripts/checksyscalls.sh | 40 +++++++
65 files changed, 1264 insertions(+), 713 deletions(-)
--
2.20.0
Cc: mattst88@...il.com
Cc: linux@...linux.org.uk
Cc: catalin.marinas@....com
Cc: will.deacon@....com
Cc: tony.luck@...el.com
Cc: fenghua.yu@...el.com
Cc: geert@...ux-m68k.org
Cc: monstr@...str.eu
Cc: paul.burton@...s.com
Cc: deller@....de
Cc: benh@...nel.crashing.org
Cc: mpe@...erman.id.au
Cc: schwidefsky@...ibm.com
Cc: heiko.carstens@...ibm.com
Cc: dalias@...c.org
Cc: davem@...emloft.net
Cc: luto@...nel.org
Cc: tglx@...utronix.de
Cc: mingo@...hat.com
Cc: hpa@...or.com
Cc: x86@...nel.org
Cc: jcmvbkbc@...il.com
Cc: arnd@...db.de
Cc: akpm@...ux-foundation.org
Cc: deepa.kernel@...il.com
Cc: ebiederm@...ssion.com
Cc: firoz.khan@...aro.org
Cc: linux-kernel@...r.kernel.org
Cc: linux-alpha@...r.kernel.org
Cc: linux-arm-kernel@...ts.infradead.org
Cc: linux-ia64@...r.kernel.org
Cc: linux-m68k@...ts.linux-m68k.org
Cc: linux-mips@...r.kernel.org
Cc: linux-parisc@...r.kernel.org
Cc: linuxppc-dev@...ts.ozlabs.org
Cc: linux-s390@...r.kernel.org
Cc: linux-sh@...r.kernel.org
Cc: sparclinux@...r.kernel.org
Cc: netdev@...r.kernel.org
Cc: linux-fsdevel@...r.kernel.org
Cc: linux-api@...r.kernel.org
Cc: linux-arch@...r.kernel.org
Powered by blists - more mailing lists