Re: [patch 30/41] ACPI EC: Fix regression due to use of uninitialized variable

From: Thomas Renninger
Date: Thu Feb 05 2009 - 10:06:24 EST


On Thursday 05 February 2009 09:08:42 Thomas Renninger wrote:
> Hi,
>
> On Wednesday 04 February 2009 19:46:48 Greg KH wrote:
> > 2.6.27-stable review patch. If anyone has any objections, please let us
> > know.
> Does this one patch cleanly in 2.6.27-stable?
> I had it on my list, but this seem to have been introduced after
> 2.6.27 and I thought I removed this one again?
> Or this is a follow up of another fix that should go in?
Yes this got in by another patch.
The huge "make ACPI integer 64 bit aware" one. Which looked like
it could fix really nasty bugs and is safe due to only long to long long
conversions. But maybe this wasn't such a good idea, as exported
kernel functions change from long to long long...

Thomas
>
> Thomas
>
> > ------------------
> >
> > From: Alexey Starikovskiy <astarikovskiy@xxxxxxx>
> >
> > commit d21cf3c16b1191f3154a51e0b20c82bf851cc553 upstream.
> >
> > breakage introduced by following patch
> > commit 27663c5855b10af9ec67bc7dfba001426ba21222
> > Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx>
> > Date: Fri Oct 10 02:22:59 2008 -0400
> >
> > acpi_evaluate_integer() does not clear passed variable if
> > there is an error at evaluation.
> > So if we ignore error, we must supply initialized variable.
> >
> > http://bugzilla.kernel.org/show_bug.cgi?id=11917
> >
> > Signed-off-by: Alexey Starikovskiy <astarikovskiy@xxxxxxx>
> > Tested-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx>
> > Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
> > Cc: Thomas Renninger <trenn@xxxxxxx>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
> >
> > ---
> > drivers/acpi/ec.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > --- a/drivers/acpi/ec.c
> > +++ b/drivers/acpi/ec.c
> > @@ -769,7 +769,7 @@ static acpi_status
> > ec_parse_device(acpi_handle handle, u32 Level, void *context, void
> > **retval) {
> > acpi_status status;
> > - unsigned long long tmp;
> > + unsigned long long tmp = 0;
> >
> > struct acpi_ec *ec = context;
> > status = acpi_walk_resources(handle, METHOD_NAME__CRS,
> > @@ -784,6 +784,7 @@ ec_parse_device(acpi_handle handle, u32
> > return status;
> > ec->gpe = tmp;
> > /* Use the global lock for all EC transactions? */
> > + tmp = 0;
> > acpi_evaluate_integer(handle, "_GLK", NULL, &tmp);
> > ec->global_lock = tmp;
> > ec->handle = handle;
>
>

--
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/