Re: [PATCH] ACPI: PPTT: Fix processor subtable walk
From: Rafael J. Wysocki
Date: Thu May 08 2025 - 14:26:56 EST
On Thu, May 8, 2025 at 11:13 AM Sudeep Holla <sudeep.holla@xxxxxxx> wrote:
>
> On Wed, May 07, 2025 at 09:30:25PM -0500, Jeremy Linton wrote:
> > The original PPTT code had a bug where the processor subtable length
> > was not correctly validated when encountering a truncated
> > acpi_pptt_processor node.
> >
> > Commit 7ab4f0e37a0f4 ("ACPI PPTT: Fix coding mistakes in a couple of
> > sizeof() calls") attempted to fix this by validating the size is as
> > large as the acpi_pptt_processor node structure. This introduced a
> > regression where the last processor node in the PPTT table is ignored
> > if it doesn't contain any private resources. That results errors like:
> >
> > ACPI PPTT: PPTT table found, but unable to locate core XX (XX)
> > ACPI: SPE must be homogeneous
> >
> > Furthermore, it fail in a common case where the node length isn't
> > equal to the acpi_pptt_processor structure size, leaving the original
> > bug in a modified form.
> >
> > Correct the regression by adjusting the loop termination conditions as
> > suggested by the bug reporters. An additional check performed after
> > the subtable node type is detected, validates the acpi_pptt_processor
> > node is fully contained in the PPTT table. Repeating the check in
> > acpi_pptt_leaf_node() is largely redundant as the node is already
> > known to be fully contained in the table.
> >
> > The case where a final truncated node's parent property is accepted,
> > but the node itself is rejected should not be considered a bug.
> >
>
> Thanks for picking this up and describing the issue properly in the commit
> message.
>
> Reviewed-by: Sudeep Holla <sudeep.holla@xxxxxxx>
Applied, but it is a bit too late to push it for -rc6, so I'll queue
it up for -rc7.
Thanks!