diff options
author | DengChao <chao.deng@linaro.org> | 2015-12-13 05:26:42 +0100 |
---|---|---|
committer | John Stultz <john.stultz@linaro.org> | 2015-12-17 01:50:56 +0100 |
commit | c796348774f15c6e682834ed288bcae0f2c95707 (patch) | |
tree | 693a7d9879af61c226bd2b51d6e8bbe7920388e4 /kernel/time/ntp_internal.h | |
parent | ntp: Change time_reftime to time64_t and utilize 64bit __ktime_get_real_seconds (diff) | |
download | linux-c796348774f15c6e682834ed288bcae0f2c95707.tar.xz linux-c796348774f15c6e682834ed288bcae0f2c95707.zip |
ntp: Fix second_overflow's input parameter type to be 64bits
The function "second_overflow" uses "unsign long"
as its input parameter type which will overflow after
year 2106 on 32bit systems.
Thus this patch replaces it with time64_t type.
While the 64-bit division is expensive, "next_ntp_leap_sec"
has been calculated already, so we can just re-use it in the
TIME_INS/DEL cases, allowing one expensive division per
leapsecond instead of re-doing the divsion once a second after
the leap flag has been set.
Signed-off-by: DengChao <chao.deng@linaro.org>
[jstultz: Tweaked commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Diffstat (limited to 'kernel/time/ntp_internal.h')
-rw-r--r-- | kernel/time/ntp_internal.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/time/ntp_internal.h b/kernel/time/ntp_internal.h index af924470eac0..d8a7c11fa71a 100644 --- a/kernel/time/ntp_internal.h +++ b/kernel/time/ntp_internal.h @@ -6,7 +6,7 @@ extern void ntp_clear(void); /* Returns how long ticks are at present, in ns / 2^NTP_SCALE_SHIFT. */ extern u64 ntp_tick_length(void); extern ktime_t ntp_get_next_leap(void); -extern int second_overflow(unsigned long secs); +extern int second_overflow(time64_t secs); extern int ntp_validate_timex(struct timex *); extern int __do_adjtimex(struct timex *, struct timespec64 *, s32 *); extern void __hardpps(const struct timespec64 *, const struct timespec64 *); |