Re: [PATCH 0/2] hwclock: Fix excessive adjustment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 05, 2014 at 08:49:01PM +0200, Stanislav Brabec wrote:
> Algorithm of calculation of hwclock adjustment is vulnerable to
> miscalculations. These miscalculations may lead to clock drifting by
> many years even after fixing CMOS hwclock failure.
> 
> Following two patches are attempts to solve the most visible parts of
> the problem:
> - Calculation of excessive drift values in /etc/adjtime
> - Applying of excessive drift that causes many years clock failure.
> - It also prevents hangs before 4a44a54b.

 Applied, thanks.

> There are further poor places in the code that are above the scope of
> this patch set:
> - Algorithm for detecting of invalid hwclock is very poor (valid_p fails
>   only if hwclock output fails to pass mktime()).
> - There is no or failing discrimination between fine time adjustment and
>   clock set.
> - In particular, proposed patch does not cover miscalculation while
>   changing clock due to DST change, and more than 2 days passed since
>   last adjustment. This could be covered by lowering of MAX_DRIFT, but
>   heuristics for discrimination between adjustment and clock setting
>   would be much better.
> - Most of failures fixed by these patches were hidden by a poor
>   calculation of time passed since last adjustment:
>   if ((hclocktime - adjtime_p->last_calib_time) < 23 * 60 * 60)
>   (As there is no abs(), all times in past were considered as "less than
>   one day ago".)

Look forward to see another patches ;-)

    Karel

-- 
 Karel Zak  <kzak@xxxxxxxxxx>
 http://karelzak.blogspot.com
--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux