On 21 May 2013 11:57, Paolo Bonzini <pbonz...@redhat.com> wrote:
> While sized to 15 bits in PhysPageEntry, the ptr field is ORed into the
> iotlb entries together with a page-aligned pointer.  The ptr field must
> not overflow into this page-aligned value, assert that it is smaller than
> the page size.
>
> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
> ---
>  exec.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/exec.c b/exec.c
> index 1355661..380245f 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -713,6 +713,8 @@ static void destroy_all_mappings(AddressSpaceDispatch *d)
>
>  static uint16_t phys_section_add(MemoryRegionSection *section)
>  {

You might consider having the rationale for the assert in a comment
here as well as in the commit log.

> +    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,


Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>

-- PMM

Reply via email to