x86/boot: Allocate one extra module slot for Xen image placement

Commit 9589927 (x86/mb2: avoid Xen image when looking for
module/crashkernel position) fixed relocation issues for
Multiboot2 protocol. Unfortunately it missed to allocate
module slot for Xen image placement in early boot path.
So, let's fix it right now.

Reported-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
Daniel Kiper authored and Andrew Cooper committed 2018-09-27 11:17:47 +01:00
1 parent c759fb5bc3
commit 4c5f9dbebc
1 file changed
+6 -1
+6 -1
View File
@@ -177,7 +177,12 @@ static multiboot_info_t *mbi2_reloc(u32 mbi_in)
if ( mbi_out->mods_count )
{
mbi_out->flags |= MBI_MODULES;
mbi_out->mods_addr = alloc_mem(mbi_out->mods_count * sizeof(*mbi_out_mods));
/*
* We have to allocate one more module slot here. At some point
* __start_xen() may put Xen image placement into it.
*/
mbi_out->mods_addr = alloc_mem((mbi_out->mods_count + 1) *
sizeof(*mbi_out_mods));
mbi_out_mods = _p(mbi_out->mods_addr);
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.