Messages in this thread | | | Date | Sun, 19 Mar 2006 22:13:22 -0800 | From | Andrew Morton <> | Subject | Re: [patch 2/2] Validate and sanitze itimer timeval from userspace |
| |
Thomas Gleixner <tglx@linutronix.de> wrote: > > +static void fixup_timeval(struct timeval *tv, int interval) > +{ > ... > + tmp = (unsigned long) tv->tv_usec; > + if (tmp >= USEC_PER_SEC) > + tv->tv_usec = USEC_PER_SEC - 1; > + > + tmp = (unsigned long) tv->tv_sec; > + if (tmp > (LONG_MAX >> 1)) > + tv->tv_sec = (LONG_MAX >> 1); > +}
Earlier kernels normalised the time, but this code truncates it.
For compatibility, shouldn't we be doing
tv->tv_sec += tv->tv_usec / USEC_PER_SEC;
? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |