It is quite legitimate for CPUs to be numbered sparsely, meaning
that it possible for an online CPU to have a number which is
greater than the total count of possible CPUs.
Currently find_get_context() has a sanity check on the cpu
number where it checks it against num_possible_cpus(). This
test can fail for a legitimate cpu number if the
cpu_possible_mask is sparsely populated.
This fixes the problem by checking the CPU number against
nr_cpumask_bits instead, since that is the appropriate check to
ensure that the cpu number is same to pass to cpu_isset()
Reported-by: Michael Neuling <firstname.lastname@example.org>
Signed-off-by: Paul Mackerras <email@example.com>
Tested-by: Michael Neuling <firstname.lastname@example.org>
Acked-by: Peter Zijlstra <email@example.com>
Signed-off-by: Ingo Molnar <firstname.lastname@example.org>
Signed-off-by: Greg Kroah-Hartman <email@example.com>