aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/time
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/time')
-rw-r--r--kernel/time/timekeeping.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index ec1791fae965..cad61b3f6bea 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -1332,6 +1332,12 @@ static __always_inline void timekeeping_apply_adjustment(struct timekeeper *tk,
1332 * 1332 *
1333 * XXX - TODO: Doc ntp_error calculation. 1333 * XXX - TODO: Doc ntp_error calculation.
1334 */ 1334 */
1335 if (tk->tkr.mult + mult_adj < mult_adj) {
1336 /* NTP adjustment caused clocksource mult overflow */
1337 WARN_ON_ONCE(1);
1338 return;
1339 }
1340
1335 tk->tkr.mult += mult_adj; 1341 tk->tkr.mult += mult_adj;
1336 tk->xtime_interval += interval; 1342 tk->xtime_interval += interval;
1337 tk->tkr.xtime_nsec -= offset; 1343 tk->tkr.xtime_nsec -= offset;