diff options
author | Ben Collins <bcollins@debian.org> | 2005-11-28 22:43:56 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-28 23:42:23 +0100 |
commit | bce61dd49d6ba7799be2de17c772e4c701558f14 (patch) | |
tree | a8fd75afc85ffef3c9af0bafa1989d7a14e1a187 /kernel/sys_ni.c | |
parent | [PATCH] fix 32bit overflow in timespec_to_sample() (diff) | |
download | linux-bce61dd49d6ba7799be2de17c772e4c701558f14.tar.xz linux-bce61dd49d6ba7799be2de17c772e4c701558f14.zip |
[PATCH] Fix hardcoded cpu=0 in workqueue for per_cpu_ptr() calls
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>
Diffstat (limited to 'kernel/sys_ni.c')
0 files changed, 0 insertions, 0 deletions