Re: [Bug #13780] NULL pointer dereference loading powernowk8

From: David Rientjes
Date: Tue Sep 15 2009 - 19:45:58 EST


On Thu, 10 Sep 2009, Rafael J. Wysocki wrote:

> > So I did a biset, and this is the result:
> > $ git bisect good
> > 0e64a0c982c06a6b8f5e2a7f29eb108fdf257b2f is first bad commit
> > commit 0e64a0c982c06a6b8f5e2a7f29eb108fdf257b2f
> > Author: Dave Jones <davej@xxxxxxxxxx>
> > Date: Wed Feb 4 14:37:50 2009 -0500
> >
> > [CPUFREQ] checkpatch cleanups for powernow-k8
> >
> > This driver has so many long function names, and deep nested if's
> > The remaining warnings will need some code restructuring to clean up.
> >
> > Signed-off-by: Dave Jones <davej@xxxxxxxxxx>
> >
> > :040000 040000 45d8e325663e62e0833cf4e1cb8b27fa4a9b3a56 affb6fab44cb22aca8a33ca0d767797831fc2bae M arch
> >
> > 2.6.29-rc5 is good, -rc7 is bad.
>
> Thanks for the update and for doing the bisection.
>

0e64a0c has this cleanup, which isn't equivalent to the previous code:

@@ -779,11 +834,12 @@ static int powernow_k8_cpu_init_acpi(struct powernow_k8_data *data)
goto err_out;
}

- if ((data->acpi_data.control_register.space_id != ACPI_ADR_SPACE_FIXED_HARDWARE) ||
- (data->acpi_data.status_register.space_id != ACPI_ADR_SPACE_FIXED_HARDWARE)) {
+ space_id = data->acpi_data.control_register.space_id;
+ if ((space_id != ACPI_ADR_SPACE_FIXED_HARDWARE) ||
+ (space_id != ACPI_ADR_SPACE_FIXED_HARDWARE)) {
dprintk("Invalid control/status registers (%x - %x)\n",
data->acpi_data.control_register.space_id,
- data->acpi_data.status_register.space_id);
+ space_id);
goto err_out;
}

This got fixed in 2c701b1 in 2.6.31-rc8, so this is most likely the
problem that Kurt was encountering.

Kurt, could you try 2.6.31 and see if you still experience the issue? If
not, this can be closed.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/