David Howells
ede5147d51
Handle ISO 8601 leap seconds and encodings of midnight in mktime64()
...
Handle the following ISO 8601 features in mktime64():
(1) Leap seconds.
Leap seconds are indicated by the seconds parameter being the value
60. Handle this by treating it the same as 00 of the following
minute.
It has been pointed out that a minute may contain two leap seconds.
However, pending discussion of what that looks like and how to handle
it, I'm not going to concern myself with it.
(2) Alternate encodings of midnight.
Two different encodings of midnight are permitted - 00:00:00 and
24:00:00 - the first is midnight today and the second is midnight
tomorrow and is exactly equivalent to the first with tomorrow's date.
As it happens, we don't actually need to change mktime64() to handle either
of these - just comment them as valid parameters.
These facility will be used by the X.509 parser. Doing it in mktime64()
makes the policy common to the whole kernel and easier to find.
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
cc: John Stultz <john.stultz@linaro.org>
cc: Rudolf Polzer <rpolzer@google.com>
cc: One Thousand Gnomes <gnomes@lxorguk.ukuu.org.uk>
2016-02-29 14:29:40 +00:00
..
alarmtimer.c
alarmtimer: Avoid unexpected rtc interrupt when system resume from S3
2015-12-03 22:31:42 -08:00
clockevents.c
clockevents: Remove unused set_mode() callback
2015-09-14 11:00:55 +02:00
clocksource.c
clocksource: Add CPU info to clocksource watchdog reporting
2015-12-07 12:15:28 -08:00
hrtimer.c
hrtimer: Handle remaining time proper for TIME_LOW_RES
2016-01-17 11:13:55 +01:00
itimer.c
itimers: Handle relative timers with CONFIG_TIME_LOW_RES proper
2016-01-17 11:13:55 +01:00
jiffies.c
tick: Move clocksource related stuff to timekeeping.h
2015-04-01 14:22:58 +02:00
Kconfig
rcu: Drop RCU_USER_QS in favor of NO_HZ_FULL
2015-07-06 13:52:18 -07:00
Makefile
time: Remove development rules from Kbuild/Makefile
2015-07-01 09:57:35 +02:00
ntp.c
ntp: Fix ADJ_SETOFFSET being used w/ ADJ_NANO
2016-01-22 12:01:42 +01:00
ntp_internal.h
ntp: Fix second_overflow's input parameter type to be 64bits
2015-12-16 16:50:56 -08:00
posix-clock.c
posix-clock: Fix return code on the poll method's error path
2015-12-29 11:33:06 +01:00
posix-cpu-timers.c
posix_cpu_timer: Reduce unnecessary sighand lock contention
2015-10-15 11:23:41 +02:00
posix-timers.c
posix-timers: Handle relative timers with CONFIG_TIME_LOW_RES proper
2016-01-17 11:13:55 +01:00
sched_clock.c
timers, sched/clock: Clean up the code a bit
2015-03-27 08:34:01 +01:00
test_udelay.c
time: Rename udelay_test.c to test_udelay.c
2014-11-21 11:59:55 -08:00
tick-broadcast-hrtimer.c
kernel: broadcast-hrtimer: Migrate to new 'set-state' interface
2015-08-10 11:41:08 +02:00
tick-broadcast.c
tick: Move the export of tick_broadcast_oneshot_control to the proper place
2015-07-14 12:01:04 +02:00
tick-common.c
clockevents: Remove unused set_mode() callback
2015-09-14 11:00:55 +02:00
tick-internal.h
timer: Minimize nohz off overhead
2015-06-19 15:18:28 +02:00
tick-oneshot.c
clockevents: Provide functions to set and get the state
2015-06-02 14:40:47 +02:00
tick-sched.c
Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-01-31 15:49:06 -08:00
tick-sched.h
tick/broadcast: Make idle check independent from mode and config
2015-07-07 18:46:47 +02:00
time.c
Handle ISO 8601 leap seconds and encodings of midnight in mktime64()
2016-02-29 14:29:40 +00:00
timeconst.bc
timeconst: Update path in comment
2015-10-26 10:06:06 +09:00
timeconv.c
time: add function to convert between calendar time and broken-down time for universal use
2009-09-24 07:20:56 -07:00
timecounter.c
timecounter: keep track of accumulated fractional nanoseconds
2014-12-30 18:29:27 -05:00
timekeeping.c
timekeeping: Cap adjustments so they don't exceed the maxadj value
2015-12-16 16:50:57 -08:00
timekeeping.h
hrtimer: Make offset update smarter
2015-04-22 17:06:49 +02:00
timekeeping_debug.c
timekeeping: Convert timekeeping core to use timespec64s
2014-07-23 10:17:54 -07:00
timekeeping_internal.h
clocksource: Make clocksource validation work for all clocksources
2015-12-19 15:59:57 +01:00
timer.c
timers: Use proper base migration in add_timer_on()
2015-11-04 20:23:19 +01:00
timer_list.c
hrtimer: Handle remaining time proper for TIME_LOW_RES
2016-01-17 11:13:55 +01:00
timer_stats.c
timer: Stats: Simplify the flags handling
2015-06-19 15:18:27 +02:00