summaryrefslogtreecommitdiffstats
path: root/debian/patches/bugfix/x86/x86-efistub-Don-t-clear-BSS-twice-in-mixed-mode.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/bugfix/x86/x86-efistub-Don-t-clear-BSS-twice-in-mixed-mode.patch')
-rw-r--r--debian/patches/bugfix/x86/x86-efistub-Don-t-clear-BSS-twice-in-mixed-mode.patch41
1 files changed, 0 insertions, 41 deletions
diff --git a/debian/patches/bugfix/x86/x86-efistub-Don-t-clear-BSS-twice-in-mixed-mode.patch b/debian/patches/bugfix/x86/x86-efistub-Don-t-clear-BSS-twice-in-mixed-mode.patch
deleted file mode 100644
index 2624812c5..000000000
--- a/debian/patches/bugfix/x86/x86-efistub-Don-t-clear-BSS-twice-in-mixed-mode.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From: Ard Biesheuvel <ardb@kernel.org>
-Date: Fri, 22 Mar 2024 17:01:45 +0100
-Subject: x86/efistub: Don't clear BSS twice in mixed mode
-Origin: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit?id=3a2a828d252f4280e15e61e0666644f1fadcf6c4
-
-[ Upstream commit df7ecce842b846a04d087ba85fdb79a90e26a1b0 ]
-
-Clearing BSS should only be done once, at the very beginning.
-efi_pe_entry() is the entrypoint from the firmware, which may not clear
-BSS and so it is done explicitly. However, efi_pe_entry() is also used
-as an entrypoint by the mixed mode startup code, in which case BSS will
-already have been cleared, and doing it again at this point will corrupt
-global variables holding the firmware's GDT/IDT and segment selectors.
-
-So make the memset() conditional on whether the EFI stub is running in
-native mode.
-
-Fixes: b3810c5a2cc4a666 ("x86/efistub: Clear decompressor BSS in native EFI entrypoint")
-Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/firmware/efi/libstub/x86-stub.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/firmware/efi/libstub/x86-stub.c b/drivers/firmware/efi/libstub/x86-stub.c
-index aa07051459f5..dc50dda40239 100644
---- a/drivers/firmware/efi/libstub/x86-stub.c
-+++ b/drivers/firmware/efi/libstub/x86-stub.c
-@@ -434,7 +434,8 @@ efi_status_t __efiapi efi_pe_entry(efi_handle_t handle,
- efi_status_t status;
- char *cmdline_ptr;
-
-- memset(_bss, 0, _ebss - _bss);
-+ if (efi_is_native())
-+ memset(_bss, 0, _ebss - _bss);
-
- efi_system_table = sys_table_arg;
-
---
-2.43.0
-