diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 74a81fc5dfb38f64dc363cd4c4844055864317fe..48f81e672b846f99bd7fbafcf84eba777b1acc8f 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -5438,10 +5438,11 @@ void init_idle(struct task_struct *idle, int cpu) struct rq *rq = cpu_rq(cpu); unsigned long flags; + __sched_fork(0, idle); + raw_spin_lock_irqsave(&idle->pi_lock, flags); raw_spin_lock(&rq->lock); - __sched_fork(0, idle); idle->state = TASK_RUNNING; idle->se.exec_start = sched_clock(); idle->flags |= PF_IDLE;