Re: [PATCH 4.17 55/66] ACPICA: AML Parser: ignore dispatcher error status during table load

From: Greg Kroah-Hartman
Date: Mon Jul 30 2018 - 07:44:40 EST


On Mon, Jul 30, 2018 at 11:52:17AM +0200, Rafael J. Wysocki wrote:
> On 7/27/2018 11:45 AM, Greg Kroah-Hartman wrote:
> > 4.17-stable review patch. If anyone has any objections, please let me know.
> >
> > ------------------
> >
> > From: Schmauss, Erik <erik.schmauss@xxxxxxxxx>
> >
> > commit 73c2a01c52b657f4a0ead6c95f64c5279efbd000 upstream.
> >
> > The dispatcher and the executer process the parse nodes During table
> > load. Error status from the evaluation confuses the AML parser. This
> > results in the parser failing to complete parsing of the current
> > scope op which becomes problematic. For the incorrect AML below, _ADR
> > never gets created.
> >
> > definition_block(...)
> > {
> > Scope (\_SB)
> > {
> > Device (PCI0){...}
> > Name (OBJ1, 0x0)
> > OBJ1 = PCI0 + 5 // Results in an operand error.
> > } // \_SB not closed
> >
> > // parser looks for \_SB._SB.PCI0, results in AE_NOT_FOUND error
> > // Entire scope block gets skipped.
> > Scope (\_SB.PCI0)
> > {
> > Name (_ADR, 0x0)
> > }
> > }
> >
> > Fix the above error by properly completing the initial \_SB scope
> > after an error by clearing errors that occur during table load. In
> > the above case, this means that OBJ1 = PIC0 + 5 is skipped.
> >
> > Fixes: 5088814a6e93 (ACPICA: AML parser: attempt to continue loading table after error)
> > Link: https://bugzilla.kernel.org/show_bug.cgi?id=200363
> > Tested-by: Bastien Nocera <hadess@xxxxxxxxxx>
> > Signed-off-by: Erik Schmauss <erik.schmauss@xxxxxxxxx>
> > Cc: 4.17+ <stable@xxxxxxxxxxxxxxx> # 4.17+
> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>
> Has this gone in already?  If not, please hold on.
>
> There is a fix on top of this that will go to Linus tomorrow:
> https://patchwork.kernel.org/patch/10548059/

Yes, it did, it is in 4.17.11, and I've already gotten a report about it :(

greg k-h