[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] Unable to bring up Mini-OS on x86_64



> Whatever the problem is, it'd be good to fix whatever bug this is
> triggering in the builder as well as fixing mini-os (although maybe
the
> bug is solely in the builder). It shouldn't be possible for bogus
> kernel images to kill xend, although I'm sure xc_linux_build() has
> various holes in this respect. It'd be nice to fix them as we find
them
> though.

Ok, I have found the bug. Mini-OS does not define VIRT_BASE in its
__xen_guest section. This causes dsi->elf_paddr_offset in
parseelfimage() [xc_load_elf.c] to be set to 0. This in turn causes
parray[pa>>PAGE_SHIFT] in loadelfimage[xc_load_elf.c] to go out of
bounds causing a segmentation fault.

This can also happen when an OS elfimage has VIRT_BASE or
ELF_PADDR_OFFSET set to 0. 

The case where VIRT_BASE is set correctly and ELF_PADDR_OFFSET is 0 has
been taken care of.

The fix here is to always ensure that VIRT_BASE is always defined and
when defined it is not set to 0 i.e. always ensure that virt_base
variable in parseelfimage() [xc_load_elf.c] is not 0. 

I will send in a patch for this.

Thanks,
Aravindh

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.