Revision bce61dd49d6ba7799be2de17c772e4c701558f14 authored by Ben Collins on 28 November 2005, 21:43:56 UTC, committed by Linus Torvalds on 28 November 2005, 22:42:23 UTC
Tracked this down on an Ultra Enterprise 3000.  It's a 6-way machine.  Odd
thing about this machine (and it's good for finding bugs like this) is that
the CPU id's are not 0 based.  For instance, on my machine the CPU's are
6/7/10/11/14/15.

This caused some NULL pointer dereference in kernel/workqueue.c because for
single_threaded workqueue's, it hardcoded the cpu to 0.

I changed the 0's to any_online_cpu(cpu_online_mask), which cpumask.h
claims is "First cpu in mask".  So this fits the same usage.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
1 parent ee500f2
History
File Mode Size
Kconfig -rw-r--r-- 3.6 KB
Makefile -rw-r--r-- 270 bytes
console.c -rw-r--r-- 1.1 KB
disk.c -rw-r--r-- 8.8 KB
main.c -rw-r--r-- 5.9 KB
pm.c -rw-r--r-- 7.2 KB
power.h -rw-r--r-- 1.9 KB
poweroff.c -rw-r--r-- 926 bytes
process.c -rw-r--r-- 3.1 KB
smp.c -rw-r--r-- 1.3 KB
snapshot.c -rw-r--r-- 10.5 KB
swsusp.c -rw-r--r-- 23.6 KB

back to top