diff --git a/ChangeLog b/ChangeLog index 00f062165..ce0ae4c71 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2012-06-03 Vladimir Serbinenko + + * grub-core/commands/i386/pc/drivemap.c (install_int13_handler): + Allocate in multiples of 16 to avoid adding a few bytes free region the + windows bugs upon. + * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise. + 2012-06-02 Vladimir Serbinenko * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid diff --git a/grub-core/commands/i386/pc/drivemap.c b/grub-core/commands/i386/pc/drivemap.c index ae0bb2fe2..7fbf8de87 100644 --- a/grub-core/commands/i386/pc/drivemap.c +++ b/grub-core/commands/i386/pc/drivemap.c @@ -312,7 +312,7 @@ install_int13_handler (int noret __attribute__ ((unused))) total_size = INT13H_OFFSET (&grub_drivemap_mapstart) + (entries + 1) * sizeof (int13map_node_t); grub_dprintf ("drivemap", "Payload is %u bytes long\n", total_size); - handler_base = grub_mmap_malign_and_register (16, total_size, + handler_base = grub_mmap_malign_and_register (16, ALIGN_UP (total_size, 16), &drivemap_mmap, GRUB_MEMORY_RESERVED, GRUB_MMAP_MALLOC_LOW);