2007-05-21 19:57:07

by Chris Wright

[permalink] [raw]
Subject: [patch 46/69] [PATCH] x86_64 : Fix vgettimeofday()

-stable review patch. If anyone has any objections, please let us know.
---------------------

From: Eric Dumazet <[email protected]>

vgettimeofday() may return some bad timeval values, (tv_usec = 1000000), because of a wrong compare.

Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: Chris Wright <[email protected]>
---
arch/x86_64/kernel/vsyscall.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-2.6.21.1.orig/arch/x86_64/kernel/vsyscall.c
+++ linux-2.6.21.1/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;
}

--