Hi Daniel

On Thu, 2021-09-09 at 18:40 +0200, Daniel Kiper wrote:
> > --- a/grub-core/loader/multiboot.c      Thu Jul 15 17:35:28 2021
> > +0200
> > +++ b/grub-core/loader/multiboot.c      Mon Aug 16 12:02:52 2021
> > +0200
> > @@ -363,12 +363,15 @@
> >                  int argc, char *argv[])
> >  {
> >    grub_file_t file = 0;
> > -  grub_ssize_t size;
> > +  grub_size_t size;
> 
> Why do you change this? If you need that change it requires an
> explanation and probably begs for separate patch.

This variable is initialised later by grub_file_size() that returns
uint64_t. Functions, where the variable is passed, also expect unsigned
value. I don't see any reason to keep it as signed and casts to
unsigned when it is used.

If you prefer to have this change is separate patch, I will do it.

> >  grub-core/loader/multiboot_mbi2.c
> > --- a/grub-core/loader/multiboot_mbi2.c Thu Jul 15 17:35:28 2021
> > +0200
> > +++ b/grub-core/loader/multiboot_mbi2.c Mon Aug 16 12:02:52 2021
> > +0200
> > @@ -75,6 +75,7 @@
> >  static void *elf_sections;
> >  static int keep_bs = 0;
> >  static grub_uint32_t load_base_addr;
> > +struct module_load_preferences grub_multiboot2_mlp;
> > 
> >  void
> >  grub_multiboot2_add_elfsyms (grub_size_t num, grub_size_t entsize,
> > @@ -114,6 +115,7 @@
> >    struct multiboot_header_tag *tag;
> >    struct multiboot_header_tag_address *addr_tag = NULL;
> >    struct multiboot_header_tag_relocatable *rel_tag;
> > +  struct multiboot_header_tag_module_load_preferences
> > *mod_load_tag;
> >    int entry_specified = 0, efi_entry_specified = 0;
> >    grub_addr_t entry = 0, efi_entry = 0;
> >    grub_uint32_t console_required = 0;
> > @@ -123,6 +125,7 @@
> > 
> >    mld.mbi_ver = 2;
> >    mld.relocatable = 0;
> > +  grub_multiboot2_mlp.relocatable = 0;
> 
> I would prefer if you use mld for this. Of course you have to rename
> members then, e.g. mld.mod_relocatable.

MLD is not a good place for this as it is not exposed to
grub_cmd_module(). It is allocated on stack inside
grub_multiboot2_load() and used only when processing multiboot2
command. I need a place where values obtained by parsing multiboot2
kernel header will be available during multiboot2 modules load.

Lukasz


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to