From: Rusty Russell Date: Sat, 31 Jan 2009 12:51:24 +0000 (+1030) Subject: sched_rt: don't use first_cpu on cpumask created with cpumask_and X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=3d398703ef06fd97b4c28c86b580546d5b57e7b7;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.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 Signed-off-by: Ingo Molnar --- diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c index 954e1a81b796..bac1061cea2f 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c @@ -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)) return this_cpu; - first = first_cpu(*mask); - if (first != NR_CPUS) + first = cpumask_first(mask); + if (first < nr_cpu_ids) return first; return -1;