Skip to content

Commit 5ab0886

Browse files
mlichvargregkh
authored andcommitted
ntp: Allow TAI-UTC offset to be set to zero
[ Upstream commit fdc6bae ] The ADJ_TAI adjtimex mode sets the TAI-UTC offset of the system clock. It is typically set by NTP/PTP implementations and it is automatically updated by the kernel on leap seconds. The initial value is zero (which applications may interpret as unknown), but this value cannot be set by adjtimex. This limitation seems to go back to the original "nanokernel" implementation by David Mills. Change the ADJ_TAI check to accept zero as a valid TAI-UTC offset in order to allow setting it back to the initial value. Fixes: 153b5d0 ("ntp: support for TAI") Suggested-by: Ondrej Mosnacek <[email protected]> Signed-off-by: Miroslav Lichvar <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Cc: John Stultz <[email protected]> Cc: Richard Cochran <[email protected]> Cc: Prarit Bhargava <[email protected]> Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Sasha Levin <[email protected]>
1 parent d7541cb commit 5ab0886

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

kernel/time/ntp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,7 @@ static inline void process_adjtimex_modes(struct timex *txc,
639639
time_constant = max(time_constant, 0l);
640640
}
641641

642-
if (txc->modes & ADJ_TAI && txc->constant > 0)
642+
if (txc->modes & ADJ_TAI && txc->constant >= 0)
643643
*time_tai = txc->constant;
644644

645645
if (txc->modes & ADJ_OFFSET)

0 commit comments

Comments
 (0)