* [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion
@ 2017-11-10 22:42 Deepa Dinamani
2017-11-10 22:42 ` [PATCH 1/9] include: Move compat_timespec/ timeval to compat_time.h Deepa Dinamani
2017-11-14 14:24 ` [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion Arnd Bergmann
0 siblings, 2 replies; 13+ messages in thread
From: Deepa Dinamani @ 2017-11-10 22:42 UTC (permalink / raw)
To: tglx, john.stultz
Cc: linux-kernel, arnd, y2038, acme, benh, borntraeger,
catalin.marinas, cmetcalf, cohuck, davem, deller, devel,
gerald.schaefer, gregkh, heiko.carstens, hoeppner, hpa, jejb, jwi,
linux-api, linux-arch, linux-mips, linux-parisc, linuxppc-dev,
linux-s390, mark.rutland, mingo, mpe, oberpar, oprofile-list,
paulus, peterz, ralf
The series is a preparation series for individual architectures
to use 64 bit time_t syscalls in compat and 32 bit emulation modes.
This is a follow up to the series Arnd Bergmann posted:
https://sourceware.org/ml/libc-alpha/2015-05/msg00070.html
Big picture is as per the lwn article:
https://lwn.net/Articles/643234/
The series is directed at converting posix clock syscalls:
clock_gettime, clock_settime, clock_getres and clock_nanosleep
to use a new data structure __kernel_timespec at syscall boundaries.
__kernel_timespec maintains 64 bit time_t across all execution modes.
vdso will be handled as part of each architecture when they enable
support for 64 bit time_t.
The compat syscalls are repurposed to provide backward compatibility
by using them as native syscalls as well for 32 bit architectures.
They will continue to use timespec at syscall boundaries.
CONFIG_64_BIT_TIME controls whether the syscalls use __kernel_timespec
or timespec at syscall boundaries.
The series does the following:
1. Enable compat syscalls unconditionally.
2. Add a new __kernel_timespec type to be used as the data structure
for all the new syscalls.
3. Add new config CONFIG_64BIT_TIME(intead of the CONFIG_COMPAT_TIME in
[1] and [2] to switch to new definition of __kernel_timespec. It is
the same as struct timespec otherwise.
Arnd Bergmann (1):
y2038: introduce CONFIG_64BIT_TIME
Deepa Dinamani (8):
include: Move compat_timespec/ timeval to compat_time.h
compat: Make compat helpers independent of CONFIG_COMPAT
compat: enable compat_get/put_timespec64 always
posix-clocks: Enable compat syscalls always
include: Add new y2038 safe __kernel_timespec
fix get_timespec64() for y2038 safe compat interfaces
change time types to new y2038 safe __kernel_* types
nanosleep: change time types to safe __kernel_* types
arch/Kconfig | 11 ++++
arch/arm64/include/asm/compat.h | 11 ----
arch/arm64/include/asm/stat.h | 1 +
arch/arm64/kernel/hw_breakpoint.c | 1 -
arch/arm64/kernel/perf_regs.c | 2 +-
arch/arm64/kernel/process.c | 1 -
arch/mips/include/asm/compat.h | 11 ----
arch/mips/kernel/signal32.c | 2 +-
arch/parisc/include/asm/compat.h | 11 ----
arch/powerpc/include/asm/compat.h | 11 ----
arch/powerpc/kernel/asm-offsets.c | 2 +-
arch/powerpc/oprofile/backtrace.c | 2 +-
arch/s390/hypfs/hypfs_sprp.c | 1 -
arch/s390/include/asm/compat.h | 11 ----
arch/s390/include/asm/elf.h | 3 +-
arch/s390/kvm/priv.c | 1 -
arch/s390/pci/pci_clp.c | 1 -
arch/sparc/include/asm/compat.h | 11 ----
arch/tile/include/asm/compat.h | 11 ----
arch/x86/events/core.c | 2 +-
arch/x86/include/asm/compat.h | 11 ----
arch/x86/include/asm/ftrace.h | 2 +-
arch/x86/include/asm/sys_ia32.h | 2 +-
arch/x86/kernel/sys_x86_64.c | 2 +-
drivers/s390/block/dasd_ioctl.c | 1 -
drivers/s390/char/fs3270.c | 1 -
drivers/s390/char/sclp_ctl.c | 1 -
drivers/s390/char/vmcp.c | 1 -
drivers/s390/cio/chsc_sch.c | 1 -
drivers/s390/net/qeth_core_main.c | 2 +-
drivers/staging/pi433/pi433_if.c | 2 +-
include/linux/compat.h | 7 ++-
include/linux/compat_time.h | 23 +++++++++
include/linux/restart_block.h | 7 +--
include/linux/syscalls.h | 12 ++---
include/linux/time.h | 4 +-
include/linux/time64.h | 10 +++-
include/uapi/asm-generic/posix_types.h | 1 +
include/uapi/linux/time.h | 7 +++
kernel/Makefile | 2 +-
kernel/compat.c | 92 ++++++++++++++++++----------------
kernel/time/hrtimer.c | 7 +--
kernel/time/posix-stubs.c | 12 ++---
kernel/time/posix-timers.c | 20 ++++----
kernel/time/time.c | 10 +++-
45 files changed, 152 insertions(+), 195 deletions(-)
create mode 100644 include/linux/compat_time.h
base-commit: d9e0e63d9a6f88440eb201e1491fcf730272c706
--
2.11.0
Cc: acme@kernel.org
Cc: benh@kernel.crashing.org
Cc: borntraeger@de.ibm.com
Cc: catalin.marinas@arm.com
Cc: cmetcalf@mellanox.com
Cc: cohuck@redhat.com
Cc: davem@davemloft.net
Cc: deller@gmx.de
Cc: devel@driverdev.osuosl.org
Cc: gerald.schaefer@de.ibm.com
Cc: gregkh@linuxfoundation.org
Cc: heiko.carstens@de.ibm.com
Cc: hoeppner@linux.vnet.ibm.com
Cc: hpa@zytor.com
Cc: jejb@parisc-linux.org
Cc: jwi@linux.vnet.ibm.com
Cc: linux-api@vger.kernel.org
Cc: linux-arch@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: linux-parisc@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-s390@vger.kernel.org
Cc: mark.rutland@arm.com
Cc: mingo@redhat.com
Cc: mpe@ellerman.id.au
Cc: oberpar@linux.vnet.ibm.com
Cc: oprofile-list@lists.sf.net
Cc: paulus@samba.org
Cc: peterz@infradead.org
Cc: ralf@linux-mips.org
Cc: rostedt@goodmis.org
Cc: rric@kernel.org
Cc: schwidefsky@de.ibm.com
Cc: sebott@linux.vnet.ibm.com
Cc: sparclinux@vger.kernel.org
Cc: sth@linux.vnet.ibm.com
Cc: ubraun@linux.vnet.ibm.com
Cc: will.deacon@arm.com
Cc: x86@kernel.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/9] include: Move compat_timespec/ timeval to compat_time.h
2017-11-10 22:42 [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion Deepa Dinamani
@ 2017-11-10 22:42 ` Deepa Dinamani
2017-11-11 2:38 ` Steven Rostedt
2017-11-14 14:24 ` [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion Arnd Bergmann
1 sibling, 1 reply; 13+ messages in thread
From: Deepa Dinamani @ 2017-11-10 22:42 UTC (permalink / raw)
To: tglx, john.stultz
Cc: mark.rutland, linux-mips, peterz, benh, heiko.carstens, paulus,
hpa, sparclinux, devel, linux-s390, y2038, mpe, deller, x86,
sebott, jejb, will.deacon, borntraeger, mingo, oprofile-list,
catalin.marinas, rric, cmetcalf, arnd, oberpar, acme, jwi,
rostedt, ubraun, gerald.schaefer, linux-parisc, gregkh, cohuck,
linux-kernel, ralf, hoeppner, sth, schwidefsky
All the current architecture specific defines for these
are the same. Refactor these common defines to a common
header file.
The new common linux/compat_time.h is also useful as it
will eventually be used to hold all the defines that
are needed for compat time types that support non y2038
safe types. New architectures need not have to define these
new types as they will only use new y2038 safe syscalls.
This file can be deleted after y2038 when we stop supporting
non y2038 safe syscalls.
The patch also requires an operation similar to:
git grep "asm/compat\.h" | cut -d ":" -f 1 | xargs -n 1 sed -i -e "s%asm/compat.h%linux/compat.h%g"
Cc: acme@kernel.org
Cc: benh@kernel.crashing.org
Cc: borntraeger@de.ibm.com
Cc: catalin.marinas@arm.com
Cc: cmetcalf@mellanox.com
Cc: cohuck@redhat.com
Cc: davem@davemloft.net
Cc: deller@gmx.de
Cc: devel@driverdev.osuosl.org
Cc: gerald.schaefer@de.ibm.com
Cc: gregkh@linuxfoundation.org
Cc: heiko.carstens@de.ibm.com
Cc: hoeppner@linux.vnet.ibm.com
Cc: hpa@zytor.com
Cc: jejb@parisc-linux.org
Cc: jwi@linux.vnet.ibm.com
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: linux-parisc@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-s390@vger.kernel.org
Cc: mark.rutland@arm.com
Cc: mingo@redhat.com
Cc: mpe@ellerman.id.au
Cc: oberpar@linux.vnet.ibm.com
Cc: oprofile-list@lists.sf.net
Cc: paulus@samba.org
Cc: peterz@infradead.org
Cc: ralf@linux-mips.org
Cc: rostedt@goodmis.org
Cc: rric@kernel.org
Cc: schwidefsky@de.ibm.com
Cc: sebott@linux.vnet.ibm.com
Cc: sparclinux@vger.kernel.org
Cc: sth@linux.vnet.ibm.com
Cc: ubraun@linux.vnet.ibm.com
Cc: will.deacon@arm.com
Cc: x86@kernel.org
Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com>
---
arch/arm64/include/asm/compat.h | 11 -----------
arch/arm64/include/asm/stat.h | 1 +
arch/arm64/kernel/hw_breakpoint.c | 1 -
arch/arm64/kernel/perf_regs.c | 2 +-
arch/arm64/kernel/process.c | 1 -
arch/mips/include/asm/compat.h | 11 -----------
arch/mips/kernel/signal32.c | 2 +-
arch/parisc/include/asm/compat.h | 11 -----------
arch/powerpc/include/asm/compat.h | 11 -----------
arch/powerpc/kernel/asm-offsets.c | 2 +-
arch/powerpc/oprofile/backtrace.c | 2 +-
arch/s390/hypfs/hypfs_sprp.c | 1 -
arch/s390/include/asm/compat.h | 11 -----------
arch/s390/include/asm/elf.h | 3 +--
arch/s390/kvm/priv.c | 1 -
arch/s390/pci/pci_clp.c | 1 -
arch/sparc/include/asm/compat.h | 11 -----------
arch/tile/include/asm/compat.h | 11 -----------
arch/x86/events/core.c | 2 +-
arch/x86/include/asm/compat.h | 11 -----------
arch/x86/include/asm/ftrace.h | 2 +-
arch/x86/include/asm/sys_ia32.h | 2 +-
arch/x86/kernel/sys_x86_64.c | 2 +-
drivers/s390/block/dasd_ioctl.c | 1 -
drivers/s390/char/fs3270.c | 1 -
drivers/s390/char/sclp_ctl.c | 1 -
drivers/s390/char/vmcp.c | 1 -
drivers/s390/cio/chsc_sch.c | 1 -
drivers/s390/net/qeth_core_main.c | 2 +-
drivers/staging/pi433/pi433_if.c | 2 +-
include/linux/compat.h | 1 +
include/linux/compat_time.h | 19 +++++++++++++++++++
32 files changed, 32 insertions(+), 110 deletions(-)
create mode 100644 include/linux/compat_time.h
diff --git a/arch/arm64/include/asm/compat.h b/arch/arm64/include/asm/compat.h
index e39d487bf724..d4f9c9ee3b15 100644
--- a/arch/arm64/include/asm/compat.h
+++ b/arch/arm64/include/asm/compat.h
@@ -34,7 +34,6 @@
typedef u32 compat_size_t;
typedef s32 compat_ssize_t;
-typedef s32 compat_time_t;
typedef s32 compat_clock_t;
typedef s32 compat_pid_t;
typedef u16 __compat_uid_t;
@@ -66,16 +65,6 @@ typedef u32 compat_ulong_t;
typedef u64 compat_u64;
typedef u32 compat_uptr_t;
-struct compat_timespec {
- compat_time_t tv_sec;
- s32 tv_nsec;
-};
-
-struct compat_timeval {
- compat_time_t tv_sec;
- s32 tv_usec;
-};
-
struct compat_stat {
#ifdef __AARCH64EB__
short st_dev;
diff --git a/arch/arm64/include/asm/stat.h b/arch/arm64/include/asm/stat.h
index 15e35598ac40..eab738019707 100644
--- a/arch/arm64/include/asm/stat.h
+++ b/arch/arm64/include/asm/stat.h
@@ -20,6 +20,7 @@
#ifdef CONFIG_COMPAT
+#include <linux/compat_time.h>
#include <asm/compat.h>
/*
diff --git a/arch/arm64/kernel/hw_breakpoint.c b/arch/arm64/kernel/hw_breakpoint.c
index 749f81779420..bfa2b78cf0e3 100644
--- a/arch/arm64/kernel/hw_breakpoint.c
+++ b/arch/arm64/kernel/hw_breakpoint.c
@@ -29,7 +29,6 @@
#include <linux/ptrace.h>
#include <linux/smp.h>
-#include <asm/compat.h>
#include <asm/current.h>
#include <asm/debug-monitors.h>
#include <asm/hw_breakpoint.h>
diff --git a/arch/arm64/kernel/perf_regs.c b/arch/arm64/kernel/perf_regs.c
index 1d091d048d04..929fc369d0be 100644
--- a/arch/arm64/kernel/perf_regs.c
+++ b/arch/arm64/kernel/perf_regs.c
@@ -5,7 +5,7 @@
#include <linux/bug.h>
#include <linux/sched/task_stack.h>
-#include <asm/compat.h>
+#include <linux/compat.h>
#include <asm/perf_regs.h>
#include <asm/ptrace.h>
diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
index b2adcce7bc18..1acb3097d35b 100644
--- a/arch/arm64/kernel/process.c
+++ b/arch/arm64/kernel/process.c
@@ -52,7 +52,6 @@
#include <linux/thread_info.h>
#include <asm/alternative.h>
-#include <asm/compat.h>
#include <asm/cacheflush.h>
#include <asm/exec.h>
#include <asm/fpsimd.h>
diff --git a/arch/mips/include/asm/compat.h b/arch/mips/include/asm/compat.h
index 8e2b5b556488..ebbf3f04f82b 100644
--- a/arch/mips/include/asm/compat.h
+++ b/arch/mips/include/asm/compat.h
@@ -14,7 +14,6 @@
typedef u32 compat_size_t;
typedef s32 compat_ssize_t;
-typedef s32 compat_time_t;
typedef s32 compat_clock_t;
typedef s32 compat_suseconds_t;
@@ -46,16 +45,6 @@ typedef u32 compat_ulong_t;
typedef u64 compat_u64;
typedef u32 compat_uptr_t;
-struct compat_timespec {
- compat_time_t tv_sec;
- s32 tv_nsec;
-};
-
-struct compat_timeval {
- compat_time_t tv_sec;
- s32 tv_usec;
-};
-
struct compat_stat {
compat_dev_t st_dev;
s32 st_pad1[3];
diff --git a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c
index cf5c7c05e5a3..a6b04c70a8cb 100644
--- a/arch/mips/kernel/signal32.c
+++ b/arch/mips/kernel/signal32.c
@@ -14,7 +14,7 @@
#include <linux/signal.h>
#include <linux/syscalls.h>
-#include <asm/compat.h>
+#include <linux/compat.h>
#include <asm/compat-signal.h>
#include <linux/uaccess.h>
#include <asm/unistd.h>
diff --git a/arch/parisc/include/asm/compat.h b/arch/parisc/include/asm/compat.h
index 07f48827afda..ea453c356bf9 100644
--- a/arch/parisc/include/asm/compat.h
+++ b/arch/parisc/include/asm/compat.h
@@ -13,7 +13,6 @@
typedef u32 compat_size_t;
typedef s32 compat_ssize_t;
-typedef s32 compat_time_t;
typedef s32 compat_clock_t;
typedef s32 compat_pid_t;
typedef u32 __compat_uid_t;
@@ -40,16 +39,6 @@ typedef u32 compat_ulong_t;
typedef u64 compat_u64;
typedef u32 compat_uptr_t;
-struct compat_timespec {
- compat_time_t tv_sec;
- s32 tv_nsec;
-};
-
-struct compat_timeval {
- compat_time_t tv_sec;
- s32 tv_usec;
-};
-
struct compat_stat {
compat_dev_t st_dev; /* dev_t is 32 bits on parisc */
compat_ino_t st_ino; /* 32 bits */
diff --git a/arch/powerpc/include/asm/compat.h b/arch/powerpc/include/asm/compat.h
index a035b1e5dfa7..d48892bcd38f 100644
--- a/arch/powerpc/include/asm/compat.h
+++ b/arch/powerpc/include/asm/compat.h
@@ -17,7 +17,6 @@
typedef u32 compat_size_t;
typedef s32 compat_ssize_t;
-typedef s32 compat_time_t;
typedef s32 compat_clock_t;
typedef s32 compat_pid_t;
typedef u32 __compat_uid_t;
@@ -45,16 +44,6 @@ typedef u32 compat_ulong_t;
typedef u64 compat_u64;
typedef u32 compat_uptr_t;
-struct compat_timespec {
- compat_time_t tv_sec;
- s32 tv_nsec;
-};
-
-struct compat_timeval {
- compat_time_t tv_sec;
- s32 tv_usec;
-};
-
struct compat_stat {
compat_dev_t st_dev;
compat_ino_t st_ino;
diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c
index 4ce0e8eccbcf..7698bd054181 100644
--- a/arch/powerpc/kernel/asm-offsets.c
+++ b/arch/powerpc/kernel/asm-offsets.c
@@ -42,7 +42,7 @@
#include <asm/paca.h>
#include <asm/lppaca.h>
#include <asm/cache.h>
-#include <asm/compat.h>
+#include <linux/compat.h>
#include <asm/mmu.h>
#include <asm/hvcall.h>
#include <asm/xics.h>
diff --git a/arch/powerpc/oprofile/backtrace.c b/arch/powerpc/oprofile/backtrace.c
index ecc66d5f02c9..11ff763c03ad 100644
--- a/arch/powerpc/oprofile/backtrace.c
+++ b/arch/powerpc/oprofile/backtrace.c
@@ -11,7 +11,7 @@
#include <linux/sched.h>
#include <asm/processor.h>
#include <linux/uaccess.h>
-#include <asm/compat.h>
+#include <linux/compat.h>
#include <asm/oprofile_impl.h>
#define STACK_SP(STACK) *(STACK)
diff --git a/arch/s390/hypfs/hypfs_sprp.c b/arch/s390/hypfs/hypfs_sprp.c
index ae0ed8dd5f1b..5d85a039391c 100644
--- a/arch/s390/hypfs/hypfs_sprp.c
+++ b/arch/s390/hypfs/hypfs_sprp.c
@@ -13,7 +13,6 @@
#include <linux/string.h>
#include <linux/types.h>
#include <linux/uaccess.h>
-#include <asm/compat.h>
#include <asm/diag.h>
#include <asm/sclp.h>
#include "hypfs.h"
diff --git a/arch/s390/include/asm/compat.h b/arch/s390/include/asm/compat.h
index 1b60eb3676d5..32a77b6d9a59 100644
--- a/arch/s390/include/asm/compat.h
+++ b/arch/s390/include/asm/compat.h
@@ -53,7 +53,6 @@
typedef u32 compat_size_t;
typedef s32 compat_ssize_t;
-typedef s32 compat_time_t;
typedef s32 compat_clock_t;
typedef s32 compat_pid_t;
typedef u16 __compat_uid_t;
@@ -97,16 +96,6 @@ typedef struct {
u32 gprs_high[NUM_GPRS];
} s390_compat_regs_high;
-struct compat_timespec {
- compat_time_t tv_sec;
- s32 tv_nsec;
-};
-
-struct compat_timeval {
- compat_time_t tv_sec;
- s32 tv_usec;
-};
-
struct compat_stat {
compat_dev_t st_dev;
u16 __pad1;
diff --git a/arch/s390/include/asm/elf.h b/arch/s390/include/asm/elf.h
index 9a3cb3983c01..78f75384f891 100644
--- a/arch/s390/include/asm/elf.h
+++ b/arch/s390/include/asm/elf.h
@@ -126,7 +126,7 @@
*/
#include <asm/ptrace.h>
-#include <asm/compat.h>
+#include <linux/compat.h>
#include <asm/syscall.h>
#include <asm/user.h>
@@ -136,7 +136,6 @@ typedef s390_regs elf_gregset_t;
typedef s390_fp_regs compat_elf_fpregset_t;
typedef s390_compat_regs compat_elf_gregset_t;
-#include <linux/compat.h>
#include <linux/sched/mm.h> /* for task_struct */
#include <asm/mmu_context.h>
diff --git a/arch/s390/kvm/priv.c b/arch/s390/kvm/priv.c
index c954ac49eee4..07eebba4bd37 100644
--- a/arch/s390/kvm/priv.c
+++ b/arch/s390/kvm/priv.c
@@ -29,7 +29,6 @@
#include <asm/gmap.h>
#include <asm/io.h>
#include <asm/ptrace.h>
-#include <asm/compat.h>
#include <asm/sclp.h>
#include "gaccess.h"
#include "kvm-s390.h"
diff --git a/arch/s390/pci/pci_clp.c b/arch/s390/pci/pci_clp.c
index 93cd0f1ca12b..19b2d2a9b43d 100644
--- a/arch/s390/pci/pci_clp.c
+++ b/arch/s390/pci/pci_clp.c
@@ -19,7 +19,6 @@
#include <linux/uaccess.h>
#include <asm/pci_debug.h>
#include <asm/pci_clp.h>
-#include <asm/compat.h>
#include <asm/clp.h>
#include <uapi/asm/clp.h>
diff --git a/arch/sparc/include/asm/compat.h b/arch/sparc/include/asm/compat.h
index 977c3f280ba1..7348f111d169 100644
--- a/arch/sparc/include/asm/compat.h
+++ b/arch/sparc/include/asm/compat.h
@@ -11,7 +11,6 @@
typedef u32 compat_size_t;
typedef s32 compat_ssize_t;
-typedef s32 compat_time_t;
typedef s32 compat_clock_t;
typedef s32 compat_pid_t;
typedef u16 __compat_uid_t;
@@ -39,16 +38,6 @@ typedef u32 compat_ulong_t;
typedef u64 compat_u64;
typedef u32 compat_uptr_t;
-struct compat_timespec {
- compat_time_t tv_sec;
- s32 tv_nsec;
-};
-
-struct compat_timeval {
- compat_time_t tv_sec;
- s32 tv_usec;
-};
-
struct compat_stat {
compat_dev_t st_dev;
compat_ino_t st_ino;
diff --git a/arch/tile/include/asm/compat.h b/arch/tile/include/asm/compat.h
index c14e36f008c8..c3a326c9ae75 100644
--- a/arch/tile/include/asm/compat.h
+++ b/arch/tile/include/asm/compat.h
@@ -29,7 +29,6 @@ typedef u32 compat_ulong_t;
typedef u32 compat_size_t;
typedef s32 compat_ssize_t;
typedef s32 compat_off_t;
-typedef s32 compat_time_t;
typedef s32 compat_clock_t;
typedef u32 compat_ino_t;
typedef u32 compat_caddr_t;
@@ -59,16 +58,6 @@ typedef unsigned long compat_elf_greg_t;
#define COMPAT_ELF_NGREG (sizeof(struct pt_regs) / sizeof(compat_elf_greg_t))
typedef compat_elf_greg_t compat_elf_gregset_t[COMPAT_ELF_NGREG];
-struct compat_timespec {
- compat_time_t tv_sec;
- s32 tv_nsec;
-};
-
-struct compat_timeval {
- compat_time_t tv_sec;
- s32 tv_usec;
-};
-
#define compat_stat stat
#define compat_statfs statfs
diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index 140d33288e78..6b8961912781 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -2391,7 +2391,7 @@ static unsigned long get_segment_base(unsigned int segment)
#ifdef CONFIG_IA32_EMULATION
-#include <asm/compat.h>
+#include <linux/compat.h>
static inline int
perf_callchain_user32(struct pt_regs *regs, struct perf_callchain_entry_ctx *entry)
diff --git a/arch/x86/include/asm/compat.h b/arch/x86/include/asm/compat.h
index a600a6cda9ec..5d8e0fc204db 100644
--- a/arch/x86/include/asm/compat.h
+++ b/arch/x86/include/asm/compat.h
@@ -17,7 +17,6 @@
typedef u32 compat_size_t;
typedef s32 compat_ssize_t;
-typedef s32 compat_time_t;
typedef s32 compat_clock_t;
typedef s32 compat_pid_t;
typedef u16 __compat_uid_t;
@@ -46,16 +45,6 @@ typedef u32 compat_u32;
typedef u64 __attribute__((aligned(4))) compat_u64;
typedef u32 compat_uptr_t;
-struct compat_timespec {
- compat_time_t tv_sec;
- s32 tv_nsec;
-};
-
-struct compat_timeval {
- compat_time_t tv_sec;
- s32 tv_usec;
-};
-
struct compat_stat {
compat_dev_t st_dev;
u16 __pad1;
diff --git a/arch/x86/include/asm/ftrace.h b/arch/x86/include/asm/ftrace.h
index 09ad88572746..db25aa15b705 100644
--- a/arch/x86/include/asm/ftrace.h
+++ b/arch/x86/include/asm/ftrace.h
@@ -49,7 +49,7 @@ int ftrace_int3_handler(struct pt_regs *regs);
#if !defined(__ASSEMBLY__) && !defined(COMPILE_OFFSETS)
#if defined(CONFIG_FTRACE_SYSCALLS) && defined(CONFIG_IA32_EMULATION)
-#include <asm/compat.h>
+#include <linux/compat.h>
/*
* Because ia32 syscalls do not map to x86_64 syscall numbers
diff --git a/arch/x86/include/asm/sys_ia32.h b/arch/x86/include/asm/sys_ia32.h
index 82c34ee25a65..8527b26ad36f 100644
--- a/arch/x86/include/asm/sys_ia32.h
+++ b/arch/x86/include/asm/sys_ia32.h
@@ -16,7 +16,7 @@
#include <linux/linkage.h>
#include <linux/types.h>
#include <linux/signal.h>
-#include <asm/compat.h>
+#include <linux/compat.h>
#include <asm/ia32.h>
/* ia32/sys_ia32.c */
diff --git a/arch/x86/kernel/sys_x86_64.c b/arch/x86/kernel/sys_x86_64.c
index a63fe77b3217..13d51bd80409 100644
--- a/arch/x86/kernel/sys_x86_64.c
+++ b/arch/x86/kernel/sys_x86_64.c
@@ -19,7 +19,7 @@
#include <linux/elf.h>
#include <asm/elf.h>
-#include <asm/compat.h>
+#include <linux/compat.h>
#include <asm/ia32.h>
#include <asm/syscalls.h>
#include <asm/mpx.h>
diff --git a/drivers/s390/block/dasd_ioctl.c b/drivers/s390/block/dasd_ioctl.c
index 7bdc6aaa0ba3..2016e0ed5865 100644
--- a/drivers/s390/block/dasd_ioctl.c
+++ b/drivers/s390/block/dasd_ioctl.c
@@ -18,7 +18,6 @@
#include <linux/fs.h>
#include <linux/blkpg.h>
#include <linux/slab.h>
-#include <asm/compat.h>
#include <asm/ccwdev.h>
#include <asm/schid.h>
#include <asm/cmb.h>
diff --git a/drivers/s390/char/fs3270.c b/drivers/s390/char/fs3270.c
index c4518168fd02..d74facaa1755 100644
--- a/drivers/s390/char/fs3270.c
+++ b/drivers/s390/char/fs3270.c
@@ -18,7 +18,6 @@
#include <linux/slab.h>
#include <linux/types.h>
-#include <asm/compat.h>
#include <asm/ccwdev.h>
#include <asm/cio.h>
#include <asm/ebcdic.h>
diff --git a/drivers/s390/char/sclp_ctl.c b/drivers/s390/char/sclp_ctl.c
index a78cea0c3a09..248b5db3eaa8 100644
--- a/drivers/s390/char/sclp_ctl.c
+++ b/drivers/s390/char/sclp_ctl.c
@@ -14,7 +14,6 @@
#include <linux/init.h>
#include <linux/ioctl.h>
#include <linux/fs.h>
-#include <asm/compat.h>
#include <asm/sclp_ctl.h>
#include <asm/sclp.h>
diff --git a/drivers/s390/char/vmcp.c b/drivers/s390/char/vmcp.c
index 17e411c57576..948ce82a7725 100644
--- a/drivers/s390/char/vmcp.c
+++ b/drivers/s390/char/vmcp.c
@@ -23,7 +23,6 @@
#include <linux/mutex.h>
#include <linux/cma.h>
#include <linux/mm.h>
-#include <asm/compat.h>
#include <asm/cpcmd.h>
#include <asm/debug.h>
#include <asm/vmcp.h>
diff --git a/drivers/s390/cio/chsc_sch.c b/drivers/s390/cio/chsc_sch.c
index 8e7e19b9e92c..662d24c6b79c 100644
--- a/drivers/s390/cio/chsc_sch.c
+++ b/drivers/s390/cio/chsc_sch.c
@@ -15,7 +15,6 @@
#include <linux/miscdevice.h>
#include <linux/kernel_stat.h>
-#include <asm/compat.h>
#include <asm/cio.h>
#include <asm/chsc.h>
#include <asm/isc.h>
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c
index 49b9efeba1bd..8259c0ae3395 100644
--- a/drivers/s390/net/qeth_core_main.c
+++ b/drivers/s390/net/qeth_core_main.c
@@ -26,7 +26,7 @@
#include <asm/chpid.h>
#include <asm/io.h>
#include <asm/sysinfo.h>
-#include <asm/compat.h>
+#include <linux/compat.h>
#include <asm/diag.h>
#include <asm/cio.h>
#include <asm/ccwdev.h>
diff --git a/drivers/staging/pi433/pi433_if.c b/drivers/staging/pi433/pi433_if.c
index a960fe2e7875..3fcb238b1995 100644
--- a/drivers/staging/pi433/pi433_if.c
+++ b/drivers/staging/pi433/pi433_if.c
@@ -48,7 +48,7 @@
#include <linux/wait.h>
#include <linux/spi/spi.h>
#ifdef CONFIG_COMPAT
-#include <asm/compat.h>
+#include <linux/compat.h>
#endif
#include "pi433_if.h"
diff --git a/include/linux/compat.h b/include/linux/compat.h
index 0fc36406f32c..1a5e397ffcd4 100644
--- a/include/linux/compat.h
+++ b/include/linux/compat.h
@@ -7,6 +7,7 @@
*/
#include <linux/types.h>
+#include <linux/compat_time.h>
#ifdef CONFIG_COMPAT
diff --git a/include/linux/compat_time.h b/include/linux/compat_time.h
new file mode 100644
index 000000000000..56a54a1e4355
--- /dev/null
+++ b/include/linux/compat_time.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _LINUX_COMPAT_TIME_H
+#define _LINUX_COMPAT_TIME_H
+
+#include <linux/types.h>
+
+typedef s32 compat_time_t;
+
+struct compat_timespec {
+ compat_time_t tv_sec;
+ s32 tv_nsec;
+};
+
+struct compat_timeval {
+ compat_time_t tv_sec;
+ s32 tv_usec;
+};
+
+#endif /* _LINUX_COMPAT_TIME_H */
--
2.11.0
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 1/9] include: Move compat_timespec/ timeval to compat_time.h
2017-11-10 22:42 ` [PATCH 1/9] include: Move compat_timespec/ timeval to compat_time.h Deepa Dinamani
@ 2017-11-11 2:38 ` Steven Rostedt
0 siblings, 0 replies; 13+ messages in thread
From: Steven Rostedt @ 2017-11-11 2:38 UTC (permalink / raw)
To: Deepa Dinamani
Cc: tglx, john.stultz, linux-kernel, arnd, y2038, acme, benh,
borntraeger, catalin.marinas, cmetcalf, cohuck, davem, deller,
devel, gerald.schaefer, gregkh, heiko.carstens, hoeppner, hpa,
jejb, jwi, linux-mips, linux-parisc, linuxppc-dev, linux-s390,
mark.rutland, mingo, mpe, oberpar, oprofile-list, paulus, peterz,
ralf, rric
On Fri, 10 Nov 2017 14:42:51 -0800
Deepa Dinamani <deepa.kernel@gmail.com> wrote:
> diff --git a/arch/x86/include/asm/ftrace.h b/arch/x86/include/asm/ftrace.h
> index 09ad88572746..db25aa15b705 100644
> --- a/arch/x86/include/asm/ftrace.h
> +++ b/arch/x86/include/asm/ftrace.h
> @@ -49,7 +49,7 @@ int ftrace_int3_handler(struct pt_regs *regs);
> #if !defined(__ASSEMBLY__) && !defined(COMPILE_OFFSETS)
>
> #if defined(CONFIG_FTRACE_SYSCALLS) && defined(CONFIG_IA32_EMULATION)
> -#include <asm/compat.h>
> +#include <linux/compat.h>
>
Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-- Steve
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion
2017-11-10 22:42 [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion Deepa Dinamani
2017-11-10 22:42 ` [PATCH 1/9] include: Move compat_timespec/ timeval to compat_time.h Deepa Dinamani
@ 2017-11-14 14:24 ` Arnd Bergmann
2017-11-15 23:11 ` Deepa Dinamani
1 sibling, 1 reply; 13+ messages in thread
From: Arnd Bergmann @ 2017-11-14 14:24 UTC (permalink / raw)
To: Deepa Dinamani
Cc: Thomas Gleixner, John Stultz, Linux Kernel Mailing List,
y2038 Mailman List, Arnaldo Carvalho de Melo,
Benjamin Herrenschmidt, Christian Borntraeger, Catalin Marinas,
Chris Metcalf, cohuck, David Miller, Helge Deller, devel,
gerald.schaefer, gregkh, Heiko Carstens, Jan Hoeppner,
H. Peter Anvin, James E.J. Bottomley, Julian
On Fri, Nov 10, 2017 at 11:42 PM, Deepa Dinamani <deepa.kernel@gmail.com> wrote:
> The series is a preparation series for individual architectures
> to use 64 bit time_t syscalls in compat and 32 bit emulation modes.
>
> This is a follow up to the series Arnd Bergmann posted:
> https://sourceware.org/ml/libc-alpha/2015-05/msg00070.html
>
> Big picture is as per the lwn article:
> https://lwn.net/Articles/643234/
>
> The series is directed at converting posix clock syscalls:
> clock_gettime, clock_settime, clock_getres and clock_nanosleep
> to use a new data structure __kernel_timespec at syscall boundaries.
> __kernel_timespec maintains 64 bit time_t across all execution modes.
>
> vdso will be handled as part of each architecture when they enable
> support for 64 bit time_t.
>
> The compat syscalls are repurposed to provide backward compatibility
> by using them as native syscalls as well for 32 bit architectures.
> They will continue to use timespec at syscall boundaries.
>
> CONFIG_64_BIT_TIME controls whether the syscalls use __kernel_timespec
> or timespec at syscall boundaries.
>
> The series does the following:
> 1. Enable compat syscalls unconditionally.
> 2. Add a new __kernel_timespec type to be used as the data structure
> for all the new syscalls.
> 3. Add new config CONFIG_64BIT_TIME(intead of the CONFIG_COMPAT_TIME in
> [1] and [2] to switch to new definition of __kernel_timespec. It is
> the same as struct timespec otherwise.
>
> Arnd Bergmann (1):
> y2038: introduce CONFIG_64BIT_TIME
The series looks good to me overall, and I've added it to my build-testing tree
to see if it shows any regressions in random configurations.
I had on concern about x32, maybe we should check
for "COMPAT_USE_64BIT_TIME" before zeroing out the tv_nsec
bits.
Regarding CONFIG_COMPAT_TIME/CONFIG_64BIT_TIME, would
it help to just leave out that part for now and unconditionally
define '__kernel_timespec' as 'timespec' until we are ready to
convert the architectures?
Arnd
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion
2017-11-14 14:24 ` [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion Arnd Bergmann
@ 2017-11-15 23:11 ` Deepa Dinamani
2017-11-16 9:04 ` Thomas Gleixner
0 siblings, 1 reply; 13+ messages in thread
From: Deepa Dinamani @ 2017-11-15 23:11 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Thomas Gleixner, John Stultz, Linux Kernel Mailing List,
y2038 Mailman List, Arnaldo Carvalho de Melo,
Benjamin Herrenschmidt, Christian Borntraeger, Catalin Marinas,
Chris Metcalf, cohuck, David Miller, Helge Deller, devel,
gerald.schaefer, gregkh, Heiko Carstens, Jan Hoeppner,
H. Peter Anvin, James E.J. Bottomley, Julian
> I had on concern about x32, maybe we should check
> for "COMPAT_USE_64BIT_TIME" before zeroing out the tv_nsec
> bits.
Thanks, I think you are right. I had the check conditional on
CONFIG_64BIT_TIME and then removed as I forgot why I added it. :)
> Regarding CONFIG_COMPAT_TIME/CONFIG_64BIT_TIME, would
> it help to just leave out that part for now and unconditionally
> define '__kernel_timespec' as 'timespec' until we are ready to
> convert the architectures?
Another approach would be to use separate configs:
1. To indicate 64 bit time_t syscall support. This will be dependent
on architectures as CONFIG_64BIT_TIME.
We can delete this once all architectures have provided support for this.
2. Another config (maybe COMPAT_32BIT_TIME?) to be introduced later,
which will compile out all syscalls/ features that use 32 bit time_t.
This can help build a y2038 safe kernel later.
Would this work for everyone?
-Deepa
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion
2017-11-15 23:11 ` Deepa Dinamani
@ 2017-11-16 9:04 ` Thomas Gleixner
2017-11-16 23:42 ` Arnd Bergmann
0 siblings, 1 reply; 13+ messages in thread
From: Thomas Gleixner @ 2017-11-16 9:04 UTC (permalink / raw)
To: Deepa Dinamani
Cc: Mark Rutland, open list:RALINK MIPS ARCHITECTURE, Peter Zijlstra,
Stefan Haberland, Heiko Carstens, Paul Mackerras, H. Peter Anvin,
sparclinux, devel, linux-s390, y2038 Mailman List, Helge Deller,
the arch/x86 maintainers, sebott, James E.J. Bottomley,
Will Deacon, Christian Borntraeger, Ingo Molnar, oprofile-list,
Catalin Marinas, linux-arch, Robert Richter,
Chris Metcalf <cmetc
On Wed, 15 Nov 2017, Deepa Dinamani wrote:
> > I had on concern about x32, maybe we should check
> > for "COMPAT_USE_64BIT_TIME" before zeroing out the tv_nsec
> > bits.
>
> Thanks, I think you are right. I had the check conditional on
> CONFIG_64BIT_TIME and then removed as I forgot why I added it. :)
>
> > Regarding CONFIG_COMPAT_TIME/CONFIG_64BIT_TIME, would
> > it help to just leave out that part for now and unconditionally
> > define '__kernel_timespec' as 'timespec' until we are ready to
> > convert the architectures?
>
> Another approach would be to use separate configs:
>
> 1. To indicate 64 bit time_t syscall support. This will be dependent
> on architectures as CONFIG_64BIT_TIME.
> We can delete this once all architectures have provided support for this.
>
> 2. Another config (maybe COMPAT_32BIT_TIME?) to be introduced later,
> which will compile out all syscalls/ features that use 32 bit time_t.
> This can help build a y2038 safe kernel later.
>
> Would this work for everyone?
Having extra config switches which are selectable by architectures and
removed when everything is converted is definitely the right way to go.
That allows you to gradually convert stuff w/o inflicting wreckage all over
the place.
Thanks,
tglx
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion
2017-11-16 9:04 ` Thomas Gleixner
@ 2017-11-16 23:42 ` Arnd Bergmann
2017-11-17 8:58 ` Thomas Gleixner
0 siblings, 1 reply; 13+ messages in thread
From: Arnd Bergmann @ 2017-11-16 23:42 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Deepa Dinamani, John Stultz, Linux Kernel Mailing List,
y2038 Mailman List, Arnaldo Carvalho de Melo,
Benjamin Herrenschmidt, Christian Borntraeger, Catalin Marinas,
Chris Metcalf, cohuck-H+wXaHxf7aLQT0dZR+AlfA, David Miller,
Helge Deller, devel-gWbeCf7V1WCQmaza687I9mD2FQJk+8+b,
gerald.schaefer-tA70FqPdS9bQT0dZR+AlfA, gregkh, Heiko Carstens,
Jan Hoeppner, H. Peter Anvin, James E.J. Bottomley, Julian
On Thu, Nov 16, 2017 at 10:04 AM, Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> wrote:
> On Wed, 15 Nov 2017, Deepa Dinamani wrote:
>> > I had on concern about x32, maybe we should check
>> > for "COMPAT_USE_64BIT_TIME" before zeroing out the tv_nsec
>> > bits.
>>
>> Thanks, I think you are right. I had the check conditional on
>> CONFIG_64BIT_TIME and then removed as I forgot why I added it. :)
>>
>> > Regarding CONFIG_COMPAT_TIME/CONFIG_64BIT_TIME, would
>> > it help to just leave out that part for now and unconditionally
>> > define '__kernel_timespec' as 'timespec' until we are ready to
>> > convert the architectures?
>>
>> Another approach would be to use separate configs:
>>
>> 1. To indicate 64 bit time_t syscall support. This will be dependent
>> on architectures as CONFIG_64BIT_TIME.
>> We can delete this once all architectures have provided support for this.
>>
>> 2. Another config (maybe COMPAT_32BIT_TIME?) to be introduced later,
>> which will compile out all syscalls/ features that use 32 bit time_t.
>> This can help build a y2038 safe kernel later.
>>
>> Would this work for everyone?
>
> Having extra config switches which are selectable by architectures and
> removed when everything is converted is definitely the right way to go.
>
> That allows you to gradually convert stuff w/o inflicting wreckage all over
> the place.
The CONFIG_64BIT_TIME would do that nicely for the new stuff like
the conditional definition of __kernel_timespec, this one would get
removed after we convert all architectures.
A second issue is how to control the compilation of the compat syscalls.
CONFIG_COMPAT_32BIT_TIME handles that and could be defined
in Kconfig as 'def_bool (!64BIT && CONFIG_64BIT_TIME) || COMPAT',
this is then just a more readable way of expressing exactly when the
functions should be built.
For completeness, there may be a third category, depending on how
we handle things like sys_nanosleep(): Here, we want the native
sys_nanosleep on 64-bit architectures, and compat_sys_nanosleep()
to handle the 32-bit time_t variant on both 32-bit and 64-bit targets,
but our plan is to not have a native 32-bit sys_nanosleep on 32-bit
architectures any more, as new glibc should call clock_nanosleep()
with a new syscall number instead. Should we then enclose
sys_nanosleep in "#if !defined(CONFIG_64BIT_TIME) ||
defined(CONFIG_64BIT)", or should we try to come up with another
Kconfig symbol name that expresses this better?
Arnd
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion
2017-11-16 23:42 ` Arnd Bergmann
@ 2017-11-17 8:58 ` Thomas Gleixner
2017-11-17 9:31 ` Arnd Bergmann
0 siblings, 1 reply; 13+ messages in thread
From: Thomas Gleixner @ 2017-11-17 8:58 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Mark Rutland, open list:RALINK MIPS ARCHITECTURE, Peter Zijlstra,
Benjamin Herrenschmidt, Stefan Haberland, Heiko Carstens,
Paul Mackerras, Deepa Dinamani, H. Peter Anvin, sparclinux, devel,
linux-s390, y2038 Mailman List, Michael Ellerman, Helge Deller,
the arch/x86 maintainers, sebott, James E.J. Bottomley,
Will Deacon, Christian Borntraeger, Ingo Molnar, oprofile-list,
Catali
T24gRnJpLCAxNyBOb3YgMjAxNywgQXJuZCBCZXJnbWFubiB3cm90ZToKPiBPbiBUaHUsIE5vdiAx
NiwgMjAxNyBhdCAxMDowNCBBTSwgVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+
IHdyb3RlOgo+ID4gT24gV2VkLCAxNSBOb3YgMjAxNywgRGVlcGEgRGluYW1hbmkgd3JvdGU6Cj4g
Pj4gV291bGQgdGhpcyB3b3JrIGZvciBldmVyeW9uZT8KPiA+Cj4gPiBIYXZpbmcgZXh0cmEgY29u
ZmlnIHN3aXRjaGVzIHdoaWNoIGFyZSBzZWxlY3RhYmxlIGJ5IGFyY2hpdGVjdHVyZXMgYW5kCj4g
PiByZW1vdmVkIHdoZW4gZXZlcnl0aGluZyBpcyBjb252ZXJ0ZWQgaXMgZGVmaW5pdGVseSB0aGUg
cmlnaHQgd2F5IHRvIGdvLgo+ID4KPiA+IFRoYXQgYWxsb3dzIHlvdSB0byBncmFkdWFsbHkgY29u
dmVydCBzdHVmZiB3L28gaW5mbGljdGluZyB3cmVja2FnZSBhbGwgb3Zlcgo+ID4gdGhlIHBsYWNl
Lgo+IAo+IFRoZSBDT05GSUdfNjRCSVRfVElNRSB3b3VsZCBkbyB0aGF0IG5pY2VseSBmb3IgdGhl
IG5ldyBzdHVmZiBsaWtlCj4gdGhlIGNvbmRpdGlvbmFsIGRlZmluaXRpb24gb2YgX19rZXJuZWxf
dGltZXNwZWMsIHRoaXMgb25lIHdvdWxkIGdldAo+IHJlbW92ZWQgYWZ0ZXIgd2UgY29udmVydCBh
bGwgYXJjaGl0ZWN0dXJlcy4KPiAKPiBBIHNlY29uZCBpc3N1ZSBpcyBob3cgdG8gY29udHJvbCB0
aGUgY29tcGlsYXRpb24gb2YgdGhlIGNvbXBhdCBzeXNjYWxscy4KPiBDT05GSUdfQ09NUEFUXzMy
QklUX1RJTUUgaGFuZGxlcyB0aGF0IGFuZCBjb3VsZCBiZSBkZWZpbmVkCj4gaW4gS2NvbmZpZyBh
cyAnZGVmX2Jvb2wgKCE2NEJJVCAmJiBDT05GSUdfNjRCSVRfVElNRSkgfHwgQ09NUEFUJywKPiB0
aGlzIGlzIHRoZW4ganVzdCBhIG1vcmUgcmVhZGFibGUgd2F5IG9mIGV4cHJlc3NpbmcgZXhhY3Rs
eSB3aGVuIHRoZQo+IGZ1bmN0aW9ucyBzaG91bGQgYmUgYnVpbHQuCj4gCj4gRm9yIGNvbXBsZXRl
bmVzcywgdGhlcmUgbWF5IGJlIGEgdGhpcmQgY2F0ZWdvcnksIGRlcGVuZGluZyBvbiBob3cKPiB3
ZSBoYW5kbGUgdGhpbmdzIGxpa2Ugc3lzX25hbm9zbGVlcCgpOiBIZXJlLCB3ZSB3YW50IHRoZSBu
YXRpdmUKPiBzeXNfbmFub3NsZWVwIG9uIDY0LWJpdCBhcmNoaXRlY3R1cmVzLCBhbmQgY29tcGF0
X3N5c19uYW5vc2xlZXAoKQo+IHRvIGhhbmRsZSB0aGUgMzItYml0IHRpbWVfdCB2YXJpYW50IG9u
IGJvdGggMzItYml0IGFuZCA2NC1iaXQgdGFyZ2V0cywKPiBidXQgb3VyIHBsYW4gaXMgdG8gbm90
IGhhdmUgYSBuYXRpdmUgMzItYml0IHN5c19uYW5vc2xlZXAgb24gMzItYml0Cj4gYXJjaGl0ZWN0
dXJlcyBhbnkgbW9yZSwgYXMgbmV3IGdsaWJjIHNob3VsZCBjYWxsIGNsb2NrX25hbm9zbGVlcCgp
Cj4gd2l0aCBhIG5ldyBzeXNjYWxsIG51bWJlciBpbnN0ZWFkLiBTaG91bGQgd2UgdGhlbiBlbmNs
b3NlCgpJc24ndCB0aGF0IGdvaW5nIHRvIGJyZWFrIGV4aXN0aW5nIHVzZXJzcGFjZT8KClRoYW5r
cwoKCXRnbHgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
WTIwMzggbWFpbGluZyBsaXN0ClkyMDM4QGxpc3RzLmxpbmFyby5vcmcKaHR0cHM6Ly9saXN0cy5s
aW5hcm8ub3JnL21haWxtYW4vbGlzdGluZm8veTIwMzgK
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion
2017-11-17 8:58 ` Thomas Gleixner
@ 2017-11-17 9:31 ` Arnd Bergmann
2017-11-17 9:54 ` Thomas Gleixner
0 siblings, 1 reply; 13+ messages in thread
From: Arnd Bergmann @ 2017-11-17 9:31 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Mark Rutland, open list:RALINK MIPS ARCHITECTURE, Peter Zijlstra,
Benjamin Herrenschmidt, Stefan Haberland, Heiko Carstens,
Paul Mackerras, Deepa Dinamani, H. Peter Anvin, sparclinux, devel,
linux-s390, y2038 Mailman List, Michael Ellerman, Helge Deller,
the arch/x86 maintainers, sebott, James E.J. Bottomley,
Will Deacon, Christian Borntraeger, Ingo Molnar, oprofile-list,
Catali
T24gRnJpLCBOb3YgMTcsIDIwMTcgYXQgOTo1OCBBTSwgVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxp
bnV0cm9uaXguZGU+IHdyb3RlOgo+IE9uIEZyaSwgMTcgTm92IDIwMTcsIEFybmQgQmVyZ21hbm4g
d3JvdGU6Cj4+IE9uIFRodSwgTm92IDE2LCAyMDE3IGF0IDEwOjA0IEFNLCBUaG9tYXMgR2xlaXhu
ZXIgPHRnbHhAbGludXRyb25peC5kZT4gd3JvdGU6Cj4+ID4gT24gV2VkLCAxNSBOb3YgMjAxNywg
RGVlcGEgRGluYW1hbmkgd3JvdGU6Cj4+ID4+IFdvdWxkIHRoaXMgd29yayBmb3IgZXZlcnlvbmU/
Cj4+ID4KPj4gPiBIYXZpbmcgZXh0cmEgY29uZmlnIHN3aXRjaGVzIHdoaWNoIGFyZSBzZWxlY3Rh
YmxlIGJ5IGFyY2hpdGVjdHVyZXMgYW5kCj4+ID4gcmVtb3ZlZCB3aGVuIGV2ZXJ5dGhpbmcgaXMg
Y29udmVydGVkIGlzIGRlZmluaXRlbHkgdGhlIHJpZ2h0IHdheSB0byBnby4KPj4gPgo+PiA+IFRo
YXQgYWxsb3dzIHlvdSB0byBncmFkdWFsbHkgY29udmVydCBzdHVmZiB3L28gaW5mbGljdGluZyB3
cmVja2FnZSBhbGwgb3Zlcgo+PiA+IHRoZSBwbGFjZS4KPj4KPj4gVGhlIENPTkZJR182NEJJVF9U
SU1FIHdvdWxkIGRvIHRoYXQgbmljZWx5IGZvciB0aGUgbmV3IHN0dWZmIGxpa2UKPj4gdGhlIGNv
bmRpdGlvbmFsIGRlZmluaXRpb24gb2YgX19rZXJuZWxfdGltZXNwZWMsIHRoaXMgb25lIHdvdWxk
IGdldAo+PiByZW1vdmVkIGFmdGVyIHdlIGNvbnZlcnQgYWxsIGFyY2hpdGVjdHVyZXMuCj4+Cj4+
IEEgc2Vjb25kIGlzc3VlIGlzIGhvdyB0byBjb250cm9sIHRoZSBjb21waWxhdGlvbiBvZiB0aGUg
Y29tcGF0IHN5c2NhbGxzLgo+PiBDT05GSUdfQ09NUEFUXzMyQklUX1RJTUUgaGFuZGxlcyB0aGF0
IGFuZCBjb3VsZCBiZSBkZWZpbmVkCj4+IGluIEtjb25maWcgYXMgJ2RlZl9ib29sICghNjRCSVQg
JiYgQ09ORklHXzY0QklUX1RJTUUpIHx8IENPTVBBVCcsCj4+IHRoaXMgaXMgdGhlbiBqdXN0IGEg
bW9yZSByZWFkYWJsZSB3YXkgb2YgZXhwcmVzc2luZyBleGFjdGx5IHdoZW4gdGhlCj4+IGZ1bmN0
aW9ucyBzaG91bGQgYmUgYnVpbHQuCj4+Cj4+IEZvciBjb21wbGV0ZW5lc3MsIHRoZXJlIG1heSBi
ZSBhIHRoaXJkIGNhdGVnb3J5LCBkZXBlbmRpbmcgb24gaG93Cj4+IHdlIGhhbmRsZSB0aGluZ3Mg
bGlrZSBzeXNfbmFub3NsZWVwKCk6IEhlcmUsIHdlIHdhbnQgdGhlIG5hdGl2ZQo+PiBzeXNfbmFu
b3NsZWVwIG9uIDY0LWJpdCBhcmNoaXRlY3R1cmVzLCBhbmQgY29tcGF0X3N5c19uYW5vc2xlZXAo
KQo+PiB0byBoYW5kbGUgdGhlIDMyLWJpdCB0aW1lX3QgdmFyaWFudCBvbiBib3RoIDMyLWJpdCBh
bmQgNjQtYml0IHRhcmdldHMsCj4+IGJ1dCBvdXIgcGxhbiBpcyB0byBub3QgaGF2ZSBhIG5hdGl2
ZSAzMi1iaXQgc3lzX25hbm9zbGVlcCBvbiAzMi1iaXQKPj4gYXJjaGl0ZWN0dXJlcyBhbnkgbW9y
ZSwgYXMgbmV3IGdsaWJjIHNob3VsZCBjYWxsIGNsb2NrX25hbm9zbGVlcCgpCj4+IHdpdGggYSBu
ZXcgc3lzY2FsbCBudW1iZXIgaW5zdGVhZC4gU2hvdWxkIHdlIHRoZW4gZW5jbG9zZQo+Cj4gSXNu
J3QgdGhhdCBnb2luZyB0byBicmVhayBleGlzdGluZyB1c2Vyc3BhY2U/CgpObywgc3lzY2FsbCB0
aGF0IGV4aXN0aW5nIDMyLWJpdCB1c2VyIHNwYWNlIGVudGVycyB3b3VsZCBiZSBoYW5kbGVkIGJ5
CmNvbXBhdF9zeXNfbmFub3NsZWVwKCkgb24gYm90aCAzMi1iaXQgYW5kIDY0LWJpdCBrZXJuZWxz
IGF0IHRoYXQKcG9pbnQuIFRoZSBpZGVhIGhlcmUgaXMgdG8gbWFrZSB0aGUgY29kZSBwYXRoIG1v
cmUgdW5pZm9ybSBiZXR3ZWVuCjMyLWJpdCBhbmQgNjQtYml0IGtlcm5lbHMuCgogICAgICBBcm5k
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClkyMDM4IG1h
aWxpbmcgbGlzdApZMjAzOEBsaXN0cy5saW5hcm8ub3JnCmh0dHBzOi8vbGlzdHMubGluYXJvLm9y
Zy9tYWlsbWFuL2xpc3RpbmZvL3kyMDM4Cg==
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion
2017-11-17 9:31 ` Arnd Bergmann
@ 2017-11-17 9:54 ` Thomas Gleixner
2017-11-17 10:30 ` Arnd Bergmann
0 siblings, 1 reply; 13+ messages in thread
From: Thomas Gleixner @ 2017-11-17 9:54 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Mark Rutland, open list:RALINK MIPS ARCHITECTURE, Peter Zijlstra,
Benjamin Herrenschmidt, Stefan Haberland, Heiko Carstens,
Paul Mackerras, Deepa Dinamani, H. Peter Anvin, sparclinux, devel,
linux-s390, y2038 Mailman List, Michael Ellerman, Helge Deller,
the arch/x86 maintainers, sebott, James E.J. Bottomley,
Will Deacon, Christian Borntraeger, Ingo Molnar, oprofile-list,
Catali
T24gRnJpLCAxNyBOb3YgMjAxNywgQXJuZCBCZXJnbWFubiB3cm90ZToKPiBPbiBGcmksIE5vdiAx
NywgMjAxNyBhdCA5OjU4IEFNLCBUaG9tYXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4g
d3JvdGU6Cj4gPiBPbiBGcmksIDE3IE5vdiAyMDE3LCBBcm5kIEJlcmdtYW5uIHdyb3RlOgo+ID4+
IE9uIFRodSwgTm92IDE2LCAyMDE3IGF0IDEwOjA0IEFNLCBUaG9tYXMgR2xlaXhuZXIgPHRnbHhA
bGludXRyb25peC5kZT4gd3JvdGU6Cj4gPj4gPiBPbiBXZWQsIDE1IE5vdiAyMDE3LCBEZWVwYSBE
aW5hbWFuaSB3cm90ZToKPiA+PiA+PiBXb3VsZCB0aGlzIHdvcmsgZm9yIGV2ZXJ5b25lPwo+ID4+
ID4KPiA+PiA+IEhhdmluZyBleHRyYSBjb25maWcgc3dpdGNoZXMgd2hpY2ggYXJlIHNlbGVjdGFi
bGUgYnkgYXJjaGl0ZWN0dXJlcyBhbmQKPiA+PiA+IHJlbW92ZWQgd2hlbiBldmVyeXRoaW5nIGlz
IGNvbnZlcnRlZCBpcyBkZWZpbml0ZWx5IHRoZSByaWdodCB3YXkgdG8gZ28uCj4gPj4gPgo+ID4+
ID4gVGhhdCBhbGxvd3MgeW91IHRvIGdyYWR1YWxseSBjb252ZXJ0IHN0dWZmIHcvbyBpbmZsaWN0
aW5nIHdyZWNrYWdlIGFsbCBvdmVyCj4gPj4gPiB0aGUgcGxhY2UuCj4gPj4KPiA+PiBUaGUgQ09O
RklHXzY0QklUX1RJTUUgd291bGQgZG8gdGhhdCBuaWNlbHkgZm9yIHRoZSBuZXcgc3R1ZmYgbGlr
ZQo+ID4+IHRoZSBjb25kaXRpb25hbCBkZWZpbml0aW9uIG9mIF9fa2VybmVsX3RpbWVzcGVjLCB0
aGlzIG9uZSB3b3VsZCBnZXQKPiA+PiByZW1vdmVkIGFmdGVyIHdlIGNvbnZlcnQgYWxsIGFyY2hp
dGVjdHVyZXMuCj4gPj4KPiA+PiBBIHNlY29uZCBpc3N1ZSBpcyBob3cgdG8gY29udHJvbCB0aGUg
Y29tcGlsYXRpb24gb2YgdGhlIGNvbXBhdCBzeXNjYWxscy4KPiA+PiBDT05GSUdfQ09NUEFUXzMy
QklUX1RJTUUgaGFuZGxlcyB0aGF0IGFuZCBjb3VsZCBiZSBkZWZpbmVkCj4gPj4gaW4gS2NvbmZp
ZyBhcyAnZGVmX2Jvb2wgKCE2NEJJVCAmJiBDT05GSUdfNjRCSVRfVElNRSkgfHwgQ09NUEFUJywK
PiA+PiB0aGlzIGlzIHRoZW4ganVzdCBhIG1vcmUgcmVhZGFibGUgd2F5IG9mIGV4cHJlc3Npbmcg
ZXhhY3RseSB3aGVuIHRoZQo+ID4+IGZ1bmN0aW9ucyBzaG91bGQgYmUgYnVpbHQuCj4gPj4KPiA+
PiBGb3IgY29tcGxldGVuZXNzLCB0aGVyZSBtYXkgYmUgYSB0aGlyZCBjYXRlZ29yeSwgZGVwZW5k
aW5nIG9uIGhvdwo+ID4+IHdlIGhhbmRsZSB0aGluZ3MgbGlrZSBzeXNfbmFub3NsZWVwKCk6IEhl
cmUsIHdlIHdhbnQgdGhlIG5hdGl2ZQo+ID4+IHN5c19uYW5vc2xlZXAgb24gNjQtYml0IGFyY2hp
dGVjdHVyZXMsIGFuZCBjb21wYXRfc3lzX25hbm9zbGVlcCgpCj4gPj4gdG8gaGFuZGxlIHRoZSAz
Mi1iaXQgdGltZV90IHZhcmlhbnQgb24gYm90aCAzMi1iaXQgYW5kIDY0LWJpdCB0YXJnZXRzLAo+
ID4+IGJ1dCBvdXIgcGxhbiBpcyB0byBub3QgaGF2ZSBhIG5hdGl2ZSAzMi1iaXQgc3lzX25hbm9z
bGVlcCBvbiAzMi1iaXQKPiA+PiBhcmNoaXRlY3R1cmVzIGFueSBtb3JlLCBhcyBuZXcgZ2xpYmMg
c2hvdWxkIGNhbGwgY2xvY2tfbmFub3NsZWVwKCkKPiA+PiB3aXRoIGEgbmV3IHN5c2NhbGwgbnVt
YmVyIGluc3RlYWQuIFNob3VsZCB3ZSB0aGVuIGVuY2xvc2UKPiA+Cj4gPiBJc24ndCB0aGF0IGdv
aW5nIHRvIGJyZWFrIGV4aXN0aW5nIHVzZXJzcGFjZT8KPiAKPiBObywgc3lzY2FsbCB0aGF0IGV4
aXN0aW5nIDMyLWJpdCB1c2VyIHNwYWNlIGVudGVycyB3b3VsZCBiZSBoYW5kbGVkIGJ5Cj4gY29t
cGF0X3N5c19uYW5vc2xlZXAoKSBvbiBib3RoIDMyLWJpdCBhbmQgNjQtYml0IGtlcm5lbHMgYXQg
dGhhdAo+IHBvaW50LiBUaGUgaWRlYSBoZXJlIGlzIHRvIG1ha2UgdGhlIGNvZGUgcGF0aCBtb3Jl
IHVuaWZvcm0gYmV0d2Vlbgo+IDMyLWJpdCBhbmQgNjQtYml0IGtlcm5lbHMuCgpTbyBvbiBhIDMy
Yml0IHN5c3RlbSBjb21wYXRfc3lzX25hbm9zbGVlcCgpIHdvdWxkIGJlIHRoZSBsZWdhY3kKc3lz
X25hbm9zbGVlcCgpIHdpdGggdGhlIGV4aXN0aW5nIHN5c2NhbGwgbnVtYmVyLCBidXQgeW91IGRv
bid0IHdhbnQgdG8KaW50cm9kdWNlIGEgbmV3IHN5c19uYW5vc2xlZXA2NCgpIGZvciAzMmJpdC4g
VGhhdCBtYWtlcyBhIGxvdCBvZiBzZW5zZS4KClNvIGJhY2sgdG8geW91ciBvcmlnaW5hbCBxdWVz
dGlvbiB3aGV0aGVyIHRvIHVzZSAjaWYgKE1BR0lDIGxvZ2ljKSBvciBhCnNlcGFyYXRlIGNvbmZp
ZyBzeW1ib2wuIFBsZWFzZSB1c2UgdGhlIGxhdHRlciwgdGhlc2UgbWFnaWMgbG9naWMgY29uc3Ry
dWN0cwphcmUgaGFyZGVyIHRvIHJlYWQgYW5kIHByb25lIHRvIGdldCB3cm9uZyBhdCBzb21lIHBv
aW50LiBIYXZpbmcgdGhlCmRlY2lzaW9uIGxvZ2ljIGluIG9uZSBwbGFjZSBpcyBhbHdheXMgdGhl
IHJpZ2h0IHRoaW5nIHRvIGRvLgoKVGhhbmtzLAoKCXRnbHgKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KWTIwMzggbWFpbGluZyBsaXN0ClkyMDM4QGxpc3Rz
LmxpbmFyby5vcmcKaHR0cHM6Ly9saXN0cy5saW5hcm8ub3JnL21haWxtYW4vbGlzdGluZm8veTIw
MzgK
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion
2017-11-17 9:54 ` Thomas Gleixner
@ 2017-11-17 10:30 ` Arnd Bergmann
2017-11-17 10:40 ` Thomas Gleixner
0 siblings, 1 reply; 13+ messages in thread
From: Arnd Bergmann @ 2017-11-17 10:30 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Deepa Dinamani, John Stultz, Linux Kernel Mailing List,
y2038 Mailman List, Arnaldo Carvalho de Melo,
Benjamin Herrenschmidt, Christian Borntraeger, Catalin Marinas,
Chris Metcalf, cohuck, David Miller, Helge Deller, devel,
gerald.schaefer, gregkh, Heiko Carstens, Jan Hoeppner,
H. Peter Anvin, James E.J. Bottomley, Julian
On Fri, Nov 17, 2017 at 10:54 AM, Thomas Gleixner <tglx@linutronix.de> wrote:
> On Fri, 17 Nov 2017, Arnd Bergmann wrote:
>> On Fri, Nov 17, 2017 at 9:58 AM, Thomas Gleixner <tglx@linutronix.de> wrote:
>>
>> No, syscall that existing 32-bit user space enters would be handled by
>> compat_sys_nanosleep() on both 32-bit and 64-bit kernels at that
>> point. The idea here is to make the code path more uniform between
>> 32-bit and 64-bit kernels.
>
> So on a 32bit system compat_sys_nanosleep() would be the legacy
> sys_nanosleep() with the existing syscall number, but you don't want to
> introduce a new sys_nanosleep64() for 32bit. That makes a lot of sense.
>
> So back to your original question whether to use #if (MAGIC logic) or a
> separate config symbol. Please use the latter, these magic logic constructs
> are harder to read and prone to get wrong at some point. Having the
> decision logic in one place is always the right thing to do.
How about this:
config LEGACY_TIME_SYSCALLS
def_bool 64BIT || !64BIT_TIME
help
This controls the compilation of the following system calls:
time, stime,
gettimeofday, settimeofday, adjtimex, nanosleep, alarm, getitimer,
setitimer, select, utime, utimes, futimesat, and
{old,new}{l,f,}stat{,64}.
These all pass 32-bit time_t arguments on 32-bit architectures and
are replaced by other interfaces (e.g. posix timers and clocks, statx).
C libraries implementing 64-bit time_t in 32-bit architectures have to
implement the handles by wrapping around the newer interfaces.
New architectures should not explicitly disable this.
Arnd
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion
2017-11-17 10:30 ` Arnd Bergmann
@ 2017-11-17 10:40 ` Thomas Gleixner
2017-11-17 10:46 ` Arnd Bergmann
0 siblings, 1 reply; 13+ messages in thread
From: Thomas Gleixner @ 2017-11-17 10:40 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Mark Rutland, open list:RALINK MIPS ARCHITECTURE, Peter Zijlstra,
Benjamin Herrenschmidt, Stefan Haberland, Heiko Carstens,
Paul Mackerras, Deepa Dinamani, H. Peter Anvin, sparclinux, devel,
linux-s390, y2038 Mailman List, Michael Ellerman, Helge Deller,
the arch/x86 maintainers, sebott, James E.J. Bottomley,
Will Deacon, Christian Borntraeger, Ingo Molnar, oprofile-list,
Catali
T24gRnJpLCAxNyBOb3YgMjAxNywgQXJuZCBCZXJnbWFubiB3cm90ZToKPiBPbiBGcmksIE5vdiAx
NywgMjAxNyBhdCAxMDo1NCBBTSwgVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+
IHdyb3RlOgo+ID4gT24gRnJpLCAxNyBOb3YgMjAxNywgQXJuZCBCZXJnbWFubiB3cm90ZToKPiA+
PiBPbiBGcmksIE5vdiAxNywgMjAxNyBhdCA5OjU4IEFNLCBUaG9tYXMgR2xlaXhuZXIgPHRnbHhA
bGludXRyb25peC5kZT4gd3JvdGU6Cj4gPj4KPiA+PiBObywgc3lzY2FsbCB0aGF0IGV4aXN0aW5n
IDMyLWJpdCB1c2VyIHNwYWNlIGVudGVycyB3b3VsZCBiZSBoYW5kbGVkIGJ5Cj4gPj4gY29tcGF0
X3N5c19uYW5vc2xlZXAoKSBvbiBib3RoIDMyLWJpdCBhbmQgNjQtYml0IGtlcm5lbHMgYXQgdGhh
dAo+ID4+IHBvaW50LiBUaGUgaWRlYSBoZXJlIGlzIHRvIG1ha2UgdGhlIGNvZGUgcGF0aCBtb3Jl
IHVuaWZvcm0gYmV0d2Vlbgo+ID4+IDMyLWJpdCBhbmQgNjQtYml0IGtlcm5lbHMuCj4gPgo+ID4g
U28gb24gYSAzMmJpdCBzeXN0ZW0gY29tcGF0X3N5c19uYW5vc2xlZXAoKSB3b3VsZCBiZSB0aGUg
bGVnYWN5Cj4gPiBzeXNfbmFub3NsZWVwKCkgd2l0aCB0aGUgZXhpc3Rpbmcgc3lzY2FsbCBudW1i
ZXIsIGJ1dCB5b3UgZG9uJ3Qgd2FudCB0bwo+ID4gaW50cm9kdWNlIGEgbmV3IHN5c19uYW5vc2xl
ZXA2NCgpIGZvciAzMmJpdC4gVGhhdCBtYWtlcyBhIGxvdCBvZiBzZW5zZS4KPiA+Cj4gPiBTbyBi
YWNrIHRvIHlvdXIgb3JpZ2luYWwgcXVlc3Rpb24gd2hldGhlciB0byB1c2UgI2lmIChNQUdJQyBs
b2dpYykgb3IgYQo+ID4gc2VwYXJhdGUgY29uZmlnIHN5bWJvbC4gUGxlYXNlIHVzZSB0aGUgbGF0
dGVyLCB0aGVzZSBtYWdpYyBsb2dpYyBjb25zdHJ1Y3RzCj4gPiBhcmUgaGFyZGVyIHRvIHJlYWQg
YW5kIHByb25lIHRvIGdldCB3cm9uZyBhdCBzb21lIHBvaW50LiBIYXZpbmcgdGhlCj4gPiBkZWNp
c2lvbiBsb2dpYyBpbiBvbmUgcGxhY2UgaXMgYWx3YXlzIHRoZSByaWdodCB0aGluZyB0byBkby4K
PiAKPiBIb3cgYWJvdXQgdGhpczoKPiAKPiBjb25maWcgTEVHQUNZX1RJTUVfU1lTQ0FMTFMKPiAg
ICAgICBkZWZfYm9vbCA2NEJJVCB8fCAhNjRCSVRfVElNRQo+ICAgICAgIGhlbHAKPiAgICAgICAg
IFRoaXMgY29udHJvbHMgdGhlIGNvbXBpbGF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgc3lzdGVtIGNh
bGxzOgo+IHRpbWUsIHN0aW1lLAo+ICAgICAgICAgZ2V0dGltZW9mZGF5LCBzZXR0aW1lb2ZkYXks
IGFkanRpbWV4LCBuYW5vc2xlZXAsIGFsYXJtLCBnZXRpdGltZXIsCj4gICAgICAgICBzZXRpdGlt
ZXIsIHNlbGVjdCwgdXRpbWUsIHV0aW1lcywgZnV0aW1lc2F0LCBhbmQKPiB7b2xkLG5ld317bCxm
LH1zdGF0eyw2NH0uCj4gICAgICAgICBUaGVzZSBhbGwgcGFzcyAzMi1iaXQgdGltZV90IGFyZ3Vt
ZW50cyBvbiAzMi1iaXQgYXJjaGl0ZWN0dXJlcyBhbmQKPiAgICAgICAgIGFyZSByZXBsYWNlZCBi
eSBvdGhlciBpbnRlcmZhY2VzIChlLmcuIHBvc2l4IHRpbWVycyBhbmQgY2xvY2tzLCBzdGF0eCku
Cj4gICAgICAgICBDIGxpYnJhcmllcyBpbXBsZW1lbnRpbmcgNjQtYml0IHRpbWVfdCBpbiAzMi1i
aXQgYXJjaGl0ZWN0dXJlcyBoYXZlIHRvCj4gICAgICAgICBpbXBsZW1lbnQgdGhlIGhhbmRsZXMg
Ynkgd3JhcHBpbmcgYXJvdW5kIHRoZSBuZXdlciBpbnRlcmZhY2VzLgoKcy9oYW5kbGVzL2hhbmRs
aW5nLyA/Pz8/Cgo+ICAgICAgICAgTmV3IGFyY2hpdGVjdHVyZXMgc2hvdWxkIG5vdCBleHBsaWNp
dGx5IGRpc2FibGUgdGhpcy4KCk5ldyBhcmNoaXRlY3R1cmVzIHNob3VsZCBuZXZlciBlbmFibGUg
dGhpcywgcmlnaHQ/CgpUaGFua3MsCgoJdGdseApfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpZMjAzOCBtYWlsaW5nIGxpc3QKWTIwMzhAbGlzdHMubGluYXJv
Lm9yZwpodHRwczovL2xpc3RzLmxpbmFyby5vcmcvbWFpbG1hbi9saXN0aW5mby95MjAzOAo=
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion
2017-11-17 10:40 ` Thomas Gleixner
@ 2017-11-17 10:46 ` Arnd Bergmann
0 siblings, 0 replies; 13+ messages in thread
From: Arnd Bergmann @ 2017-11-17 10:46 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Mark Rutland, open list:RALINK MIPS ARCHITECTURE, Peter Zijlstra,
Benjamin Herrenschmidt, Stefan Haberland, Heiko Carstens,
Paul Mackerras, Deepa Dinamani, H. Peter Anvin, sparclinux, devel,
linux-s390, y2038 Mailman List, Michael Ellerman, Helge Deller,
the arch/x86 maintainers, sebott, James E.J. Bottomley,
Will Deacon, Christian Borntraeger, Ingo Molnar, oprofile-list,
Catali
T24gRnJpLCBOb3YgMTcsIDIwMTcgYXQgMTE6NDAgQU0sIFRob21hcyBHbGVpeG5lciA8dGdseEBs
aW51dHJvbml4LmRlPiB3cm90ZToKPiBPbiBGcmksIDE3IE5vdiAyMDE3LCBBcm5kIEJlcmdtYW5u
IHdyb3RlOgo+PiBPbiBGcmksIE5vdiAxNywgMjAxNyBhdCAxMDo1NCBBTSwgVGhvbWFzIEdsZWl4
bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+IHdyb3RlOgo+PiA+IE9uIEZyaSwgMTcgTm92IDIwMTcs
IEFybmQgQmVyZ21hbm4gd3JvdGU6Cj4+ID4+IE9uIEZyaSwgTm92IDE3LCAyMDE3IGF0IDk6NTgg
QU0sIFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPiB3cm90ZToKPj4gPj4KPj4g
Pj4gTm8sIHN5c2NhbGwgdGhhdCBleGlzdGluZyAzMi1iaXQgdXNlciBzcGFjZSBlbnRlcnMgd291
bGQgYmUgaGFuZGxlZCBieQo+PiA+PiBjb21wYXRfc3lzX25hbm9zbGVlcCgpIG9uIGJvdGggMzIt
Yml0IGFuZCA2NC1iaXQga2VybmVscyBhdCB0aGF0Cj4+ID4+IHBvaW50LiBUaGUgaWRlYSBoZXJl
IGlzIHRvIG1ha2UgdGhlIGNvZGUgcGF0aCBtb3JlIHVuaWZvcm0gYmV0d2Vlbgo+PiA+PiAzMi1i
aXQgYW5kIDY0LWJpdCBrZXJuZWxzLgo+PiA+Cj4+ID4gU28gb24gYSAzMmJpdCBzeXN0ZW0gY29t
cGF0X3N5c19uYW5vc2xlZXAoKSB3b3VsZCBiZSB0aGUgbGVnYWN5Cj4+ID4gc3lzX25hbm9zbGVl
cCgpIHdpdGggdGhlIGV4aXN0aW5nIHN5c2NhbGwgbnVtYmVyLCBidXQgeW91IGRvbid0IHdhbnQg
dG8KPj4gPiBpbnRyb2R1Y2UgYSBuZXcgc3lzX25hbm9zbGVlcDY0KCkgZm9yIDMyYml0LiBUaGF0
IG1ha2VzIGEgbG90IG9mIHNlbnNlLgo+PiA+Cj4+ID4gU28gYmFjayB0byB5b3VyIG9yaWdpbmFs
IHF1ZXN0aW9uIHdoZXRoZXIgdG8gdXNlICNpZiAoTUFHSUMgbG9naWMpIG9yIGEKPj4gPiBzZXBh
cmF0ZSBjb25maWcgc3ltYm9sLiBQbGVhc2UgdXNlIHRoZSBsYXR0ZXIsIHRoZXNlIG1hZ2ljIGxv
Z2ljIGNvbnN0cnVjdHMKPj4gPiBhcmUgaGFyZGVyIHRvIHJlYWQgYW5kIHByb25lIHRvIGdldCB3
cm9uZyBhdCBzb21lIHBvaW50LiBIYXZpbmcgdGhlCj4+ID4gZGVjaXNpb24gbG9naWMgaW4gb25l
IHBsYWNlIGlzIGFsd2F5cyB0aGUgcmlnaHQgdGhpbmcgdG8gZG8uCj4+Cj4+IEhvdyBhYm91dCB0
aGlzOgo+Pgo+PiBjb25maWcgTEVHQUNZX1RJTUVfU1lTQ0FMTFMKPj4gICAgICAgZGVmX2Jvb2wg
NjRCSVQgfHwgITY0QklUX1RJTUUKPj4gICAgICAgaGVscAo+PiAgICAgICAgIFRoaXMgY29udHJv
bHMgdGhlIGNvbXBpbGF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgc3lzdGVtIGNhbGxzOgo+PiB0aW1l
LCBzdGltZSwKPj4gICAgICAgICBnZXR0aW1lb2ZkYXksIHNldHRpbWVvZmRheSwgYWRqdGltZXgs
IG5hbm9zbGVlcCwgYWxhcm0sIGdldGl0aW1lciwKPj4gICAgICAgICBzZXRpdGltZXIsIHNlbGVj
dCwgdXRpbWUsIHV0aW1lcywgZnV0aW1lc2F0LCBhbmQKPj4ge29sZCxuZXd9e2wsZix9c3RhdHss
NjR9Lgo+PiAgICAgICAgIFRoZXNlIGFsbCBwYXNzIDMyLWJpdCB0aW1lX3QgYXJndW1lbnRzIG9u
IDMyLWJpdCBhcmNoaXRlY3R1cmVzIGFuZAo+PiAgICAgICAgIGFyZSByZXBsYWNlZCBieSBvdGhl
ciBpbnRlcmZhY2VzIChlLmcuIHBvc2l4IHRpbWVycyBhbmQgY2xvY2tzLCBzdGF0eCkuCj4+ICAg
ICAgICAgQyBsaWJyYXJpZXMgaW1wbGVtZW50aW5nIDY0LWJpdCB0aW1lX3QgaW4gMzItYml0IGFy
Y2hpdGVjdHVyZXMgaGF2ZSB0bwo+PiAgICAgICAgIGltcGxlbWVudCB0aGUgaGFuZGxlcyBieSB3
cmFwcGluZyBhcm91bmQgdGhlIG5ld2VyIGludGVyZmFjZXMuCj4KPiBzL2hhbmRsZXMvaGFuZGxp
bmcvID8/Pz8KCkkgbWVhbnQgImhhbmRsZXJzIi4KCj4+ICAgICAgICAgTmV3IGFyY2hpdGVjdHVy
ZXMgc2hvdWxkIG5vdCBleHBsaWNpdGx5IGRpc2FibGUgdGhpcy4KPgo+IE5ldyBhcmNoaXRlY3R1
cmVzIHNob3VsZCBuZXZlciBlbmFibGUgdGhpcywgcmlnaHQ/CgpSaWdodCwgSSBnb3QgYW4gZXh0
cmEgIm5vdCIuIEkgZ3Vlc3MgaWYgRGVlcGEgaW5jb3Jwb3JhdGVzIHRoZSBuZXcgb3B0aW9uLApz
aGUgY2FuIGFsc28gaW1wcm92ZSBteSBFbmdsaXNoIDstKQoKICAgICAgICAgQXJuZApfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpZMjAzOCBtYWlsaW5nIGxp
c3QKWTIwMzhAbGlzdHMubGluYXJvLm9yZwpodHRwczovL2xpc3RzLmxpbmFyby5vcmcvbWFpbG1h
bi9saXN0aW5mby95MjAzOAo=
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2017-11-17 10:46 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-10 22:42 [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion Deepa Dinamani
2017-11-10 22:42 ` [PATCH 1/9] include: Move compat_timespec/ timeval to compat_time.h Deepa Dinamani
2017-11-11 2:38 ` Steven Rostedt
2017-11-14 14:24 ` [PATCH 0/9] posix_clocks: Prepare syscalls for 64 bit time_t conversion Arnd Bergmann
2017-11-15 23:11 ` Deepa Dinamani
2017-11-16 9:04 ` Thomas Gleixner
2017-11-16 23:42 ` Arnd Bergmann
2017-11-17 8:58 ` Thomas Gleixner
2017-11-17 9:31 ` Arnd Bergmann
2017-11-17 9:54 ` Thomas Gleixner
2017-11-17 10:30 ` Arnd Bergmann
2017-11-17 10:40 ` Thomas Gleixner
2017-11-17 10:46 ` Arnd Bergmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox