From ef1580c787057b92f87c0b8c6f1f231f166279ef Mon Sep 17 00:00:00 2001 From: mengyingkun Date: Sat, 18 Mar 2023 11:59:07 +0800 Subject: [PATCH] LoongArch: Force initrd load address 64KiB alignment Signed-off-by: mengyingkun (cherry picked from commit 49bab1d9ae8b2a13648c414a8cc31b113873e17c) --- grub.patches | 3 +++ grub2.spec | 8 +++++- ...-initrd-load-address-64KiB-alignment.patch | 26 +++++++++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 loongarch-Force-initrd-load-address-64KiB-alignment.patch diff --git a/grub.patches b/grub.patches index 8fb6903..0f899d9 100644 --- a/grub.patches +++ b/grub.patches @@ -310,3 +310,6 @@ Patch0305: loongarch-Add-support-for-v4.0-interface.patch Patch0306: loongarch-Add-support-for-new-EFI-screen-info-GUID.patch %endif Patch0307: 0202-rpm-sort-add-prereqs-for-declaration-of-strchrnul.patch +%ifarch loongarch64 +Patch0308: loongarch-Force-initrd-load-address-64KiB-alignment.patch +%endif diff --git a/grub2.spec b/grub2.spec index 78b2087..6dec9d2 100644 --- a/grub2.spec +++ b/grub2.spec @@ -14,7 +14,7 @@ Name: grub2 Epoch: 1 Version: 2.06 -Release: 25 +Release: 26 Summary: Bootloader with support for Linux, Multiboot and more License: GPLv3+ URL: http://www.gnu.org/software/grub/ @@ -439,6 +439,12 @@ fi %{_datadir}/man/man* %changelog +* Sat Mar 18 2023 mengyingkun - 1:2.06-26 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:loongarch: Force initrd load address 64KiB alignment + * Sat Mar 11 2023 zhangqiumiao - 1:2.06-25 - Type:bugfix - CVE:NA diff --git a/loongarch-Force-initrd-load-address-64KiB-alignment.patch b/loongarch-Force-initrd-load-address-64KiB-alignment.patch new file mode 100644 index 0000000..1d460b5 --- /dev/null +++ b/loongarch-Force-initrd-load-address-64KiB-alignment.patch @@ -0,0 +1,26 @@ +From 1107e231094bf2e6cde9daea3bb22b1fccb92bc5 Mon Sep 17 00:00:00 2001 +From: mengyingkun +Date: Sat, 18 Mar 2023 09:33:41 +0800 +Subject: [PATCH] loongarch: Force initrd load address 64KiB alignment + +Signed-off-by: mengyingkun +--- + grub-core/loader/loongarch64/linux.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/loader/loongarch64/linux.c b/grub-core/loader/loongarch64/linux.c +index 03b7940..5f1d845 100644 +--- a/grub-core/loader/loongarch64/linux.c ++++ b/grub-core/loader/loongarch64/linux.c +@@ -329,7 +329,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), + initrd_size = grub_get_initrd_size (&initrd_ctx); + grub_dprintf ("linux", "Loading initrd\n"); + +- initrd_mem = grub_linux_loongarch_alloc_initrd_mem_align (initrd_size, 0x1000, &err); ++ initrd_mem = grub_linux_loongarch_alloc_initrd_mem_align (initrd_size, 0x10000, &err); + if (err) + goto fail; + +-- +2.33.0 + -- Gitee