If it is possible we would like to have the Xen image higher than the booloader put it and certainly do not overwrite the Xen code and data during copy/relocation. Otherwise the Xen may crash silently at boot.
Signed-off-by: Daniel Kiper <[email protected]> --- xen/arch/x86/setup.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index 32bb02e..be91d34 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -960,7 +960,13 @@ void __init noreturn __start_xen(unsigned long mbi_p) } else end = 0; - if ( end > s ) + + /* + * Is the region size greater than zero? + * Does the region begins above or at the + * end of current Xen image placement? + */ + if ( end > s && (end - reloc_size >= _end - _start) ) { l4_pgentry_t *pl4e; l3_pgentry_t *pl3e; -- 1.7.10.4 _______________________________________________ Xen-devel mailing list [email protected] https://lists.xenproject.org/mailman/listinfo/xen-devel
