|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 3/9] xen: arm: make sure we stay within the memory bank during mm setup
On 09/26/2013 11:49 AM, Ian Campbell wrote:
> Otherwise if there is a module in another bank we can run off the end.
>
> Rename *n to *end to make it clearer what is happening.
>
> Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> ---
> v2: Improve commend. s/*n/*end/
> ---
> xen/arch/arm/setup.c | 13 ++++++++++---
> 1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 5f88076..68f79c4 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -207,9 +207,11 @@ static paddr_t __init consider_modules(paddr_t s,
> paddr_t e,
> * Return the end of the non-module region starting at s. In other
> * words return s the start of the next modules after s.
> *
> - * Also returns the end of that module in *n.
> + * On input *end is the end of the region wihch should be considered
s/wihch/which
Except this minor typo:
Acked-by: Julien Grall <julien.grall@xxxxxxxxxx>
> + * and is updated to reflect the end of the module, clipped to the end
> + * of the region if it would run over.
> */
> -static paddr_t __init next_module(paddr_t s, paddr_t *n)
> +static paddr_t __init next_module(paddr_t s, paddr_t *end)
> {
> struct dt_module_info *mi = &early_info.modules;
> paddr_t lowest = ~(paddr_t)0;
> @@ -224,8 +226,10 @@ static paddr_t __init next_module(paddr_t s, paddr_t *n)
> continue;
> if ( mod_s > lowest )
> continue;
> + if ( mod_s > *end )
> + continue;
> lowest = mod_s;
> - *n = mod_e;
> + *end = min(*end, mod_e);
> }
> return lowest;
> }
> @@ -454,6 +458,9 @@ static void __init setup_mm(unsigned long dtb_paddr,
> size_t dtb_size)
> e = n = bank_end;
> }
>
> + if ( e > bank_end )
> + e = bank_end;
> +
> setup_xenheap_mappings(s>>PAGE_SHIFT, (e-s)>>PAGE_SHIFT);
>
> xenheap_mfn_end = e;
>
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |