Re: [tip:x86/urgent] x86/apic: Fix signedness bug in APIC ID validity checks
From: Dou Liyang
Date: Wed Apr 11 2018 - 03:02:16 EST
Hi Thomas,
At 04/10/2018 10:51 PM, tip-bot for Li RongQing wrote:
[...]
x86/apic: Fix signedness bug in APIC ID validity checks
The APIC ID as parsed from ACPI MADT is validity checked with the
apic->apic_id_valid() callback, which depends on the selected APIC type.
For non X2APIC types APIC IDs >= 0xFF are invalid, but values > 0x7FFFFFFF
Today when I am reading "Intel 64 Architecture x2APIC Specification", I
find that below in chapter 2.4.1:
The APIC ID value of FFFF_FFFFH and the highest value corresponding to
the imple-mented bit-width of the local APIC ID register in the system
are reserved and cannot be assigned to any logical processor.
Seems, FFFF_FFFFH is also invalid for X2APIC types, Shall we also do the
validity check for X2APIC ID?
acpi_parse_x2apic()
...
/* Ignore invalid ID */
if (apic_id == 0xffffffff)
return 0;
...
Thanks,
dou