| From 9f929198112ea6b0e34f08d6f4419b55cd286b2b Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 27 Oct 2020 08:32:06 +0100 |
| Subject: arm64: efi: increase EFI PE/COFF header padding to 64 KB |
| |
| From: Ard Biesheuvel <ardb@kernel.org> |
| |
| [ Upstream commit a2d50c1c77aa879af24f9f67b33186737b3d4885 ] |
| |
| Commit 76085aff29f5 ("efi/libstub/arm64: align PE/COFF sections to segment |
| alignment") increased the PE/COFF section alignment to match the minimum |
| segment alignment of the kernel image, which ensures that the kernel does |
| not need to be moved around in memory by the EFI stub if it was built as |
| relocatable. |
| |
| However, the first PE/COFF section starts at _stext, which is only 4 KB |
| aligned, and so the section layout is inconsistent. Existing EFI loaders |
| seem to care little about this, but it is better to clean this up. |
| |
| So let's pad the header to 64 KB to match the PE/COFF section alignment. |
| |
| Fixes: 76085aff29f5 ("efi/libstub/arm64: align PE/COFF sections to segment alignment") |
| Signed-off-by: Ard Biesheuvel <ardb@kernel.org> |
| Link: https://lore.kernel.org/r/20201027073209.2897-2-ardb@kernel.org |
| Signed-off-by: Will Deacon <will@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/arm64/kernel/efi-header.S | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/arch/arm64/kernel/efi-header.S b/arch/arm64/kernel/efi-header.S |
| index df67c0f2a077e..a71844fb923ee 100644 |
| --- a/arch/arm64/kernel/efi-header.S |
| +++ b/arch/arm64/kernel/efi-header.S |
| @@ -147,6 +147,6 @@ efi_debug_entry: |
| * correctly at this alignment, we must ensure that .text is |
| * placed at a 4k boundary in the Image to begin with. |
| */ |
| - .align 12 |
| + .balign SEGMENT_ALIGN |
| efi_header_end: |
| .endm |
| -- |
| 2.27.0 |
| |