From: Stanislav Brabec Date: Mon, 5 May 2014 18:49:49 +0000 (+0200) Subject: hwclock: Check drift value in /etc/adjtime X-Git-Tag: v2.25-rc1~204 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=db8fc5f37728810bdd5b865ac420c31714e35def;p=thirdparty%2Futil-linux.git hwclock: Check drift value in /etc/adjtime Due to bug in older versions of hwclock, /etc/adjtime can contain excessive drift value (up to many years per day). Prevent it from applying. Signed-off-by: Stanislav Brabec --- diff --git a/sys-utils/hwclock.c b/sys-utils/hwclock.c index 5e786a84a4..fe97fcb751 100644 --- a/sys-utils/hwclock.c +++ b/sys-utils/hwclock.c @@ -1211,6 +1211,10 @@ do_adjustment(struct adjtime *adjtime_p, printf(_ ("Not setting clock because last adjustment time is zero, " "so history is bad.")); + } else if (abs(adjtime_p->drift_factor) > MAX_DRIFT) { + if (debug) + printf(_("Not setting clock because drift factor %f is far too high.\n"), + adjtime_p->drift_factor); } else { int adjustment; /* Number of seconds we must insert in the Hardware Clock */