• Thomas Gleixner's avatar
    x86/acpi: Prevent LAPIC id 0xff from being accounted · f3bf1dbe
    Thomas Gleixner authored
    Yinghai reported that the recent changes to make the cpuid - nodeid
    relationship permanent causes a cpuid ordering regression on a system which
    has 2apic enabled..
    
    The reason is that the ACPI local APIC parser has no sanity check for
    apicid 0xff, which is an invalid id. So a CPU id for this invalid local
    APIC id is allocated and therefor breaks the cpuid ordering.
    
    Add a sanity check to acpi_parse_lapic() which ignores the invalid id.
    
    Fixes: 8f54969d ("x86/acpi: Introduce persistent storage for cpuid <-> apicid mapping")
    Reported-by: default avatarYinghai Lu <yinghai@kernel.org>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: Gu Zheng <guz.fnst@cn.fujitsu.com>,
    Cc: Tang Chen <tangchen@cn.fujitsu.com>
    Cc: douly.fnst@cn.fujitsu.com,
    Cc: zhugh.fnst@cn.fujitsu.com
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
    Cc: Len Brown <lenb@kernel.org>
    Cc: Lv Zheng <lv.zheng@intel.com>,
    Cc: robert.moore@intel.com
    Cc: linux-acpi@vger.kernel.org
    Link: https://lkml.kernel.org/r/CAE9FiQVQx6FRXT-RdR7Crz4dg5LeUWHcUSy1KacjR+JgU_vGJg@mail.gmail.com
    f3bf1dbe
boot.c 41 KB