summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2009-01-11 06:58:09 +0100
committerIngo Molnar <mingo@elte.hu>2009-01-30 15:47:34 +0100
commit4ab0a9409af5fad74ad1fc9e46d5a8b460f353e9 (patch)
treed6c5bba1ffb35c5655a736d6d736d086ed3316eb /lib
parentsignals, debug: fix BUG: using smp_processor_id() in preemptible code in prin... (diff)
downloadlinux-4ab0a9409af5fad74ad1fc9e46d5a8b460f353e9.tar.xz
linux-4ab0a9409af5fad74ad1fc9e46d5a8b460f353e9.zip
cpumask: convert lib/smp_processor_id to new cpumask ops
Impact: fix debug_smp_processor_id() for CONFIG_CPUMASK_OFFSTACK=y The scheduler now uses the new cpumask API, which deals up to nr_cpumask_bits, whereas the API used NR_CPUS bits. If CONFIG_CPUMASK_OFFSTACK=y these two are not equal, so the top bits are undefined. Leading to bug 12518 "BUG: using smp_processor_id() in preemptible [00000000] code: dellWirelessCtl/..." The fix is simple: use the modern API in the check. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Mike Travis <travis@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'lib')
-rw-r--r--lib/smp_processor_id.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/smp_processor_id.c b/lib/smp_processor_id.c
index 0f8fc22ed103..4689cb073da4 100644
--- a/lib/smp_processor_id.c
+++ b/lib/smp_processor_id.c
@@ -22,7 +22,7 @@ notrace unsigned int debug_smp_processor_id(void)
* Kernel threads bound to a single CPU can safely use
* smp_processor_id():
*/
- if (cpus_equal(current->cpus_allowed, cpumask_of_cpu(this_cpu)))
+ if (cpumask_equal(&current->cpus_allowed, cpumask_of(this_cpu)))
goto out;
/*