https://bugzilla.kernel.org/show_bug.cgi?id=206343

Borislav Petkov (b...@alien8.de) changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |b...@alien8.de

--- Comment #2 from Borislav Petkov (b...@alien8.de) ---
(In reply to Steven Clarkson from comment #1)
> Turns out this causes the kernel to hang in the while loop parsing the SRAT
> table in count_immovable_mem_regions. After dumping the SRAT table, it looks
> like there's 320 bytes of zeros in the middle of it.

Of course. Qwalitee BIOS. ;-\

> Sure enough, dmesg complains
> 
> [    0.007413] ACPI: [SRAT:0x00] Invalid zero length
> [    0.007415] ACPI: [SRAT:0x01] Invalid zero length
> 
> Proposed patch below.
> 
> 
> diff --git a/arch/x86/boot/compressed/acpi.c
> b/arch/x86/boot/compressed/acpi.c
> index 25019d42ae93..7369de333eda 100644
> --- a/arch/x86/boot/compressed/acpi.c
> +++ b/arch/x86/boot/compressed/acpi.c
> @@ -394,6 +394,12 @@ int count_immovable_mem_regions(void)
>  
>         while (table + sizeof(struct acpi_subtable_header) < table_end) {
>                 sub_table = (struct acpi_subtable_header *)table;
> +
> +               if (!sub_table->length) {
> +                       debug_putstr("Invalid zero length SRAT subtable.\n");
> +                       break;
> +               }
> +
>                 if (sub_table->type == ACPI_SRAT_TYPE_MEMORY_AFFINITY) {
>                         struct acpi_srat_mem_affinity *ma;

Yah, makes a lot of sense to me. Especially if this has been already
encountered with other BIOSes. Sounds like the qwalitee work has been spread
around.

Please submit a proper patch to LKML documenting which BIOS version it is and
CC me. If you need help with creating the patch, just ask.

Thx.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.

_______________________________________________
acpi-bugzilla mailing list
acpi-bugzilla@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to