aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/time.c')
-rw-r--r--kernel/time.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/kernel/time.c b/kernel/time.c
index 804798005d19..848b1c2ab09a 100644
--- a/kernel/time.c
+++ b/kernel/time.c
@@ -35,7 +35,6 @@
35#include <linux/syscalls.h> 35#include <linux/syscalls.h>
36#include <linux/security.h> 36#include <linux/security.h>
37#include <linux/fs.h> 37#include <linux/fs.h>
38#include <linux/slab.h>
39#include <linux/math64.h> 38#include <linux/math64.h>
40#include <linux/ptrace.h> 39#include <linux/ptrace.h>
41 40
@@ -133,12 +132,11 @@ SYSCALL_DEFINE2(gettimeofday, struct timeval __user *, tv,
133 */ 132 */
134static inline void warp_clock(void) 133static inline void warp_clock(void)
135{ 134{
136 write_seqlock_irq(&xtime_lock); 135 struct timespec adjust;
137 wall_to_monotonic.tv_sec -= sys_tz.tz_minuteswest * 60; 136
138 xtime.tv_sec += sys_tz.tz_minuteswest * 60; 137 adjust = current_kernel_time();
139 update_xtime_cache(0); 138 adjust.tv_sec += sys_tz.tz_minuteswest * 60;
140 write_sequnlock_irq(&xtime_lock); 139 do_settimeofday(&adjust);
141 clock_was_set();
142} 140}
143 141
144/* 142/*