fix: crash: IP: __bitmap_intersects+0x48/0x73
authorIngo Molnar <mingo@elte.hu>
Thu, 15 Jan 2009 14:46:08 +0000 (15:46 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 15 Jan 2009 14:46:12 +0000 (15:46 +0100)
commit5cd7376200be7b8bab085557ff5876b04bd84191
tree7796adba26ea92b8b640d7db7c5f5096b07a50fb
parent49a93bc978b4b3d564f6b330179b4cc2724a031d
fix: crash: IP: __bitmap_intersects+0x48/0x73

-tip testing found this crash:

> [   35.258515] calling  acpi_cpufreq_init+0x0/0x127 @ 1
> [   35.264127] BUG: unable to handle kernel NULL pointer dereference at (null)
> [   35.267554] IP: [<ffffffff80478092>] __bitmap_intersects+0x48/0x73
> [   35.267554] PGD 0
> [   35.267554] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC

arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c is still broken: there's no
allocation of the variable mask, so we pass in an uninitialized cmd.mask
field to drv_read(), which then passes it to the scheduler which then
crashes ...

Switch it over to the much simpler constant-cpumask-pointers approach.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c