On Friday, November 15, 2013 11:41:29 AM Olof Johansson wrote: > From: Puneet Kumar <puneetster@xxxxxxxxxxxx> > > A bug was introduced by commit b76b51ba0cef ('ACPI / EC: Add more debug > info and trivial code cleanup') that erroneously caused the struct member > to be accessed before acquiring the required lock. This change fixes > it by ensuring the lock acquisition is done first. > > Found by Aaron Durbin <adurbin@xxxxxxxxxxxx> > > Fixes: b76b51ba0cef ('ACPI / EC: Add more debug info and trivial code cleanup') > References: http://crbug.com/319019 > Signed-off-by: Puneet Kumar <puneetster@xxxxxxxxxxxx> > Reviewed-by: Aaron Durbin <adurbin@xxxxxxxxxxxx> > [olof: Commit message reworded a bit] > Signed-off-by: Olof Johansson <olof@xxxxxxxxx> > Cc: Feng Tang <feng.tang@xxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> # 3.8+ Queued up for the next ACPI pull request, thanks guys! > --- > drivers/acpi/ec.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c > index d5309fd..ba5b56d 100644 > --- a/drivers/acpi/ec.c > +++ b/drivers/acpi/ec.c > @@ -173,9 +173,10 @@ static void start_transaction(struct acpi_ec *ec) > static void advance_transaction(struct acpi_ec *ec, u8 status) > { > unsigned long flags; > - struct transaction *t = ec->curr; > + struct transaction *t; > > spin_lock_irqsave(&ec->lock, flags); > + t = ec->curr; > if (!t) > goto unlock; > if (t->wlen > t->wi) { > -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html