diff options
author | Xunlei Pang <pang.xunlei@linaro.org> | 2015-04-01 23:34:22 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2015-04-03 02:18:19 -0400 |
commit | 2ee966320028ac846654eba5344540eeb4dc228d (patch) | |
tree | f76ad848dbad24961069e1361821570b00e83ef6 /arch/mips/lasat | |
parent | 9a806ddbb9a18c510e4acdcc828b9a87f5fd3aef (diff) |
time: Add y2038 safe read_persistent_clock64()
As part of addressing in-kernel y2038 issues, this patch adds
read_persistent_clock64() and replaces all the call sites of
read_persistent_clock() with this function. This is a __weak
implementation, which simply calls the existing y2038 unsafe
read_persistent_clock().
This allows architecture specific implementations to be
converted independently, and eventually the y2038 unsafe
read_persistent_clock() can be removed after all its
architecture specific implementations have been converted to
read_persistent_clock64().
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Xunlei Pang <pang.xunlei@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1427945681-29972-3-git-send-email-john.stultz@linaro.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/mips/lasat')
-rw-r--r-- | arch/mips/lasat/sysctl.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/mips/lasat/sysctl.c b/arch/mips/lasat/sysctl.c index 3b7f65cc4218..cf9b4633257e 100644 --- a/arch/mips/lasat/sysctl.c +++ b/arch/mips/lasat/sysctl.c | |||
@@ -75,11 +75,11 @@ static int rtctmp; | |||
75 | int proc_dolasatrtc(struct ctl_table *table, int write, | 75 | int proc_dolasatrtc(struct ctl_table *table, int write, |
76 | void *buffer, size_t *lenp, loff_t *ppos) | 76 | void *buffer, size_t *lenp, loff_t *ppos) |
77 | { | 77 | { |
78 | struct timespec ts; | 78 | struct timespec64 ts; |
79 | int r; | 79 | int r; |
80 | 80 | ||
81 | if (!write) { | 81 | if (!write) { |
82 | read_persistent_clock(&ts); | 82 | read_persistent_clock64(&ts); |
83 | rtctmp = ts.tv_sec; | 83 | rtctmp = ts.tv_sec; |
84 | /* check for time < 0 and set to 0 */ | 84 | /* check for time < 0 and set to 0 */ |
85 | if (rtctmp < 0) | 85 | if (rtctmp < 0) |