Re: [BUG] Null pointer deref with hrtimer_try_to_cancel()

From: Oleg Nesterov
Date: Sat Dec 20 2008 - 16:06:10 EST


On 12/20, Thomas Gleixner wrote:
>
> +static int no_timer_create(struct k_itimer *new_timer)
> +{
> + return -EOPNOTSUPP;
> +}
> +
> /*
> * Return nonzero if we know a priori this clockid_t value is bogus.
> */
> @@ -248,6 +253,7 @@ static __init int init_posix_timers(void)
> .clock_getres = hrtimer_get_res,
> .clock_get = posix_get_monotonic_raw,
> .clock_set = do_posix_clock_nosettime,
> + .timer_create = no_timer_create,

Agreed, this patch is better than mine (and thanks for your
explanation about CLOCK_MONOTONIC_RAW).

I am not sure about -EOPNOTSUPP. To clarify, I do not claim this
is wrong, I just do not know.

But please note that sys_timer_create() does:

if (invalid_clockid(which_clock))
return -EINVAL;

And ltp's timer_create04.c expects timer_create(MAX_CLOCKS == 4)
returns -EINVAL.

Oleg.

--
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/