1. 14 Oct, 2014 1 commit
  2. 21 Sep, 2014 1 commit
    • Peter Jones's avatar
      Initialized initrd_ctx so we don't free a random pointer from the stack. · 631a8200
      Peter Jones authored
      Currently, if "linux" fails, the "goto fail;" in grub_cmd_initrd sends us
      into grub_initrd_close() without grub_initrd_init() being called, and thus
      it never clears initrd_ctx->components.  grub_initrd_close() then frees that
      address, which is stale data from the stack.  If the stack happens to have a
      stale *address* there that matches a recent allocation, then you'll get a
      double free later.
      
      So initialize the memory up front.
      Signed-off-by: 's avatarPeter Jones <pjones@redhat.com>
      631a8200
  3. 19 Apr, 2013 2 commits
  4. 23 Mar, 2013 1 commit
  5. 02 Mar, 2013 1 commit
  6. 21 Jan, 2013 1 commit
  7. 15 Jan, 2013 1 commit
    • Colin Watson's avatar
      Remove nested functions from memory map iterators. · d0d4b8a0
      Colin Watson authored
      * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
      argument, passed to hook.
      * grub-core/kern/i386/coreboot/mmap.c
      (grub_linuxbios_table_iterate): Likewise.
      (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
      instead of nested.
      (grub_machine_mmap_iterate): Add hook_data argument.
      * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
      Add hook_data argument, passed to hook.
      * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
      Likewise.
      * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
      Likewise.
      * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
      Likewise.
      * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
      Likewise.
      * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
      Likewise.
      * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
      Likewise.
      * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
      (grub_machine_mmap_iterate): Likewise.
      * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
      * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
      prototype.
      * include/grub/memory.h (grub_memory_hook_t): Add data argument.
      Remove NESTED_FUNC_ATTR from here and from all users.
      (grub_mmap_iterate): Update prototype.
      (grub_efi_mmap_iterate): Update prototype.  Update all callers to
      pass appropriate hook data.
      (grub_machine_mmap_iterate): Likewise.
      
      * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
      static instead of nested.
      * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
      Rename to ...
      (lsmmap_hook): ... this.
      * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
      Likewise.
      (grub_efiemu_mmap_fill: fill_hook): Likewise.
      * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
      heap_init): Likewise.
      * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
      Rename to ...
      (mmap_iterate_hook): ... this.
      * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
      Likewise.
      * grub-core/lib/ieee1275/relocator.c
      (grub_relocator_firmware_get_max_events: count): Likewise.
      (grub_relocator_firmware_fill_events: fill): Likewise.  Rename
      to ...
      (grub_relocator_firmware_fill_events_iter): ... this.
      * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
      hook): Likewise.  Rename to ...
      (grub_relocator_alloc_chunk_align_iter): ... this.
      * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
      Rename to ...
      (generate_e820_mmap_iter): ... this.
      * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
      Rename to ...
      (count_hook): ... this.
      (grub_linux_boot: hook): Likewise.  Rename to ...
      (grub_linux_boot_mmap_find): ... this.
      (grub_linux_boot: hook_fill): Likewise.  Rename to ...
      (grub_linux_boot_mmap_fill): ... this.
      * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
      hook): Likewise.  Rename to ...
      (grub_fill_multiboot_mmap_iter): ... this.
      * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
      hook): Likewise.  Rename to ...
      (count_hook): ... this.
      * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
      hook): Likewise.  Rename to ...
      (grub_fill_multiboot_mmap_iter): ... this.
      * grub-core/loader/powerpc/ieee1275/linux.c
      (grub_linux_claimmap_iterate: alloc_mem): Likewise.
      * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
      Likewise.  Rename to ...
      (alloc_phys_choose): ... this.
      (determine_phys_base: get_physbase): Likewise.
      * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
      find_hook): Likewise.
      * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
      (malloc_hook: count_hook): Likewise.
      * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
      Likewise.  Rename to ...
      (lower_hook): ... this.
      (grub_mmap_get_upper: hook): Likewise.  Rename to ...
      (upper_hook): ... this.
      (grub_mmap_get_post64: hook): Likewise.  Rename to ...
      (post64_hook): ... this.
      * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
      Likewise.  Rename to ...
      (lower_hook): ... this.
      (grub_mmap_get_upper: hook): Likewise.  Rename to ...
      (upper_hook): ... this.
      * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
      (grub_mmap_iterate: fill_hook): Likewise.
      (fill_mask): Pass addr and mask within a single struct.
      (grub_cmd_badram: hook): Make static instead of nested.  Rename
      to ...
      (badram_iter): ... this.
      (grub_cmd_cutmem: hook): Likewise.  Rename to ...
      (cutmem_iter): ... this.
      d0d4b8a0
  8. 13 Jun, 2012 1 commit
  9. 06 Jun, 2012 1 commit
  10. 05 Mar, 2012 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define. · 1a2fd1e6
      Vladimir 'phcoder' Serbinenko authored
      	* grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
      	* grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
      	* grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
      	* grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
      	* grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
      	* grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
      1a2fd1e6
  11. 26 Feb, 2012 1 commit
  12. 08 Feb, 2012 1 commit
  13. 04 Feb, 2012 1 commit
  14. 14 Jan, 2012 1 commit
  15. 13 Jan, 2012 1 commit
  16. 26 Dec, 2011 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      Don't override more informative errors. · 7a45a539
      Vladimir 'phcoder' Serbinenko authored
      	* grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
      	* grub-core/font/font.c (open_section): Likewise.
      	* grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
      	filename. Don't override errors.
      	(grub_cmd_openbsd_ramdisk): Don't override errors.
      	* grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
      	(grub_cmd_initrd): Likewise.
      	* grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
      	(grub_cmd_initrd): Likewise.
      	* grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
      	(grub_cmd_linux): Likewise.
      	(grub_cmd_initrd): Likewise.
      	(grub_cmd_payload): Likewise.
      	* grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
      	* grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
      	(grub_cmd_module): Likewise.
      	* grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
      	* grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
      	* grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
      	(grub_cmd_xnu_mkext): Likewise.
      	(grub_cmd_xnu_ramdisk): Likewise.
      	(grub_xnu_check_os_bundle_required): Likewise.
      	(grub_xnu_load_kext_from_dir): Likewise.
      	(grub_cmd_xnu_kextdir): Likewise.
      	* grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
      7a45a539
  17. 12 Apr, 2011 1 commit
  18. 12 Jan, 2011 1 commit
  19. 07 Jan, 2011 1 commit
    • Szymon Janc's avatar
      Improve loaders' kernel command line handling. · 25953e10
      Szymon Janc authored
      	* grub-core/lib/cmdline.c: New file.
      	* include/grub/lib/cmdline.h: Likewise.
      	* grub-core/loader/i386/linux.c (grub_cmd_linux): Use
      	grub_create_loader_cmdline to create kernel command line.
      	* grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
      	* grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
      	* grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
      	* grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
      	(linux): Add lib/cmdline.c on common.
      25953e10
  20. 08 Nov, 2010 1 commit
    • Manoel Rebelo Abranches's avatar
      2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com> · 9c4cf53b
      Manoel Rebelo Abranches authored
              * include/grub/elfload.h (grub_elf32_size): New parameter. All users updated.
              Return maximum segments alignment.
              (grub_elf64_size): Likewise.
              * kern/elf.c (grub_elf32_size): New parameter. All users updated.
              Return maximum segments alignment.
              (grub_elf64_size): Likewise.
              * grub-core/loader/powerpc/ieee1275/linux.c:
              (grub_linux_claimmap_iterate): New function. Uses the "available"property
              in the "memory" node for memory allocation for kernel in the PowerPC loader.
              (grub_linux_load32): Correctly find linux entry point offset.
              (grub_linux_load64): Likewise.
      9c4cf53b
  21. 05 Sep, 2010 1 commit
    • Vladimir 'phcoder' Serbinenko's avatar
      * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter. · fc2ef117
      Vladimir 'phcoder' Serbinenko authored
      	Made static.
      	(grub_gzfile_open): Removed. All users updated.
      	(GRUB_MOD_INIT): New function.
      	(GRUB_MOD_FINI): Likewise.
      	* grub-core/kern/file.c (grub_file_filters_all): New variable.
      	(grub_file_filters_enabled): Likewise.
      	(grub_file_open): Handle filters.
      	* grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
      	* grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
      	* include/grub/file.h (grub_file_filter_id_t): New type.
      	(grub_file_filter_t): Likewise.
      	(grub_file_filters_all): New extern variable.
      	(grub_file_filters_enabled): Likewise.
      	(grub_file_filter_register): New inline function.
      	(grub_file_filter_unregister): Likewise.
      	(grub_file_filter_disable): Likewise.
      	(grub_file_filter_disable_compression): Likewise.
      	* include/grub/gzio.h: Removed.
      fc2ef117
  22. 06 May, 2010 1 commit