From e73a5c41ce24737b0a1baa0a757593e20f5f5232 Mon Sep 17 00:00:00 2001 From: Max Wash Date: Sat, 14 Mar 2026 22:23:07 +0000 Subject: [PATCH] sched: fix thread_awaken manipulating a runqueue without locking it --- sched/thread.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sched/thread.c b/sched/thread.c index 3e3e675..3c28655 100644 --- a/sched/thread.c +++ b/sched/thread.c @@ -136,7 +136,10 @@ void thread_awaken(struct thread *thr) } thr->tr_state = THREAD_READY; + unsigned long flags; + rq_lock(rq, &flags); rq_enqueue(rq, thr); + rq_unlock(rq, flags); } struct thread *create_kernel_thread(void (*fn)(void))