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. > > Fixes: 7ab4f0e37a0f4 ("ACPI PPTT: Fix coding mistakes in a couple of sizeof() calls") > Reported-by: Maximilian Heyne <mheyne@xxxxxxxxx> > Closes: https://lore.kernel.org/linux-acpi/20250506-draco-taped-15f475cd@mheyne-amazon/ > Reported-by: Yicong Yang <yangyicong@xxxxxxxxxxxxx> > Closes: https://lore.kernel.org/linux-acpi/20250507035124.28071-1-yangyicong@xxxxxxxxxx/ > Signed-off-by: Jeremy Linton <jeremy.linton@xxxxxxx> > Cc: Jean-Marc Eurin <jmeurin@xxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> Thank you so much for providing this proper fix and also thanks for the great discussions. This allowed my to learn new things. Much appreciated. I confirm the fix works for me. Therefore, Tested-by: Maximilian Heyne <mheyne@xxxxxxxxx> Amazon Web Services Development Center Germany GmbH Tamara-Danz-Str. 13 10243 Berlin Geschaeftsfuehrung: Christian Schlaeger, Jonathan Weiss Eingetragen am Amtsgericht Charlottenburg unter HRB 257764 B Sitz: Berlin Ust-ID: DE 365 538 597