From 36c44045a0cf293d5a3593cac2ec9cdde2e49187 Mon Sep 17 00:00:00 2001 From: Chris Friedt Date: Mon, 28 Apr 2025 13:52:25 -0400 Subject: [PATCH] kernel: events: prevent k_event_init() from being called in an ISR Most kernel objects should be initialized well before being manipulated in ISR context. Event objects are no exception. Initializing a k_event object in ISR context would implicitly be racey and introduce an element of non-determinism. Assert that k_event_init() is not called from ISR context. Signed-off-by: Chris Friedt --- kernel/events.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/events.c b/kernel/events.c index d2950e43c4f..038697d931f 100644 --- a/kernel/events.c +++ b/kernel/events.c @@ -51,6 +51,8 @@ static struct k_obj_type obj_type_event; void z_impl_k_event_init(struct k_event *event) { + __ASSERT_NO_MSG(!arch_is_in_isr()); + event->events = 0; event->lock = (struct k_spinlock) {};