[PATCH] alarmtimer: Trace the requested expiry when starting an alarm

From: Avi Weiss

Date: Sun Nov 01 2026 - 14:24:12 EST


alarm_start_timer() traces alarm->node.expires before updating it,
so alarmtimer_start reports the previous deadline on rearm.

Move the tracepoint after assigning the new expiry.

Fixes: 183d00b72713 ("alarmtimer: Provide alarm_start_timer()")
Signed-off-by: Avi Weiss <thnkslprpt@xxxxxxxxx>
---
kernel/time/alarmtimer.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c
index ea5be5870e515..f6d2183aa4e3c 100644
--- a/kernel/time/alarmtimer.c
+++ b/kernel/time/alarmtimer.c
@@ -351,10 +351,9 @@ bool alarm_start_timer(struct alarm *alarm, ktime_t expires, bool relative)
if (relative)
expires = ktime_add_safe(expires, base->get_ktime());

- trace_alarmtimer_start(alarm, base->get_ktime());
-
guard(spinlock_irqsave)(&base->lock);
alarm->node.expires = expires;
+ trace_alarmtimer_start(alarm, base->get_ktime());
alarmtimer_enqueue(base, alarm);
if (!hrtimer_start_range_ns_user(&alarm->timer, expires, 0, HRTIMER_MODE_ABS)) {
alarmtimer_dequeue(base, alarm);

base-commit: cbbddb6b08cc9900a87cccaa9b22bbe06aa4f50a
--
2.43.0