From: Eric Dumazet Date: Tue, 15 May 2007 08:17:58 +0000 (+0200) Subject: [PATCH] x86_64 : Fix vgettimeofday() X-Git-Tag: v2.6.21.2~24 X-Git-Url: https://git.fsl.cs.sunysb.edu/?a=commitdiff_plain;h=b07fee24dcefbeed5bdacb7e1b74e8423a2c20be;p=unionfs-2.6.39.y.git [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 Signed-off-by: Chris Wright --- diff --git a/arch/x86_64/kernel/vsyscall.c b/arch/x86_64/kernel/vsyscall.c index b43c698cf7d..fc9f0429e3f 100644 --- a/arch/x86_64/kernel/vsyscall.c +++ b/arch/x86_64/kernel/vsyscall.c @@ -132,7 +132,7 @@ static __always_inline void do_vgettimeofday(struct timeval * tv) /* 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; }