Re: [tip:x86/urgent] x86/acpi: Prevent LAPIC id 0xff from being accounted

From: Thomas Gleixner
Date: Sat Oct 08 2016 - 06:11:57 EST


On Fri, 7 Oct 2016, Yinghai Lu wrote:
> On Fri, Oct 7, 2016 at 10:33 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
> > On Fri, Oct 7, 2016 at 10:26 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
> >> On Fri, Oct 7, 2016 at 6:28 AM, tip-bot for Thomas Gleixner
> >>> diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
> >>> index 32a7d70..6d35baf 100644
> >>> --- a/arch/x86/kernel/acpi/boot.c
> >>> +++ b/arch/x86/kernel/acpi/boot.c
> >>> @@ -233,6 +233,9 @@ acpi_parse_lapic(struct acpi_subtable_header * header, const unsigned long end)
> >>>
> >>> acpi_table_print_madt_entry(header);
> >>>
> >>> + if (processor->id >= 0xff)
> >>> + return -EINVAL;
> >>> +
> >>> /*
> >>> * We need to register disabled CPU as well to permit
> >>> * counting disabled CPUs. This allows us to size
> >>
> >>
> >> some thing is wrong:
> >>
> >> [ 71.787437] ACPI: LAPIC (acpi_id[0xff] lapic_id[0xff] disabled)
> >> [ 71.799681] ACPI: Error parsing LAPIC/X2APIC entries
> >> [ 71.809934] ACPI: Invalid BIOS MADT, disabling ACPI
> >>
> >> looks like should change
> >> return -EINVAL ;
> >> ==>
> >> return 0;

Indeed.

> >
> > also processor->id is u8,
> >
> > so the patch should be:
>
> + if (processor->id == 0xff)
> + return 0;
> +

Right. Amended the patch and pushed it out.

Thanks for pointing it out,

tglx