Skip to content

Commit 0bbcce5

Browse files
committed
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timers and timekeeping updates from Thomas Gleixner: - Core infrastucture work for Y2038 to address the COMPAT interfaces: + Add a new Y2038 safe __kernel_timespec and use it in the core code + Introduce config switches which allow to control the various compat mechanisms + Use the new config switch in the posix timer code to control the 32bit compat syscall implementation. - Prevent bogus selection of CPU local clocksources which causes an endless reselection loop - Remove the extra kthread in the clocksource code which has no value and just adds another level of indirection - The usual bunch of trivial updates, cleanups and fixlets all over the place - More SPDX conversions * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits) clocksource/drivers/mxs_timer: Switch to SPDX identifier clocksource/drivers/timer-imx-tpm: Switch to SPDX identifier clocksource/drivers/timer-imx-gpt: Switch to SPDX identifier clocksource/drivers/timer-imx-gpt: Remove outdated file path clocksource/drivers/arc_timer: Add comments about locking while read GFRC clocksource/drivers/mips-gic-timer: Add pr_fmt and reword pr_* messages clocksource/drivers/sprd: Fix Kconfig dependency clocksource: Move inline keyword to the beginning of function declarations timer_list: Remove unused function pointer typedef timers: Adjust a kernel-doc comment tick: Prefer a lower rating device only if it's CPU local device clocksource: Remove kthread time: Change nanosleep to safe __kernel_* types time: Change types to new y2038 safe __kernel_* types time: Fix get_timespec64() for y2038 safe compat interfaces time: Add new y2038 safe __kernel_timespec posix-timers: Make compat syscalls depend on CONFIG_COMPAT_32BIT_TIME time: Introduce CONFIG_COMPAT_32BIT_TIME time: Introduce CONFIG_64BIT_TIME in architectures compat: Enable compat_get/put_timespec64 always ...
2 parents 0ef283d + e45e778 commit 0bbcce5

File tree

67 files changed

+266
-270
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+266
-270
lines changed

arch/Kconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -871,6 +871,21 @@ config OLD_SIGACTION
871871
config COMPAT_OLD_SIGACTION
872872
bool
873873

874+
config 64BIT_TIME
875+
def_bool ARCH_HAS_64BIT_TIME
876+
help
877+
This should be selected by all architectures that need to support
878+
new system calls with a 64-bit time_t. This is relevant on all 32-bit
879+
architectures, and 64-bit architectures as part of compat syscall
880+
handling.
881+
882+
config COMPAT_32BIT_TIME
883+
def_bool (!64BIT && 64BIT_TIME) || COMPAT
884+
help
885+
This enables 32 bit time_t support in addition to 64 bit time_t support.
886+
This is relevant on all 32-bit architectures, and 64-bit architectures
887+
as part of compat syscall handling.
888+
874889
config ARCH_NO_COHERENT_DMA_MMAP
875890
bool
876891

arch/alpha/include/asm/Kbuild

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22

33

4+
generic-y += compat.h
45
generic-y += exec.h
56
generic-y += export.h
67
generic-y += fb.h

arch/arc/include/asm/Kbuild

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# SPDX-License-Identifier: GPL-2.0
22
generic-y += bugs.h
3+
generic-y += compat.h
34
generic-y += device.h
45
generic-y += div64.h
56
generic-y += dma-mapping.h

arch/arm/include/asm/Kbuild

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
generic-y += compat.h
12
generic-y += current.h
23
generic-y += early_ioremap.h
34
generic-y += emergency-restart.h

arch/arm64/include/asm/compat.h

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434

3535
typedef u32 compat_size_t;
3636
typedef s32 compat_ssize_t;
37-
typedef s32 compat_time_t;
3837
typedef s32 compat_clock_t;
3938
typedef s32 compat_pid_t;
4039
typedef u16 __compat_uid_t;
@@ -66,16 +65,6 @@ typedef u32 compat_ulong_t;
6665
typedef u64 compat_u64;
6766
typedef u32 compat_uptr_t;
6867

69-
struct compat_timespec {
70-
compat_time_t tv_sec;
71-
s32 tv_nsec;
72-
};
73-
74-
struct compat_timeval {
75-
compat_time_t tv_sec;
76-
s32 tv_usec;
77-
};
78-
7968
struct compat_stat {
8069
#ifdef __AARCH64EB__
8170
short st_dev;

arch/arm64/include/asm/stat.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
#ifdef CONFIG_COMPAT
2222

23+
#include <linux/compat_time.h>
2324
#include <asm/compat.h>
2425

2526
/*

arch/arm64/kernel/hw_breakpoint.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
#include <linux/smp.h>
3131
#include <linux/uaccess.h>
3232

33-
#include <asm/compat.h>
3433
#include <asm/current.h>
3534
#include <asm/debug-monitors.h>
3635
#include <asm/hw_breakpoint.h>

arch/arm64/kernel/perf_regs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
// SPDX-License-Identifier: GPL-2.0
2+
#include <linux/compat.h>
23
#include <linux/errno.h>
34
#include <linux/kernel.h>
45
#include <linux/perf_event.h>
56
#include <linux/bug.h>
67
#include <linux/sched/task_stack.h>
78

8-
#include <asm/compat.h>
99
#include <asm/perf_regs.h>
1010
#include <asm/ptrace.h>
1111

arch/c6x/include/asm/Kbuild

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
generic-y += atomic.h
22
generic-y += barrier.h
33
generic-y += bugs.h
4+
generic-y += compat.h
45
generic-y += current.h
56
generic-y += device.h
67
generic-y += div64.h

arch/h8300/include/asm/Kbuild

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ generic-y += barrier.h
33
generic-y += bugs.h
44
generic-y += cacheflush.h
55
generic-y += checksum.h
6+
generic-y += compat.h
67
generic-y += current.h
78
generic-y += delay.h
89
generic-y += device.h

0 commit comments

Comments
 (0)