Re: [RFC][PATCH] timers: Add del_time_free() to be called before freeing timers

From: Steven Rostedt
Date: Fri Apr 08 2022 - 20:22:39 EST


On Fri, 08 Apr 2022 22:29:58 +0200
Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:

> Well, you'd have to reinitialize it first before the explicit rearm
> because the shutdown cleared the function pointer or if we use a flag
> then the flag would prevent arming it again.

We could always use the LSB bit of the function as a "shutdown" flag, where:

timer_shutdown() {
[..]
timer->fn = (void *)((unsigned long)timer->fn | 1);
[..]
}

timer_rearm() {
[..]
timer->fn = (void *)((unsigned long)timer->fn & ~1UL);
[..]
}

mod_timer() {

if ((unsigned long)timer->fn & 1)
return -EBUSY?;

[..]
}

-- Steve