aboutsummaryrefslogtreecommitdiffstats
path: root/sys-boot/grub/files/grub-2.06-001-loader-drop-argv-in-grub_initrd_load.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sys-boot/grub/files/grub-2.06-001-loader-drop-argv-in-grub_initrd_load.patch')
-rw-r--r--sys-boot/grub/files/grub-2.06-001-loader-drop-argv-in-grub_initrd_load.patch173
1 files changed, 173 insertions, 0 deletions
diff --git a/sys-boot/grub/files/grub-2.06-001-loader-drop-argv-in-grub_initrd_load.patch b/sys-boot/grub/files/grub-2.06-001-loader-drop-argv-in-grub_initrd_load.patch
new file mode 100644
index 0000000..66d91dd
--- /dev/null
+++ b/sys-boot/grub/files/grub-2.06-001-loader-drop-argv-in-grub_initrd_load.patch
@@ -0,0 +1,173 @@
+
+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 <arei@altlinux.org>
+---
+ grub-core/loader/arm/linux.c | 2 +-
+ grub-core/loader/arm64/linux.c | 2 +-
+ grub-core/loader/i386/linux.c | 2 +-
+ grub-core/loader/i386/pc/linux.c | 2 +-
+ grub-core/loader/i386/xen.c | 3 +--
+ grub-core/loader/ia64/efi/linux.c | 2 +-
+ grub-core/loader/linux.c | 4 ++--
+ grub-core/loader/mips/linux.c | 2 +-
+ grub-core/loader/powerpc/ieee1275/linux.c | 2 +-
+ grub-core/loader/sparc64/ieee1275/linux.c | 2 +-
+ include/grub/linux.h | 2 +-
+ 11 files changed, 12 insertions(+), 13 deletions(-)
+
+diff --git a/grub-core/loader/arm/linux.c b/grub-core/loader/arm/linux.c
+index ed23dc71e..1f7ab7578 100644
+--- a/grub-core/loader/arm/linux.c
++++ b/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/grub-core/loader/arm64/linux.c b/grub-core/loader/arm64/linux.c
+index ef3e9f944..aed7a200b 100644
+--- a/grub-core/loader/arm64/linux.c
++++ b/grub-core/loader/arm64/linux.c
+@@ -266,7 +266,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/grub-core/loader/i386/linux.c b/grub-core/loader/i386/linux.c
+index 9f74a96b1..f30a1586a 100644
+--- a/grub-core/loader/i386/linux.c
++++ b/grub-core/loader/i386/linux.c
+@@ -1107,7 +1107,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/grub-core/loader/i386/pc/linux.c b/grub-core/loader/i386/pc/linux.c
+index 2a2995201..efeeeb206 100644
+--- a/grub-core/loader/i386/pc/linux.c
++++ b/grub-core/loader/i386/pc/linux.c
+@@ -462,7 +462,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/grub-core/loader/i386/xen.c b/grub-core/loader/i386/xen.c
+index cd24874ca..3b856e842 100644
+--- a/grub-core/loader/i386/xen.c
++++ b/grub-core/loader/i386/xen.c
+@@ -809,8 +809,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/grub-core/loader/ia64/efi/linux.c b/grub-core/loader/ia64/efi/linux.c
+index 7987fd1ba..8873b7a55 100644
+--- a/grub-core/loader/ia64/efi/linux.c
++++ b/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/grub-core/loader/linux.c b/grub-core/loader/linux.c
+index 3fe390f17..d19df670e 100644
+--- a/grub-core/loader/linux.c
++++ b/grub-core/loader/linux.c
+@@ -271,7 +271,7 @@ 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)
+ {
+ grub_uint8_t *ptr = target;
+ int i;
+@@ -317,7 +317,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/grub-core/loader/mips/linux.c b/grub-core/loader/mips/linux.c
+index e4ed95921..94594721d 100644
+--- a/grub-core/loader/mips/linux.c
++++ b/grub-core/loader/mips/linux.c
+@@ -452,7 +452,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/grub-core/loader/powerpc/ieee1275/linux.c b/grub-core/loader/powerpc/ieee1275/linux.c
+index 818b2a86d..a51e7a786 100644
+--- a/grub-core/loader/powerpc/ieee1275/linux.c
++++ b/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/grub-core/loader/sparc64/ieee1275/linux.c b/grub-core/loader/sparc64/ieee1275/linux.c
+index bb47ee0cc..ac2206f3c 100644
+--- a/grub-core/loader/sparc64/ieee1275/linux.c
++++ b/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/include/grub/linux.h b/include/grub/linux.h
+index 594a3f307..a96ac2048 100644
+--- a/include/grub/linux.h
++++ b/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);
+--
+2.29.3