lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 23 Aug 2007 13:09:37 -0700
From:	"H. Peter Anvin" <hpa@...or.com>
To:	Avi Kivity <avi@...o.co.il>
CC:	Gerald Britton <gbritton@...mcom.org>,
	Michael Smith <msmith@...h.org>, linux-kernel@...r.kernel.org,
	Andy Wingo <wingo@...endo.com>
Subject: Re: gettimeofday() jumping into the future

Avi Kivity wrote:
> Gerald Britton wrote:
>> On Thu, Aug 23, 2007 at 01:08:27PM +0200, Michael Smith wrote:
>>  
>>> Hi,
>>>
>>> We've been seeing some strange behaviour on some of our applications
>>> recently. I've tracked this down to gettimeofday() returning spurious
>>> values occasionally.
>>>
>>> Specifically, gettimeofday() will suddenly, for a single call, return
>>> a value about 4398 seconds (~1 hour 13 minutes) in the future. The
>>> following call goes back to a normal value.
>>>     
>>
>> I have seen this as well (on a 2.6.20.4 kernel).  The value returned was
>> always identical each time the glitch occured (just a little over 4398
>> seconds).  I saw it watching packet receive timestamps and on the
>> system in
>> question, it would generally hit this problem around once a minute.  When
>> moving forward to a 2.6.21 kernel, the problem seemed to go away (also
>> back
>> to 2.6.17, unfortunately I didn't have any sample points inbetween).
>> I didn't have free time to spend bisecting attempting to find when the
>> behavior started or stopped.
> 
> That value, in nanoseconds, is 0x3fffd3a4c00.  The next second is
> 0x40038d51600.  Is the wraparound at (0x400 << 32) significant?
> 

This would be consistent with an off-by-2^32 error.  In particular, if
either a CPU bug or a code bug could at some point produce 0x400fxxxxxxx
in between then that would produce exactly the observed characteristics.

	-hpa

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ