From e45b2b4e440716eb31b108a1617d2416963ade03 Mon Sep 17 00:00:00 2001 From: Wentao Guan Date: Sun, 25 Aug 2024 17:41:22 +0800 Subject: [PATCH] loader: Drop argv[] argument in grub_initrd_load() In the case of an error grub_initrd_load() uses argv[] to print the filename that caused the error. It is also possible to obtain the filename from the file handles and there is no need to duplicate that information in argv[], so let's drop it. Signed-off-by: Nikita Ermakov Signed-off-by: Ard Biesheuvel Reviewed-by: Daniel Kiper Backport-commit: also for mips64 Signed-off-by: Wentao Guan --- GRUB2/MOD_SRC/grub-2.04/grub-core/loader/arm/linux.c | 2 +- GRUB2/MOD_SRC/grub-2.04/grub-core/loader/arm64/linux.c | 2 +- GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/linux.c | 2 +- GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/pc/linux.c | 2 +- GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/xen.c | 3 +-- GRUB2/MOD_SRC/grub-2.04/grub-core/loader/ia64/efi/linux.c | 2 +- GRUB2/MOD_SRC/grub-2.04/grub-core/loader/linux.c | 4 ++-- GRUB2/MOD_SRC/grub-2.04/grub-core/loader/mips/linux.c | 2 +- GRUB2/MOD_SRC/grub-2.04/grub-core/loader/mips64/linux.c | 2 +- .../grub-2.04/grub-core/loader/powerpc/ieee1275/linux.c | 2 +- .../grub-2.04/grub-core/loader/sparc64/ieee1275/linux.c | 2 +- GRUB2/MOD_SRC/grub-2.04/include/grub/linux.h | 2 +- 12 files changed, 13 insertions(+), 14 deletions(-) diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/arm/linux.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/arm/linux.c index 51684914..25b31606 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/arm/linux.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/arm/linux.c @@ -422,7 +422,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), grub_dprintf ("loader", "Loading initrd to 0x%08x\n", (grub_addr_t) initrd_start); - if (grub_initrd_load (&initrd_ctx, argv, (void *) initrd_start)) + if (grub_initrd_load (&initrd_ctx, (void *) initrd_start)) goto fail; initrd_end = initrd_start + size; diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/arm64/linux.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/arm64/linux.c index f2c40d01..f980f33b 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/arm64/linux.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/arm64/linux.c @@ -657,7 +657,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), goto fail; } - if (grub_initrd_load (&initrd_ctx, argv, initrd_mem)) + if (grub_initrd_load (&initrd_ctx, initrd_mem)) goto fail; initrd_start = (grub_addr_t) initrd_mem; diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/linux.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/linux.c index d5e1a800..527152b9 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/linux.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/linux.c @@ -1467,7 +1467,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), initrd_mem_target = get_physical_target_address (ch); } - if (grub_initrd_load (&initrd_ctx, argv, initrd_mem)) + if (grub_initrd_load (&initrd_ctx, initrd_mem)) goto fail; grub_dprintf ("linux", "Initrd, addr=0x%x, size=0x%x\n", diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/pc/linux.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/pc/linux.c index 47ea2945..102686b0 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/pc/linux.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/pc/linux.c @@ -458,7 +458,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), initrd_addr = get_physical_target_address (ch); } - if (grub_initrd_load (&initrd_ctx, argv, initrd_chunk)) + if (grub_initrd_load (&initrd_ctx, initrd_chunk)) goto fail; lh->ramdisk_image = initrd_addr; diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/xen.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/xen.c index 8f662c8a..eae677d1 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/xen.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/i386/xen.c @@ -801,8 +801,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), if (err) goto fail; - if (grub_initrd_load (&initrd_ctx, argv, - get_virtual_current_address (ch))) + if (grub_initrd_load (&initrd_ctx, get_virtual_current_address (ch))) goto fail; } diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/ia64/efi/linux.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/ia64/efi/linux.c index 7987fd1b..8873b7a5 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/ia64/efi/linux.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/ia64/efi/linux.c @@ -563,7 +563,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), grub_dprintf ("linux", "[addr=0x%lx, size=0x%lx]\n", (grub_uint64_t) initrd_mem, initrd_size); - if (grub_initrd_load (&initrd_ctx, argv, initrd_mem)) + if (grub_initrd_load (&initrd_ctx, initrd_mem)) goto fail; fail: grub_initrd_close (&initrd_ctx); diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/linux.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/linux.c index 92492f9d..1901bf88 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/linux.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/linux.c @@ -250,7 +250,7 @@ extern int ventoy_need_prompt_load_file(void); extern grub_ssize_t ventoy_load_file_with_prompt(grub_file_t file, void *buf, grub_ssize_t size); grub_err_t grub_initrd_load (struct grub_linux_initrd_context *initrd_ctx, - char *argv[], void *target) + void *target) { grub_uint8_t *ptr = target; int i; @@ -298,7 +298,7 @@ grub_initrd_load (struct grub_linux_initrd_context *initrd_ctx, { if (!grub_errno) grub_error (GRUB_ERR_FILE_READ_ERROR, N_("premature end of file %s"), - argv[i]); + initrd_ctx->components[i].file->name); grub_initrd_close (initrd_ctx); return grub_errno; } diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/mips/linux.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/mips/linux.c index 7b723bf1..3ba6bd48 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/mips/linux.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/mips/linux.c @@ -455,7 +455,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), initrd_dest = get_physical_target_address (ch) | 0x80000000; } - if (grub_initrd_load (&initrd_ctx, argv, initrd_src)) + if (grub_initrd_load (&initrd_ctx, initrd_src)) goto fail; #ifdef GRUB_MACHINE_MIPS_QEMU_MIPS diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/mips64/linux.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/mips64/linux.c index d81cc3c8..f9cc00ca 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/mips64/linux.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/mips64/linux.c @@ -941,7 +941,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), initrd_dest = get_virtual_current_address (ch); } - if (grub_initrd_load (&initrd_ctx, argv, initrd_dest)) + if (grub_initrd_load (&initrd_ctx, initrd_dest)) goto fail; grub_snprintf ((char *) linux_args_addr + rd_addr_arg_off, diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/powerpc/ieee1275/linux.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/powerpc/ieee1275/linux.c index 818b2a86..a51e7a78 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/powerpc/ieee1275/linux.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/powerpc/ieee1275/linux.c @@ -363,7 +363,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), grub_dprintf ("loader", "Loading initrd at 0x%x, size 0x%x\n", addr, size); - if (grub_initrd_load (&initrd_ctx, argv, (void *) addr)) + if (grub_initrd_load (&initrd_ctx, (void *) addr)) goto fail; initrd_addr = addr; diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/sparc64/ieee1275/linux.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/sparc64/ieee1275/linux.c index bb47ee0c..ac2206f3 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/sparc64/ieee1275/linux.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/loader/sparc64/ieee1275/linux.c @@ -413,7 +413,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)), grub_dprintf ("loader", "Loading initrd at vaddr 0x%lx, paddr 0x%lx, size 0x%lx\n", addr, paddr, size); - if (grub_initrd_load (&initrd_ctx, argv, (void *) addr)) + if (grub_initrd_load (&initrd_ctx, (void *) addr)) goto fail; initrd_addr = addr; diff --git a/GRUB2/MOD_SRC/grub-2.04/include/grub/linux.h b/GRUB2/MOD_SRC/grub-2.04/include/grub/linux.h index 594a3f30..a96ac204 100644 --- a/GRUB2/MOD_SRC/grub-2.04/include/grub/linux.h +++ b/GRUB2/MOD_SRC/grub-2.04/include/grub/linux.h @@ -21,4 +21,4 @@ grub_initrd_close (struct grub_linux_initrd_context *initrd_ctx); grub_err_t grub_initrd_load (struct grub_linux_initrd_context *initrd_ctx, - char *argv[], void *target); + void *target);