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
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-grub