hrtimers: Introduce hrtimer_update_function()
authorNam Cao <namcao@linutronix.de>
Thu, 31 Oct 2024 15:14:23 +0000 (16:14 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 7 Nov 2024 01:47:05 +0000 (02:47 +0100)
commit8f02e3563bb5824eb01c94f2c75f1dcee2d05625
treed6b768aa48331dfef44970ae367fc21f30d0c384
parentc9bd83abfeb9a9b103e689b251ccff7a01be8366
hrtimers: Introduce hrtimer_update_function()

Some users of hrtimer need to change the callback function after the
initial setup. They write to hrtimer::function directly.

That's not safe under all circumstances as the write is lockless and a
concurrent timer expiry might end up using the wrong function pointer.

Introduce hrtimer_update_function(), which also performs runtime checks
whether it is safe to modify the callback.

This allows to make hrtimer::function private once all users are converted.

Signed-off-by: Nam Cao <namcao@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20a937b0ae09ad54b5b6d86eabead7c570f1b72e.1730386209.git.namcao@linutronix.de
include/linux/hrtimer.h