From: Sebastian Andrzej Siewior Date: Mon, 12 Aug 2024 10:51:04 +0000 (+0200) Subject: timers: Add sparse annotation for timer_sync_wait_running(). X-Git-Tag: v6.12-rc1~194^2~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=38cd4cee73a87c40a3e9ef31c0ca7b179fd282f0;p=thirdparty%2Flinux.git timers: Add sparse annotation for timer_sync_wait_running(). timer_sync_wait_running() first releases two locks and then acquires them again. This is unexpected and sparse complains about it. Add sparse annotation for timer_sync_wait_running() to note that the locking is expected. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Thomas Gleixner Link: https://lore.kernel.org/all/20240812105326.2240000-2-bigeasy@linutronix.de --- diff --git a/kernel/time/timer.c b/kernel/time/timer.c index 64b0d8a0aa0f1..429232d8659a3 100644 --- a/kernel/time/timer.c +++ b/kernel/time/timer.c @@ -1561,6 +1561,8 @@ static inline void timer_base_unlock_expiry(struct timer_base *base) * the waiter to acquire the lock and make progress. */ static void timer_sync_wait_running(struct timer_base *base) + __releases(&base->lock) __releases(&base->expiry_lock) + __acquires(&base->expiry_lock) __acquires(&base->lock) { if (atomic_read(&base->timer_waiters)) { raw_spin_unlock_irq(&base->lock);