loader/multiboot: Do not add modules before successful download

Multiboot modules that could not be read successfully, e.g. via network,
should not be added to the list of modules to forward to the operating
system that is to be booted subsequently.

This patch is necessary because even if a grub.cfg checks whether or not
a module was successfully downloaded, it is futile to retry a failed
download as the corrupted module will be forwarded either way.

Signed-off-by: Valentin Gehrke <valentin.gehrke@kernkonzept.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
Valentin Gehrke authored and Daniel Kiper committed 2024-10-31 16:29:01 +01:00
1 parent 9a9082b501
commit dd743ba42d
1 file changed
+2 -8
+2 -8
View File
@@ -420,13 +420,6 @@ grub_cmd_module (grub_command_t cmd __attribute__ ((unused)),
target = 0; target = 0;
} }
err = GRUB_MULTIBOOT (add_module) (target, size, argc - 1, argv + 1);
if (err)
{
grub_file_close (file);
return err;
}
if (size && grub_file_read (file, module, size) != size) if (size && grub_file_read (file, module, size) != size)
{ {
grub_file_close (file); grub_file_close (file);
@@ -437,7 +430,8 @@ grub_cmd_module (grub_command_t cmd __attribute__ ((unused)),
} }
grub_file_close (file); grub_file_close (file);
return GRUB_ERR_NONE;
return GRUB_MULTIBOOT (add_module) (target, size, argc - 1, argv + 1);
} }
static grub_command_t cmd_multiboot, cmd_module; static grub_command_t cmd_multiboot, cmd_module;