mirror of https://gitee.com/openkylin/linux.git
sched_rt: don't use first_cpu on cpumask created with cpumask_and
cpumask_and() only initializes nr_cpu_ids bits, so the (deprecated) first_cpu() might find one of those uninitialized bits if nr_cpu_ids is less than NR_CPUS (as it can be for CONFIG_CPUMASK_OFFSTACK). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
a571bbeafb
commit
3d398703ef
|
@ -968,8 +968,8 @@ static inline int pick_optimal_cpu(int this_cpu, cpumask_t *mask)
|
||||||
if ((this_cpu != -1) && cpu_isset(this_cpu, *mask))
|
if ((this_cpu != -1) && cpu_isset(this_cpu, *mask))
|
||||||
return this_cpu;
|
return this_cpu;
|
||||||
|
|
||||||
first = first_cpu(*mask);
|
first = cpumask_first(mask);
|
||||||
if (first != NR_CPUS)
|
if (first < nr_cpu_ids)
|
||||||
return first;
|
return first;
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
|
Loading…
Reference in New Issue