> diff --git a/fs/compat.c b/fs/compat.c
> index fe3c9bf..95ceee6 100644
> --- a/fs/compat.c
> +++ b/fs/compat.c
> @@ -1680,9 +1680,16 @@ asmlinkage long compat_sys_select(int n, compat_ulong_t __user *inp,
> int ret;
>
> if (tvp) {
> + int i;
> if (copy_from_user(&tv, tvp, sizeof(tv)))
> return -EFAULT;
>
> + while (tv.tv_usec > USEC_PER_SEC && i < 1000) {
> + i++;
> + tv.tv_sec ++;
> + tv.tv_usec -= USEC_PER_SEC;
> + }
> +
> to = &end_time;
> if (poll_select_set_timeout(to, tv.tv_sec,
> tv.tv_usec * NSEC_PER_USEC))
> diff --git a/fs/select.c b/fs/select.c
> index 448e440..e4e7cdb 100644
> --- a/fs/select.c
> +++ b/fs/select.c
> @@ -515,9 +515,16 @@ asmlinkage long sys_select(int n, fd_set __user *inp, fd_set __user *outp,
> int ret;
>
> if (tvp) {
> + int i = 0;
> if (copy_from_user(&tv, tvp, sizeof(tv)))
> return -EFAULT;
>
> + while (tv.tv_usec > USEC_PER_SEC && i < 1000) {
> + i++;
> + tv.tv_sec ++;
> + tv.tv_usec -= USEC_PER_SEC;
> + }
> +
> to = &end_time;
> if (poll_select_set_timeout(to, tv.tv_sec,
> tv.tv_usec * NSEC_PER_USEC))
>
> --
> Arjan van de Ven Intel Open Source Technology Centre
> For development, discussion and tips for power savings,
> visit
http://www.lesswatts.org