From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH RFC 3/7] xen: arm: make sure we stay within the memory bank during mm setup Date: Tue, 17 Sep 2013 13:19:51 +0100 Message-ID: <523848E7.6010604@linaro.org> References: <1379381846.11304.73.camel@hastur.hellion.org.uk> <1379382050-11821-3-git-send-email-ian.campbell@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1379382050-11821-3-git-send-email-ian.campbell@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: julien.grall@citrix.com, stefano.stabellini@eu.citrix.com, tim@xen.org, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 09/17/2013 02:40 AM, Ian Campbell wrote: > Otherwise if there is a module in another bank we can run off the end. > > Signed-off-by: Ian Campbell > --- > xen/arch/arm/setup.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c > index e58dbc6..94b1362 100644 > --- a/xen/arch/arm/setup.c > +++ b/xen/arch/arm/setup.c > @@ -223,8 +223,10 @@ static paddr_t __init next_module(paddr_t s, paddr_t *n) > continue; > if ( mod_s > lowest ) > continue; > + if ( mod_s > *n ) I needed to look at the call-site to know the meaning of "n". Can you add a comment above the function to specify that n contains the end of the bank/RAM? > + continue; > lowest = mod_s; > - *n = mod_e; > + *n = min(*n, mod_e); > } > return lowest; > } > @@ -450,6 +452,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