Re: [GIT PULL] y2038: convert more syscalls

From: Arnd Bergmann
Date: Sat Sep 15 2018 - 16:36:15 EST


Resent due to missing subject

On Sat, Sep 15, 2018 at 5:47 PM Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> Hi Thomas,
>
> Please pull the system call changes into a branch of the tip tree.
> These are the ones I posted right after rc1, with the addition of
> two bug fixes that were contributed by Guenther and the kbuild test
> robot.
>
> I've had the changes in linux-next since then and not received
> any other bug reports or feedback.
>
> I panicked a little at one point when I realized that there is
> a sparc64 specific bug in some of my patches, but I then
> found that at least this series is not affected at all.
>
> Arnd
>
> The following changes since commit 5b394b2ddf0347bef56e50c69a58773c94343ff3:
>
> Linux 4.19-rc1 (2018-08-26 14:11:59 -0700)
>
> are available in the Git repository at:
>
> git+ssh://git@xxxxxxxxxxxxx:/pub/scm/linux/kernel/git/arnd/playground.git
> tags/y2038
>
> for you to fetch changes up to 67314ec7b0250290cc85eaa7a2f88a8ddb9e8547:
>
> RISC-V: Request newstat syscalls (2018-09-05 22:44:21 +0200)
>
> ----------------------------------------------------------------
> y2038: convert more syscalls
>
> Here is another set of system call changes to prepare the change over to
> 64-bit time_t. As before, the strategy is to change system calls that
> take a 'struct timespec' argument over to 'struct __kernel_timespec',
> which for now is defined to be the same but will get redefined to use a
> 64-bit time_t argument once we are ready to modify the system call tables.
>
> The major change from previous patches is that the plan is no longer
> to directly use the 'compat' system calls for providing compatibility
> with the existing 32-bit time_t based entry points. Instead, we rename
> the compat code to something that makes more sense on 32-bit architectures,
> e.g. compat_timespec becomes old_timespec32.
>
> With the renamed types in place, we change over the 'stat' and 'utimes'
> families of system calls, sched_rr_get_interval, recvmmsg and
> rt_sigtimedwait. Another series for poll, select and io_pgetevents is
> currently being tested.
>
> ----------------------------------------------------------------
> Arnd Bergmann (14):
> y2038: remove unused time interfaces
> y2038: make do_gettimeofday() and get_seconds() inline
> y2038: globally rename compat_time to old_time32
> y2038: Remove newstat family from default syscall set
> y2038: Remove stat64 family from default syscall set
> asm-generic: Move common compat types to asm-generic/compat.h
> asm-generic: Remove unneeded __ARCH_WANT_SYS_LLSEEK macro
> asm-generic: Remove empty asm/unistd.h
> y2038: Change sys_utimensat() to use __kernel_timespec
> y2038: Compile utimes()/futimesat() conditionally
> y2038: utimes: Rework #ifdef guards for compat syscalls
> y2038: sched: Change sched_rr_get_interval to use __kernel_timespec
> y2038: socket: Change recvmmsg to use __kernel_timespec
> y2038: signal: Change rt_sigtimedwait to use __kernel_timespec
>
> Guenter Roeck (1):
> RISC-V: Request newstat syscalls
>
> kbuild test robot (1):
> y2038: __get_old_timespec32() can be static
>
> arch/alpha/include/asm/unistd.h | 2 ++
> arch/arc/include/uapi/asm/unistd.h | 1 +
> arch/arm/include/asm/unistd.h | 4 ++--
> arch/arm64/include/asm/compat.h | 26 +++++---------------------
> arch/arm64/include/asm/stat.h | 2 +-
> arch/arm64/include/asm/unistd.h | 2 +-
> arch/arm64/include/uapi/asm/unistd.h | 1 +
> arch/c6x/include/uapi/asm/unistd.h | 1 +
> arch/h8300/include/uapi/asm/unistd.h | 1 +
> arch/hexagon/include/uapi/asm/unistd.h | 1 +
> arch/ia64/include/asm/unistd.h | 3 +++
> arch/m68k/include/asm/unistd.h | 2 +-
> arch/microblaze/include/asm/unistd.h | 2 +-
> arch/mips/include/asm/compat.h | 28 +++++-----------------------
> arch/mips/include/asm/unistd.h | 3 ++-
> arch/mips/kernel/binfmt_elfn32.c | 14 +++++++-------
> arch/mips/kernel/binfmt_elfo32.c | 14 +++++++-------
> arch/nds32/include/uapi/asm/unistd.h | 1 +
> arch/nios2/include/uapi/asm/unistd.h | 1 +
> arch/openrisc/include/uapi/asm/unistd.h | 1 +
> arch/parisc/include/asm/compat.h | 24 +++++-------------------
> arch/parisc/include/asm/unistd.h | 3 ++-
> arch/powerpc/include/asm/compat.h | 24 +++++-------------------
> arch/powerpc/include/asm/unistd.h | 3 ++-
> arch/powerpc/kernel/asm-offsets.c | 8 ++++----
> arch/powerpc/oprofile/backtrace.c | 2 +-
> arch/riscv/include/asm/unistd.h | 1 +
> arch/s390/include/asm/compat.h | 18 ++----------------
> arch/s390/include/asm/unistd.h | 3 ++-
> arch/sh/include/asm/unistd.h | 2 +-
> arch/sparc/include/asm/compat.h | 25 +++++--------------------
> arch/sparc/include/asm/unistd.h | 3 ++-
> arch/unicore32/include/uapi/asm/unistd.h | 1 +
> arch/x86/include/asm/compat.h | 19 ++-----------------
> arch/x86/include/asm/unistd.h | 3 ++-
> arch/xtensa/include/asm/unistd.h | 2 +-
> fs/aio.c | 8 ++++----
> fs/compat_binfmt_elf.c | 2 +-
> fs/read_write.c | 2 +-
> fs/select.c | 20 ++++++++++----------
> fs/stat.c | 3 +++
> fs/timerfd.c | 12 ++++++------
> fs/utimes.c | 73
> +++++++++++++++++++++++++++++++++++--------------------------------------
> include/asm-generic/compat.h | 24 +++++++++++++++++++++++-
> include/asm-generic/unistd.h | 13 -------------
> include/linux/compat.h | 101
> +++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------
> include/linux/compat_time.h | 32 --------------------------------
> include/linux/elfcore-compat.h | 8 ++++----
> include/linux/restart_block.h | 4 ++--
> include/linux/socket.h | 4 ++--
> include/linux/syscalls.h | 21 ++++++++++++---------
> include/linux/time32.h | 78
> +++++++++++++++++++++++++++++++++++++++++-------------------------------------
> include/linux/timekeeping.h | 12 ------------
> include/linux/timekeeping32.h | 53
> +++++++----------------------------------------------
> include/uapi/asm-generic/unistd.h | 2 ++
> ipc/mqueue.c | 8 ++++----
> ipc/msg.c | 6 +++---
> ipc/sem.c | 10 +++++-----
> ipc/shm.c | 6 +++---
> ipc/syscall.c | 2 +-
> ipc/util.h | 2 +-
> kernel/compat.c | 8 ++++----
> kernel/futex_compat.c | 2 +-
> kernel/sched/core.c | 8 ++++----
> kernel/signal.c | 19 ++++++++++---------
> kernel/time/hrtimer.c | 8 ++++----
> kernel/time/posix-stubs.c | 18 +++++++++---------
> kernel/time/posix-timers.c | 30 +++++++++++++++---------------
> kernel/time/time.c | 97
> ++++++++++++++++++++++++++++++++++++++-----------------------------------------------------------
> kernel/time/timekeeping.c | 24 ------------------------
> net/compat.c | 10 +++++-----
> net/socket.c | 18 ++++++++----------
> 72 files changed, 398 insertions(+), 601 deletions(-)
> delete mode 100644 include/asm-generic/unistd.h
> delete mode 100644 include/linux/compat_time.h
>
> Reply
> Forward
> _______________________________________________
> Y2038 mailing list
> Y2038@xxxxxxxxxxxxxxxx
> https://lists.linaro.org/mailman/listinfo/y2038