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/

Reply via email to