Re: Why does timerfd() only support CLOCK_REALTIME and CLOCK_MONOTONIC?

Davide Libenzi
2009-02-08T22:06:57Z

On Mon, 9 Feb 2009, Michael Kerrisk wrote:

> On Mon, Feb 9, 2009 at 10:50 AM, Davide Libenzi <davidel@xmailserver.org> wrote:
> > On Mon, 9 Feb 2009, Michael Kerrisk wrote:
> >
> >> > @@ -186,12 +187,9 @@ SYSCALL_DEFINE2(timerfd_create, int, clo
> >> > BUILD_BUG_ON(TFD_CLOEXEC != O_CLOEXEC);
> >> > BUILD_BUG_ON(TFD_NONBLOCK != O_NONBLOCK);
> >> >
> >> > - if (flags & ~(TFD_CLOEXEC | TFD_NONBLOCK))
> >> > + if ((flags & ~TFD_FLAGS_SET) ||
> >> > + invalid_clockid(clockid))
> >> > return -EINVAL;
> >>
> >> Oh! Does this mean that in 2.6.2[789] it wasn't possible to use
> >> TFD_TIMER_ABSTIME?
> >
> > No, sorry, my fault. Patch is wrong. In "create" ATM we accept only
> > FCNTL-like flags. In "settime" we get TFD_TIMER_ABSTIME (that needs a
> > check too for EINVAL).
>
> That last piece should be a separate patch, that also gets pushed back
> into -stable. Do you agree?

Hmm, it's a check for extra bits that do not cause any harm. Dunno if it
fits -stable requirements. You should ask Greg.

- Davide