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

From: Yinghai Lu
Date: Sat Oct 08 2016 - 01:34:26 EST


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;
>
> also processor->id is u8,
>
> so the patch should be:

+ if (processor->id == 0xff)
+ return 0;
+