Thomas Gleixner
bd45b7a385
timekeeping: Fix timezone update
...
commit 64ce4c2f (time: Clean up warp_clock()) breaks the timezone
update in a very subtle way. To avoid the direct access to timekeeping
internals it adds the timezone delta to the current time with
timespec_add_safe(). This works nicely when the timezone delta is > 0.
If timezone delta is < 0 then the wrap check in timespec_add_safe()
triggers and timespec_add_safe() returns TIME_MAX and screws up
timekeeping completely.
The comment above timespec_add_safe() says:
It's assumed that both values are valid (>= 0)
Add the timezone seconds adjustment directly.
Reported-by: Rafael J. Wysocki <rjw@sisk.pl >
Tested-by: Rafael J. Wysocki <rjw@sisk.pl >
Acked-by: John Stultz <johnstul@us.ibm.com >
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2010-05-24 11:50:38 +02:00
..
2010-05-20 21:04:29 -05:00
2010-05-12 11:23:34 +02:00
2010-05-10 23:08:18 +02:00
2010-05-19 17:11:10 -07:00
2010-05-21 21:27:26 +02:00
2010-05-18 08:57:00 +10:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-04-05 13:19:45 -07:00
2009-12-12 13:08:14 +01:00
2010-04-02 20:12:00 +02:00
2010-05-10 23:18:47 +02:00
2010-05-20 09:20:59 -07:00
2010-05-19 11:48:18 -07:00
2010-05-06 18:49:20 +02:00
2010-04-02 20:12:03 +02:00
2010-05-20 08:55:50 -07:00
2010-03-29 18:55:40 +02:00
2010-03-06 11:26:46 -08:00
2010-04-15 09:36:16 +02:00
2010-05-18 08:19:03 -07:00
2009-12-09 14:22:14 +01:00
2010-02-03 15:13:22 +01:00
2010-04-12 12:19:18 +10:00
2010-04-06 21:50:03 +02:00
2009-11-27 06:21:57 +01:00
2010-05-04 08:39:36 +02:00
2009-11-18 16:32:12 +01:00
2010-05-20 21:04:21 -05:00
2009-12-03 11:50:11 +01:00
2010-05-11 17:33:42 -07:00
2010-02-16 15:11:08 -08:00
2010-01-11 09:34:04 -08:00
2010-05-08 18:08:30 +02:00
2010-05-21 09:37:31 -07:00
2010-03-24 16:31:21 -07:00
2010-03-30 22:02:32 +09:00
2010-05-04 05:38:16 +02:00
2010-04-06 00:15:37 +02:00
2010-05-21 09:37:30 -07:00
2010-05-20 21:04:18 -05:00
2010-05-21 17:15:44 -07:00
2009-12-14 23:55:32 +01:00
2009-12-03 11:50:11 +01:00
2010-02-25 10:34:26 +01:00
2010-03-30 22:02:32 +09:00
2010-05-19 13:45:35 +10:00
2010-05-19 08:37:43 +01:00
2010-03-12 16:04:50 -08:00
2010-05-11 17:08:24 +02:00
2010-03-30 22:02:32 +09:00
2010-03-13 14:43:01 -08:00
2010-05-17 00:21:03 +02:00
2010-05-10 14:24:26 +02:00
2010-02-05 14:54:10 +01:00
2010-05-20 21:04:27 -05:00
2010-05-14 19:45:06 -07:00
2010-05-18 08:19:03 -07:00
2010-02-10 17:47:17 -08:00
2010-05-10 11:08:34 -07:00
2010-05-10 11:08:34 -07:00
2010-05-11 16:10:47 -07:00
2010-05-18 08:27:54 -07:00
2010-05-11 16:10:47 -07:00
2010-05-10 11:08:35 -07:00
2010-05-11 16:10:47 -07:00
2010-05-10 11:08:35 -07:00
2010-05-21 21:12:40 +02:00
2010-03-30 22:02:32 +09:00
2010-05-11 12:01:10 -07:00
2009-12-14 23:55:33 +01:00
2009-12-14 23:55:33 +01:00
2010-04-15 08:54:59 +02:00
2010-03-30 22:02:32 +09:00
2009-12-14 23:55:33 +01:00
2010-05-18 08:27:54 -07:00
2010-05-06 18:49:21 +02:00
2010-03-11 18:32:53 +01:00
2010-04-23 11:02:02 +02:00
2010-04-02 20:12:05 +02:00
2010-05-21 11:08:05 -07:00
2010-05-20 21:04:21 -05:00
2009-12-01 08:20:31 -08:00
2010-03-29 09:13:30 -07:00
2010-03-29 09:14:47 -07:00
2010-03-30 22:02:32 +09:00
2010-05-10 11:08:33 -07:00
2010-03-21 19:30:13 +01:00
2009-12-14 23:55:33 +01:00
2010-03-30 22:02:32 +09:00
2010-05-18 00:17:44 +02:00
2010-03-12 15:52:32 -08:00
2010-05-06 10:56:07 +10:00
2010-05-08 01:57:52 -07:00
2009-12-03 12:14:38 -08:00
2010-05-21 15:25:33 -07:00
2010-03-30 22:02:32 +09:00
2010-05-24 11:50:38 +02:00
2010-05-10 14:20:42 +02:00
2010-03-06 11:26:23 -08:00
2010-05-21 09:37:29 -07:00
2009-12-02 10:22:59 +01:00
2010-05-10 08:48:39 +02:00
2010-04-30 08:57:25 +02:00