Re: compat_sys_times() bogus until jiffies >= 0.

From: Andrew Morton
Date: Wed Nov 07 2007 - 20:18:44 EST


> On Thu, 08 Nov 2007 01:54:40 +0100 Andreas Schwab <schwab@xxxxxxx> wrote:
> Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> writes:
>
> > diff -puN kernel/compat.c~a kernel/compat.c
> > --- a/kernel/compat.c~a
> > +++ a/kernel/compat.c
> > @@ -162,7 +162,8 @@ asmlinkage long compat_sys_times(struct
> > if (copy_to_user(tbuf, &tmp, sizeof(tmp)))
> > return -EFAULT;
> > }
> > - return compat_jiffies_to_clock_t(jiffies);
> > + return compat_jiffies_to_clock_t((jiffies + INITIAL_JIFFIES) &
> > + LONG_MAX);
>
> Are you sure you want LONG_MAX here, not 0x7fffffff?
>

I'm not sure of anything - I'm just trolling ;)

That's 0x7fffffffffffffff for architectures which implement this function.
I think that lines up correctly with jiffies and the return value from
compat_sys_times().

Perhaps formally it should be USERSPACE_CLOCK_T_MAX, but we don't have that.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/