diff --git a/kernel/sched/core.c b/kernel/sched/core.c index ad97f3ba5ec51c4a9379228b60416c72e6dc5b60..35551110d277aafe5a36c098b37833d899204b15 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -5854,11 +5854,14 @@ void __init sched_init_smp(void) /* * There's no userspace yet to cause hotplug operations; hence all the * CPU masks are stable and all blatant races in the below code cannot - * happen. + * happen. The hotplug lock is nevertheless taken to satisfy lockdep, + * but there won't be any contention on it. */ + cpus_read_lock(); mutex_lock(&sched_domains_mutex); sched_init_domains(cpu_active_mask); mutex_unlock(&sched_domains_mutex); + cpus_read_unlock(); /* Move init over to a non-isolated CPU */ if (set_cpus_allowed_ptr(current, housekeeping_cpumask(HK_FLAG_DOMAIN)) < 0)