[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <lsq.1539530741.592973187@decadent.org.uk>
Date: Sun, 14 Oct 2018 16:25:41 +0100
From: Ben Hutchings <ben@...adent.org.uk>
To: linux-kernel@...r.kernel.org, stable@...r.kernel.org
CC: akpm@...ux-foundation.org, rjw@...ysocki.net,
"Thomas Gleixner" <tglx@...utronix.de>, hpa@...or.com,
len.brown@...el.com, "Dou Liyang" <douly.fnst@...fujitsu.com>,
"Li RongQing" <lirongqing@...du.com>
Subject: [PATCH 3.16 164/366] x86/acpi: Prevent X2APIC id 0xffffffff from
being accounted
3.16.60-rc1 review patch. If anyone has any objections, please let me know.
------------------
From: Dou Liyang <douly.fnst@...fujitsu.com>
commit 10daf10ab154e31237a8c07242be3063fb6a9bf4 upstream.
RongQing reported that there are some X2APIC id 0xffffffff in his machine's
ACPI MADT table, which makes the number of possible CPU inaccurate.
The reason is that the ACPI X2APIC parser has no sanity check for APIC ID
0xffffffff, which is an invalid id in all APIC types. See "IntelĀ® 64
Architecture x2APIC Specification", Chapter 2.4.1.
Add a sanity check to acpi_parse_x2apic() which ignores the invalid id.
Reported-by: Li RongQing <lirongqing@...du.com>
Signed-off-by: Dou Liyang <douly.fnst@...fujitsu.com>
Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
Cc: len.brown@...el.com
Cc: rjw@...ysocki.net
Cc: hpa@...or.com
Link: https://lkml.kernel.org/r/20180412014052.25186-1-douly.fnst@cn.fujitsu.com
[bwh: Backported to 3.16: adjust context]
Signed-off-by: Ben Hutchings <ben@...adent.org.uk>
---
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -227,6 +227,11 @@ acpi_parse_x2apic(struct acpi_subtable_h
apic_id = processor->local_apic_id;
enabled = processor->lapic_flags & ACPI_MADT_ENABLED;
+
+ /* Ignore invalid ID */
+ if (apic_id == 0xffffffff)
+ return 0;
+
#ifdef CONFIG_X86_X2APIC
/*
* We need to register disabled CPU as well to permit
Powered by blists - more mailing lists