aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/lasat
diff options
context:
space:
mode:
authorXunlei Pang <pang.xunlei@linaro.org>2015-04-01 23:34:22 -0400
committerIngo Molnar <mingo@kernel.org>2015-04-03 02:18:19 -0400
commit2ee966320028ac846654eba5344540eeb4dc228d (patch)
treef76ad848dbad24961069e1361821570b00e83ef6 /arch/mips/lasat
parent9a806ddbb9a18c510e4acdcc828b9a87f5fd3aef (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.c4
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;
75int proc_dolasatrtc(struct ctl_table *table, int write, 75int 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)