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>
Mon, 19 Jan 2009 23:17:01 +0000 (00:17 +0100)
commitbfa318ad52a23f1e303d176b44366cdd2bb71ad2
treebf58fe12825bfebdc02f1acce0cd79f246491e7b
parent72859081851af2bda04117ca3d64206ffa199e5e
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