Re: [Bugme-new] [Bug 8479] New: gettimeofday returning 1000000 in tv_usec on core2duo

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

 



On Tue, 2007-05-15 at 10:17 +0200, Eric Dumazet wrote:
> OK, here is the fix only patch, for linux-2.6.21-stable only, since 2.6.22 is already fixed.
> 
> [PATCH] x86_64 : Fix vgettimeofday()
> 
> vgettimeofday() may return some bad timeval values, (tv_usec = 1000000), because of a wrong compare.
> 
> Signed-off-by: Eric Dumazet <[email protected]>
> 
> --- arch/x86_64/kernel/vsyscall.c
> +++ arch/x86_64/kernel/vsyscall.c
> @@ -132,7 +132,7 @@ static __always_inline void do_vgettimeo
>  
>  	/* convert to usecs and add to timespec: */
>  	tv->tv_usec += nsec_delta / NSEC_PER_USEC;
> -	while (tv->tv_usec > USEC_PER_SEC) {
> +	while (tv->tv_usec >= USEC_PER_SEC) {
>  		tv->tv_sec += 1;
>  		tv->tv_usec -= USEC_PER_SEC;
>  	}

That fixed it, thanks.

Daniel

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux