|
@@ -64,6 +64,16 @@ struct vsyscall_gtod_data __vsyscall_gtod_data __section_vsyscall_gtod_data =
|
|
|
.sysctl_enabled = 1,
|
|
|
};
|
|
|
|
|
|
+void update_vsyscall_tz(void)
|
|
|
+{
|
|
|
+ unsigned long flags;
|
|
|
+
|
|
|
+ write_seqlock_irqsave(&vsyscall_gtod_data.lock, flags);
|
|
|
+ /* sys_tz has changed */
|
|
|
+ vsyscall_gtod_data.sys_tz = sys_tz;
|
|
|
+ write_sequnlock_irqrestore(&vsyscall_gtod_data.lock, flags);
|
|
|
+}
|
|
|
+
|
|
|
void update_vsyscall(struct timespec *wall_time, struct clocksource *clock)
|
|
|
{
|
|
|
unsigned long flags;
|
|
@@ -77,7 +87,6 @@ void update_vsyscall(struct timespec *wall_time, struct clocksource *clock)
|
|
|
vsyscall_gtod_data.clock.shift = clock->shift;
|
|
|
vsyscall_gtod_data.wall_time_sec = wall_time->tv_sec;
|
|
|
vsyscall_gtod_data.wall_time_nsec = wall_time->tv_nsec;
|
|
|
- vsyscall_gtod_data.sys_tz = sys_tz;
|
|
|
vsyscall_gtod_data.wall_to_monotonic = wall_to_monotonic;
|
|
|
write_sequnlock_irqrestore(&vsyscall_gtod_data.lock, flags);
|
|
|
}
|