From 7236f220d2b09982c56288470a74a3db0aa42e31 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sun, 9 Mar 2025 18:49:31 +0100 Subject: [PATCH] drop broken 6.1 and 5.15 efi patches --- ...e-entire-mokvar-table-to-determine-i.patch | 130 ------------------ queue-5.15/series | 1 - ...e-entire-mokvar-table-to-determine-i.patch | 130 ------------------ queue-6.1/series | 1 - 4 files changed, 262 deletions(-) delete mode 100644 queue-5.15/efi-don-t-map-the-entire-mokvar-table-to-determine-i.patch delete mode 100644 queue-6.1/efi-don-t-map-the-entire-mokvar-table-to-determine-i.patch diff --git a/queue-5.15/efi-don-t-map-the-entire-mokvar-table-to-determine-i.patch b/queue-5.15/efi-don-t-map-the-entire-mokvar-table-to-determine-i.patch deleted file mode 100644 index 0a6079040e..0000000000 --- a/queue-5.15/efi-don-t-map-the-entire-mokvar-table-to-determine-i.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 64c78128dd17f106729e5ffc7601597f8c9b75e3 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 26 Feb 2025 15:18:39 -0500 -Subject: efi: Don't map the entire mokvar table to determine its size - -From: Peter Jones - -[ Upstream commit 2b90e7ace79774a3540ce569e000388f8d22c9e0 ] - -Currently, when validating the mokvar table, we (re)map the entire table -on each iteration of the loop, adding space as we discover new entries. -If the table grows over a certain size, this fails due to limitations of -early_memmap(), and we get a failure and traceback: - - ------------[ cut here ]------------ - WARNING: CPU: 0 PID: 0 at mm/early_ioremap.c:139 __early_ioremap+0xef/0x220 - ... - Call Trace: - - ? __early_ioremap+0xef/0x220 - ? __warn.cold+0x93/0xfa - ? __early_ioremap+0xef/0x220 - ? report_bug+0xff/0x140 - ? early_fixup_exception+0x5d/0xb0 - ? early_idt_handler_common+0x2f/0x3a - ? __early_ioremap+0xef/0x220 - ? efi_mokvar_table_init+0xce/0x1d0 - ? setup_arch+0x864/0xc10 - ? start_kernel+0x6b/0xa10 - ? x86_64_start_reservations+0x24/0x30 - ? x86_64_start_kernel+0xed/0xf0 - ? common_startup_64+0x13e/0x141 - - ---[ end trace 0000000000000000 ]--- - mokvar: Failed to map EFI MOKvar config table pa=0x7c4c3000, size=265187. - -Mapping the entire structure isn't actually necessary, as we don't ever -need more than one entry header mapped at once. - -Changes efi_mokvar_table_init() to only map each entry header, not the -entire table, when determining the table size. Since we're not mapping -any data past the variable name, it also changes the code to enforce -that each variable name is NUL terminated, rather than attempting to -verify it in place. - -Cc: -Signed-off-by: Peter Jones -Signed-off-by: Ard Biesheuvel -Signed-off-by: Sasha Levin ---- - drivers/firmware/efi/mokvar-table.c | 41 +++++++++-------------------- - 1 file changed, 13 insertions(+), 28 deletions(-) - -diff --git a/drivers/firmware/efi/mokvar-table.c b/drivers/firmware/efi/mokvar-table.c -index 38722d2009e20..3ac37f8cfd680 100644 ---- a/drivers/firmware/efi/mokvar-table.c -+++ b/drivers/firmware/efi/mokvar-table.c -@@ -103,7 +103,6 @@ void __init efi_mokvar_table_init(void) - void *va = NULL; - unsigned long cur_offset = 0; - unsigned long offset_limit; -- unsigned long map_size = 0; - unsigned long map_size_needed = 0; - unsigned long size; - struct efi_mokvar_table_entry *mokvar_entry; -@@ -134,48 +133,34 @@ void __init efi_mokvar_table_init(void) - */ - err = -EINVAL; - while (cur_offset + sizeof(*mokvar_entry) <= offset_limit) { -- mokvar_entry = va + cur_offset; -- map_size_needed = cur_offset + sizeof(*mokvar_entry); -- if (map_size_needed > map_size) { -- if (va) -- early_memunmap(va, map_size); -- /* -- * Map a little more than the fixed size entry -- * header, anticipating some data. It's safe to -- * do so as long as we stay within current memory -- * descriptor. -- */ -- map_size = min(map_size_needed + 2*EFI_PAGE_SIZE, -- offset_limit); -- va = early_memremap(efi.mokvar_table, map_size); -- if (!va) { -- pr_err("Failed to map EFI MOKvar config table pa=0x%lx, size=%lu.\n", -- efi.mokvar_table, map_size); -- return; -- } -- mokvar_entry = va + cur_offset; -+ if (va) -+ early_memunmap(va, sizeof(*mokvar_entry)); -+ va = early_memremap(efi.mokvar_table + cur_offset, sizeof(*mokvar_entry)); -+ if (!va) { -+ pr_err("Failed to map EFI MOKvar config table pa=0x%lx, size=%zu.\n", -+ efi.mokvar_table + cur_offset, sizeof(*mokvar_entry)); -+ return; - } -+ mokvar_entry = va; - - /* Check for last sentinel entry */ - if (mokvar_entry->name[0] == '\0') { - if (mokvar_entry->data_size != 0) - break; - err = 0; -+ map_size_needed = cur_offset + sizeof(*mokvar_entry); - break; - } - -- /* Sanity check that the name is null terminated */ -- size = strnlen(mokvar_entry->name, -- sizeof(mokvar_entry->name)); -- if (size >= sizeof(mokvar_entry->name)) -- break; -+ /* Enforce that the name is NUL terminated */ -+ mokvar_entry->name[sizeof(mokvar_entry->name) - 1] = '\0'; - - /* Advance to the next entry */ -- cur_offset = map_size_needed + mokvar_entry->data_size; -+ cur_offset += sizeof(*mokvar_entry) + mokvar_entry->data_size; - } - - if (va) -- early_memunmap(va, map_size); -+ early_memunmap(va, sizeof(*mokvar_entry)); - if (err) { - pr_err("EFI MOKvar config table is not valid\n"); - return; --- -2.39.5 - diff --git a/queue-5.15/series b/queue-5.15/series index 76829d3fb4..8cd5960227 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -539,7 +539,6 @@ riscv-cacheinfo-remove-the-useless-input-parameter-n.patch riscv-cacheinfo-initialize-cacheinfo-s-level-and-typ.patch riscv-prevent-a-bad-reference-count-on-cpu-nodes.patch riscv-cacheinfo-use-of_property_present-for-non-bool.patch -efi-don-t-map-the-entire-mokvar-table-to-determine-i.patch revert-of-reserved-memory-fix-using-wrong-number-of-cells-to-get-property-alignment.patch hid-appleir-fix-potential-null-dereference-at-raw-event-handle.patch gpio-rcar-use-raw_spinlock-to-protect-register-access.patch diff --git a/queue-6.1/efi-don-t-map-the-entire-mokvar-table-to-determine-i.patch b/queue-6.1/efi-don-t-map-the-entire-mokvar-table-to-determine-i.patch deleted file mode 100644 index 5ace6eab6f..0000000000 --- a/queue-6.1/efi-don-t-map-the-entire-mokvar-table-to-determine-i.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 01cbf34ee494caf36afd1dba712151936025ff44 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 26 Feb 2025 15:18:39 -0500 -Subject: efi: Don't map the entire mokvar table to determine its size - -From: Peter Jones - -[ Upstream commit 2b90e7ace79774a3540ce569e000388f8d22c9e0 ] - -Currently, when validating the mokvar table, we (re)map the entire table -on each iteration of the loop, adding space as we discover new entries. -If the table grows over a certain size, this fails due to limitations of -early_memmap(), and we get a failure and traceback: - - ------------[ cut here ]------------ - WARNING: CPU: 0 PID: 0 at mm/early_ioremap.c:139 __early_ioremap+0xef/0x220 - ... - Call Trace: - - ? __early_ioremap+0xef/0x220 - ? __warn.cold+0x93/0xfa - ? __early_ioremap+0xef/0x220 - ? report_bug+0xff/0x140 - ? early_fixup_exception+0x5d/0xb0 - ? early_idt_handler_common+0x2f/0x3a - ? __early_ioremap+0xef/0x220 - ? efi_mokvar_table_init+0xce/0x1d0 - ? setup_arch+0x864/0xc10 - ? start_kernel+0x6b/0xa10 - ? x86_64_start_reservations+0x24/0x30 - ? x86_64_start_kernel+0xed/0xf0 - ? common_startup_64+0x13e/0x141 - - ---[ end trace 0000000000000000 ]--- - mokvar: Failed to map EFI MOKvar config table pa=0x7c4c3000, size=265187. - -Mapping the entire structure isn't actually necessary, as we don't ever -need more than one entry header mapped at once. - -Changes efi_mokvar_table_init() to only map each entry header, not the -entire table, when determining the table size. Since we're not mapping -any data past the variable name, it also changes the code to enforce -that each variable name is NUL terminated, rather than attempting to -verify it in place. - -Cc: -Signed-off-by: Peter Jones -Signed-off-by: Ard Biesheuvel -Signed-off-by: Sasha Levin ---- - drivers/firmware/efi/mokvar-table.c | 41 +++++++++-------------------- - 1 file changed, 13 insertions(+), 28 deletions(-) - -diff --git a/drivers/firmware/efi/mokvar-table.c b/drivers/firmware/efi/mokvar-table.c -index 5ed0602c2f75f..d865cb1dbaad1 100644 ---- a/drivers/firmware/efi/mokvar-table.c -+++ b/drivers/firmware/efi/mokvar-table.c -@@ -103,7 +103,6 @@ void __init efi_mokvar_table_init(void) - void *va = NULL; - unsigned long cur_offset = 0; - unsigned long offset_limit; -- unsigned long map_size = 0; - unsigned long map_size_needed = 0; - unsigned long size; - struct efi_mokvar_table_entry *mokvar_entry; -@@ -134,48 +133,34 @@ void __init efi_mokvar_table_init(void) - */ - err = -EINVAL; - while (cur_offset + sizeof(*mokvar_entry) <= offset_limit) { -- mokvar_entry = va + cur_offset; -- map_size_needed = cur_offset + sizeof(*mokvar_entry); -- if (map_size_needed > map_size) { -- if (va) -- early_memunmap(va, map_size); -- /* -- * Map a little more than the fixed size entry -- * header, anticipating some data. It's safe to -- * do so as long as we stay within current memory -- * descriptor. -- */ -- map_size = min(map_size_needed + 2*EFI_PAGE_SIZE, -- offset_limit); -- va = early_memremap(efi.mokvar_table, map_size); -- if (!va) { -- pr_err("Failed to map EFI MOKvar config table pa=0x%lx, size=%lu.\n", -- efi.mokvar_table, map_size); -- return; -- } -- mokvar_entry = va + cur_offset; -+ if (va) -+ early_memunmap(va, sizeof(*mokvar_entry)); -+ va = early_memremap(efi.mokvar_table + cur_offset, sizeof(*mokvar_entry)); -+ if (!va) { -+ pr_err("Failed to map EFI MOKvar config table pa=0x%lx, size=%zu.\n", -+ efi.mokvar_table + cur_offset, sizeof(*mokvar_entry)); -+ return; - } -+ mokvar_entry = va; - - /* Check for last sentinel entry */ - if (mokvar_entry->name[0] == '\0') { - if (mokvar_entry->data_size != 0) - break; - err = 0; -+ map_size_needed = cur_offset + sizeof(*mokvar_entry); - break; - } - -- /* Sanity check that the name is null terminated */ -- size = strnlen(mokvar_entry->name, -- sizeof(mokvar_entry->name)); -- if (size >= sizeof(mokvar_entry->name)) -- break; -+ /* Enforce that the name is NUL terminated */ -+ mokvar_entry->name[sizeof(mokvar_entry->name) - 1] = '\0'; - - /* Advance to the next entry */ -- cur_offset = map_size_needed + mokvar_entry->data_size; -+ cur_offset += sizeof(*mokvar_entry) + mokvar_entry->data_size; - } - - if (va) -- early_memunmap(va, map_size); -+ early_memunmap(va, sizeof(*mokvar_entry)); - if (err) { - pr_err("EFI MOKvar config table is not valid\n"); - return; --- -2.39.5 - diff --git a/queue-6.1/series b/queue-6.1/series index 478e81d164..dd8a697350 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -4,7 +4,6 @@ drm-amdgpu-check-extended-configuration-space-regist.patch drm-amdgpu-disable-bar-resize-on-dell-g5-se.patch cpuidle-intel_idle-fix-cpuidle_flag_ibrs.patch x86-speculation-add-__update_spec_ctrl-helper.patch -efi-don-t-map-the-entire-mokvar-table-to-determine-i.patch x86-amd_nb-use-rdmsr_safe-in-amd_get_mmconfig_range.patch revert-of-reserved-memory-fix-using-wrong-number-of-cells-to-get-property-alignment.patch loongarch-convert-unreachable-to-bug.patch -- 2.47.3