From patchwork Sat Sep 15 15:47:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 986473 Return-Path: Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9D40AECE560 for ; Sat, 15 Sep 2018 15:47:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3E67A21477 for ; Sat, 15 Sep 2018 15:47:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3E67A21477 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arndb.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727940AbeIOVGo (ORCPT ); Sat, 15 Sep 2018 17:06:44 -0400 Received: from mail-qk1-f196.google.com ([209.85.222.196]:46938 "EHLO mail-qk1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727144AbeIOVGo (ORCPT ); Sat, 15 Sep 2018 17:06:44 -0400 Received: by mail-qk1-f196.google.com with SMTP id j7-v6so6819428qkd.13; Sat, 15 Sep 2018 08:47:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=D3xU+MHG61EcL1IgpsXWxko/hLaoc8V9bwT1YeBVVJ0=; b=NR9ZsOLXVXlsd+hu01+PHeaRs1hfVLzk0ofsQRgaDEejTSm6IytZ9oMfdWijxNfjpM D2wUkD4rT5qKe9XTaxkhqZs5ibZ7uTPqinq0vMy2w0sDoqKhUKkl7Cl2bx/GGYI44hTM O5T7PCMQzSLfIz3uokAtWXY445LEnbjeB5NP/8pX+duWxFb0Ps67yW4apEBNSMYu0TsY Gel/wskiz8ND8kYDxCQLOanPaY8VfePfUOdvyj+K3LzICguJ7jfpIxc33DfZfM54xnQu 2RLvdLdneiziFow2Tme8xj1kSaVepth3TWvIsQnyC4gbSKiFMqmqG2TXeUPQe4N9OwnN lgtw== X-Gm-Message-State: APzg51AoMFZQblhcmClMlF1langcWUZrKwfts6faz7XRIdmkoHUrQbSq fknc2P/WtQRkFbdlXvnNYiq2Y/SMJIdQpSDrX/0= X-Google-Smtp-Source: ANB0VdbMgWdEo2mTb5ySnrHqqLFKiXInDQccx0y5ZKBLJMzrQqwam1VlnOeI9kOdboTqhikvqYgG3q28co+mZUY+Kmw= X-Received: by 2002:a37:6b03:: with SMTP id g3-v6mr12139177qkc.107.1537026439828; Sat, 15 Sep 2018 08:47:19 -0700 (PDT) MIME-Version: 1.0 From: Arnd Bergmann Date: Sat, 15 Sep 2018 17:47:03 +0200 Message-ID: Subject: To: Thomas Gleixner Cc: Deepa Dinamani , y2038 Mailman List , Linux Kernel Mailing List , Christoph Hellwig , Linux API Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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@ra.kernel.org:/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