URL: <http://savannah.gnu.org/bugs/?41655>
Summary: booting problem with x86_64 specific image with GRUB (apparently in relocator.c) Project: GNU GRUB Submitted by: dejw Submitted on: Fri 21 Feb 2014 01:59:40 PM CET Category: Booting Severity: Major Priority: 5 - Normal Item Group: Software Error Status: None Privacy: Public Assigned to: None Originator Name: Originator Email: Open/Closed: Open Discussion Lock: Any Release: Release: Git master Reproducibility: Every Time Planned Release: None _______________________________________________________ Details: Hello, I have a problem with loading x86_64 image (multiboot2) using GRUB. GRUB is started directly from EFI shell. I've monitored that problem appears in git-core/lib/relocator.c, function malloc_in_range() in following part: ... #if GRUB_RELOCATOR_HAVE_LEFTOVERS case CHUNK_TYPE_LEFTOVER: { unsigned offstart = alloc_start % GRUB_RELOCATOR_FIRMWARE_REQUESTS_QUANT; unsigned offend = alloc_end % GRUB_RELOCATOR_FIRMWARE_REQUESTS_QUANT; struct grub_relocator_fw_leftover *lo = events[last_lo].leftover; lo->freebytes[offstart / 8] &= ((1 << (8 - (start % 8))) - 1); grub_memset (lo->freebytes + (offstart + 7) / 8, 0, offend / 8 - (offstart + 7) / 8); lo->freebytes[offend / 8] &= ~((1 << (offend % 8)) - 1); ... Problem on my side appear when I initiate boot of one of my images. Then I get here values: alloc_start:0x158ff8 alloc_end:0x159000 this affects that offend will be 0, which affects badly grub_memset() size parameter. I don't know where is root cause of problem, but probably somewhere in relocator. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?41655> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-grub mailing list Bug-grub@gnu.org https://lists.gnu.org/mailman/listinfo/bug-grub