From: Greg Kroah-Hartman Date: Tue, 31 Oct 2023 12:13:20 +0000 (+0100) Subject: 5.4-stable patches X-Git-Tag: v6.1.61~23 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=eb535e4fcc64343f3bb72082259be2666a3a5d1d;p=thirdparty%2Fkernel%2Fstable-queue.git 5.4-stable patches added patches: x86-i8259-skip-probing-when-acpi-madt-advertises-pcat-compatibility.patch --- diff --git a/queue-5.4/acpica-add-support-for-madt-online-enabled-bit.patch b/queue-5.4/acpica-add-support-for-madt-online-enabled-bit.patch deleted file mode 100644 index 3864f042d7d..00000000000 --- a/queue-5.4/acpica-add-support-for-madt-online-enabled-bit.patch +++ /dev/null @@ -1,36 +0,0 @@ -From dc6f0051795e2d74943cbdd5000d4c07a0601374 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 8 Sep 2021 16:41:45 -0500 -Subject: ACPICA: Add support for MADT online enabled bit - -From: Mario Limonciello - -[ Upstream commit 435a8dc8d9b9d91e625901fea5b5695b9b976d84 ] - -The online enabled bit on newer ACPI implmentations will indicate -whether the CPU is hotpluggable. - -Link: http://github.com/acpica/acpica/pull/708/ -Signed-off-by: Mario Limonciello -Signed-off-by: Rafael J. Wysocki -Stable-dep-of: 128b0c9781c9 ("x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility") -Signed-off-by: Sasha Levin ---- - include/acpi/actbl2.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h -index e45ced27f4c30..d385c3ea1396e 100644 ---- a/include/acpi/actbl2.h -+++ b/include/acpi/actbl2.h -@@ -716,6 +716,7 @@ struct acpi_madt_generic_translator { - /* MADT Local APIC flags */ - - #define ACPI_MADT_ENABLED (1) /* 00: Processor is usable if set */ -+#define ACPI_MADT_ONLINE_CAPABLE (2) /* 01: System HW supports enabling processor at runtime */ - - /* MADT MPS INTI flags (inti_flags) */ - --- -2.42.0 - diff --git a/queue-5.4/series b/queue-5.4/series index 55bf77b9d34..32319e349b6 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -31,10 +31,7 @@ nvmem-imx-correct-nregs-for-i.mx6ul.patch perf-core-fix-potential-null-deref.patch clk-sanitize-possible_parent_show-to-handle-return-value-of-of_clk_get_parent_name.patch i40e-fix-wrong-check-for-i40e_txr_flags_wb_on_itr.patch -acpica-add-support-for-madt-online-enabled-bit.patch -x86-acpi-don-t-add-cpus-that-are-not-online-capable.patch -x86-acpi-boot-use-fadt-version-to-check-support-for-.patch -x86-i8259-skip-probing-when-acpi-madt-advertises-pca.patch +x86-i8259-skip-probing-when-acpi-madt-advertises-pcat-compatibility.patch drm-dp_mst-fix-null-deref-in-get_mst_branch_device_by_guid_helper.patch arm64-fix-a-concurrency-issue-in-emulation_proc_handler.patch kobject-fix-slab-out-of-bounds-in-fill_kobj_path.patch diff --git a/queue-5.4/x86-acpi-boot-use-fadt-version-to-check-support-for-.patch b/queue-5.4/x86-acpi-boot-use-fadt-version-to-check-support-for-.patch deleted file mode 100644 index 69228b6821c..00000000000 --- a/queue-5.4/x86-acpi-boot-use-fadt-version-to-check-support-for-.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 01c3c85ea912bb169f9b050f70b338020bf0a937 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 29 Mar 2023 12:45:35 -0500 -Subject: x86/ACPI/boot: Use FADT version to check support for online capable - -From: Mario Limonciello - -[ Upstream commit a74fabfbd1b7013045afc8cc541e6cab3360ccb5 ] - -ACPI 6.3 introduced the online capable bit, and also introduced MADT -version 5. - -Latter was used to distinguish whether the offset storing online capable -could be used. However ACPI 6.2b has MADT version "45" which is for -an errata version of the ACPI 6.2 spec. This means that the Linux code -for detecting availability of MADT will mistakenly flag ACPI 6.2b as -supporting online capable which is inaccurate as it's an ACPI 6.3 feature. - -Instead use the FADT major and minor revision fields to distinguish this. - - [ bp: Massage. ] - -Fixes: aa06e20f1be6 ("x86/ACPI: Don't add CPUs that are not online capable") -Reported-by: Eric DeVolder -Reported-by: Borislav Petkov -Signed-off-by: Mario Limonciello -Signed-off-by: Borislav Petkov (AMD) -Cc: -Link: https://lore.kernel.org/r/943d2445-84df-d939-f578-5d8240d342cc@unsolicited.net -Stable-dep-of: 128b0c9781c9 ("x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility") -Signed-off-by: Sasha Levin ---- - arch/x86/kernel/acpi/boot.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c -index c19a31a86c669..2e4c8af36e8a5 100644 ---- a/arch/x86/kernel/acpi/boot.c -+++ b/arch/x86/kernel/acpi/boot.c -@@ -140,7 +140,11 @@ static int __init acpi_parse_madt(struct acpi_table_header *table) - printk(KERN_DEBUG PREFIX "Local APIC address 0x%08x\n", - madt->address); - } -- if (madt->header.revision >= 5) -+ -+ /* ACPI 6.3 and newer support the online capable bit. */ -+ if (acpi_gbl_FADT.header.revision > 6 || -+ (acpi_gbl_FADT.header.revision == 6 && -+ acpi_gbl_FADT.minor_revision >= 3)) - acpi_support_online_capable = true; - - default_acpi_madt_oem_check(madt->header.oem_id, --- -2.42.0 - diff --git a/queue-5.4/x86-acpi-don-t-add-cpus-that-are-not-online-capable.patch b/queue-5.4/x86-acpi-don-t-add-cpus-that-are-not-online-capable.patch deleted file mode 100644 index 77df2c5896f..00000000000 --- a/queue-5.4/x86-acpi-don-t-add-cpus-that-are-not-online-capable.patch +++ /dev/null @@ -1,64 +0,0 @@ -From ffd66958ee79add1358105c7e05d59b6dd4de7bb Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 8 Sep 2021 16:41:46 -0500 -Subject: x86/ACPI: Don't add CPUs that are not online capable - -From: Mario Limonciello - -[ Upstream commit aa06e20f1be628186f0c2dcec09ea0009eb69778 ] - -A number of systems are showing "hotplug capable" CPUs when they -are not really hotpluggable. This is because the MADT has extra -CPU entries to support different CPUs that may be inserted into -the socket with different numbers of cores. - -Starting with ACPI 6.3 the spec has an Online Capable bit in the -MADT used to determine whether or not a CPU is hotplug capable -when the enabled bit is not set. - -Link: https://uefi.org/htmlspecs/ACPI_Spec_6_4_html/05_ACPI_Software_Programming_Model/ACPI_Software_Programming_Model.html?#local-apic-flags -Signed-off-by: Mario Limonciello -Signed-off-by: Rafael J. Wysocki -Stable-dep-of: 128b0c9781c9 ("x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility") -Signed-off-by: Sasha Levin ---- - arch/x86/kernel/acpi/boot.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c -index 7b75658b7e9ac..c19a31a86c669 100644 ---- a/arch/x86/kernel/acpi/boot.c -+++ b/arch/x86/kernel/acpi/boot.c -@@ -62,6 +62,7 @@ int acpi_fix_pin2_polarity __initdata; - - #ifdef CONFIG_X86_LOCAL_APIC - static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE; -+static bool acpi_support_online_capable; - #endif - - #ifdef CONFIG_X86_IO_APIC -@@ -139,6 +140,8 @@ static int __init acpi_parse_madt(struct acpi_table_header *table) - printk(KERN_DEBUG PREFIX "Local APIC address 0x%08x\n", - madt->address); - } -+ if (madt->header.revision >= 5) -+ acpi_support_online_capable = true; - - default_acpi_madt_oem_check(madt->header.oem_id, - madt->header.oem_table_id); -@@ -240,6 +243,12 @@ acpi_parse_lapic(union acpi_subtable_headers * header, const unsigned long end) - if (processor->id == 0xff) - return 0; - -+ /* don't register processors that can not be onlined */ -+ if (acpi_support_online_capable && -+ !(processor->lapic_flags & ACPI_MADT_ENABLED) && -+ !(processor->lapic_flags & ACPI_MADT_ONLINE_CAPABLE)) -+ return 0; -+ - /* - * We need to register disabled CPU as well to permit - * counting disabled CPUs. This allows us to size --- -2.42.0 - diff --git a/queue-5.4/x86-i8259-skip-probing-when-acpi-madt-advertises-pca.patch b/queue-5.4/x86-i8259-skip-probing-when-acpi-madt-advertises-pcat-compatibility.patch similarity index 82% rename from queue-5.4/x86-i8259-skip-probing-when-acpi-madt-advertises-pca.patch rename to queue-5.4/x86-i8259-skip-probing-when-acpi-madt-advertises-pcat-compatibility.patch index 663326da437..568c2399e45 100644 --- a/queue-5.4/x86-i8259-skip-probing-when-acpi-madt-advertises-pca.patch +++ b/queue-5.4/x86-i8259-skip-probing-when-acpi-madt-advertises-pcat-compatibility.patch @@ -1,11 +1,11 @@ -From 2807b3bc514e8032261b3af10559a668924e99be Mon Sep 17 00:00:00 2001 -From: Sasha Levin +From 128b0c9781c9f2651bea163cb85e52a6c7be0f9e Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner Date: Wed, 25 Oct 2023 23:04:15 +0200 Subject: x86/i8259: Skip probing when ACPI/MADT advertises PCAT compatibility From: Thomas Gleixner -[ Upstream commit 128b0c9781c9f2651bea163cb85e52a6c7be0f9e ] +commit 128b0c9781c9f2651bea163cb85e52a6c7be0f9e upstream. David and a few others reported that on certain newer systems some legacy interrupts fail to work correctly. @@ -49,15 +49,13 @@ Reviewed-by: Mario Limonciello Cc: stable@vger.kernel.org Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218003 Link: https://lore.kernel.org/r/875y2u5s8g.ffs@tglx -Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - arch/x86/include/asm/i8259.h | 2 ++ - arch/x86/kernel/acpi/boot.c | 3 +++ - arch/x86/kernel/i8259.c | 38 ++++++++++++++++++++++++++++-------- + arch/x86/include/asm/i8259.h | 2 ++ + arch/x86/kernel/acpi/boot.c | 3 +++ + arch/x86/kernel/i8259.c | 38 ++++++++++++++++++++++++++++++-------- 3 files changed, 35 insertions(+), 8 deletions(-) -diff --git a/arch/x86/include/asm/i8259.h b/arch/x86/include/asm/i8259.h -index 89789e8c80f66..e16574c16e933 100644 --- a/arch/x86/include/asm/i8259.h +++ b/arch/x86/include/asm/i8259.h @@ -67,6 +67,8 @@ struct legacy_pic { @@ -69,22 +67,18 @@ index 89789e8c80f66..e16574c16e933 100644 extern struct legacy_pic *legacy_pic; extern struct legacy_pic null_legacy_pic; -diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c -index 2e4c8af36e8a5..11c0eab38369f 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c -@@ -141,6 +141,9 @@ static int __init acpi_parse_madt(struct acpi_table_header *table) +@@ -140,6 +140,9 @@ static int __init acpi_parse_madt(struct madt->address); } + if (madt->flags & ACPI_MADT_PCAT_COMPAT) + legacy_pic_pcat_compat(); + - /* ACPI 6.3 and newer support the online capable bit. */ - if (acpi_gbl_FADT.header.revision > 6 || - (acpi_gbl_FADT.header.revision == 6 && -diff --git a/arch/x86/kernel/i8259.c b/arch/x86/kernel/i8259.c -index 8821d0ab0a08c..82753622f4890 100644 + default_acpi_madt_oem_check(madt->header.oem_id, + madt->header.oem_table_id); + --- a/arch/x86/kernel/i8259.c +++ b/arch/x86/kernel/i8259.c @@ -32,6 +32,7 @@ @@ -146,6 +140,3 @@ index 8821d0ab0a08c..82753622f4890 100644 +{ + pcat_compat = true; +} --- -2.42.0 -