>>> On 31.05.16 at 12:30, <david.vra...@citrix.com> wrote:
> On 30/05/16 14:48, Jan Beulich wrote:
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -1044,13 +1044,19 @@ void __init noreturn __start_xen(unsigne
>>          }
>>  
>>  #ifdef CONFIG_KEXEC
>> -        /* Don't overlap with modules. */
>> -        e = consider_modules(s, e, PAGE_ALIGN(kexec_crash_area.size),
>> -                             mod, mbi->mods_count, -1);
>> -        if ( !kexec_crash_area.start && (s < e) )
> 
> I think we want a comment here.
> 
> /*
>  * Looking backwards from the crash area limit, find a large enough
>  * crash area that does not overlap with modules.
>  */

Sure, added.

>> +        while ( !kexec_crash_area.start )
> 
> Does this mean that if an @<offset> is specified we no longer check for
> overlapping modules?

We didn't do any more checking before. If you look at the old
code above, we called consider_modules() only to possibly alter
e. All the rest of the old code was similarly dependent upon
!kexec_crash_area.start. That other case is being taken care
of earlier anyway - see kexec_reserve_area()'s first invocation.

But yes, it looks like there's an overlap check missing there (iiuc
relevant really only for the initrd, as that's the only thing the
memory of which may not get copied but simply directly handed
to Dom0).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to