----- Messaggio originale -----
> Da: "Peter Maydell" <peter.mayd...@linaro.org>
> A: "Paolo Bonzini" <pbonz...@redhat.com>
> Cc: qemu-devel@nongnu.org, a...@ozlabs.ru, "jan kiszka" 
> <jan.kis...@siemens.com>, qemul...@gmail.com,
> stefa...@redhat.com, da...@gibson.dropbear.id.au
> Inviato: Martedì, 7 maggio 2013 17:44:59
> Oggetto: Re: [Qemu-devel] [PATCH 01/40] memory: assert that PhysPageEntry's 
> ptr does not overflow
> 
> On 7 May 2013 15:16, Paolo Bonzini <pbonz...@redhat.com> wrote:
> > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
> > ---
> >  exec.c |    2 ++
> >  1 files changed, 2 insertions(+), 0 deletions(-)
> >
> > diff --git a/exec.c b/exec.c
> > index 19725db..2e5b89a 100644
> > --- a/exec.c
> > +++ b/exec.c
> > @@ -719,6 +719,8 @@ static void destroy_all_mappings(AddressSpaceDispatch
> > *d)
> >
> >  static uint16_t phys_section_add(MemoryRegionSection *section)
> >  {
> > +    assert(phys_sections_nb < TARGET_PAGE_SIZE);
> > +
> >      if (phys_sections_nb == phys_sections_nb_alloc) {
> >          phys_sections_nb_alloc = MAX(phys_sections_nb_alloc * 2, 16);
> >          phys_sections = g_renew(MemoryRegionSection, phys_sections,
> 
> Why is the limit we're asserting not the same as the maximum
> size that we pass to g_renew() below?

That's a minimum size, isn't it?

I'm asserting that the physical section number doesn't overflow into
the page, since the TLB entries are stored as a combination of the two.

Paolo

Reply via email to