[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v5 2/8] arch, arm: add consistency check to REMOVE p2m changes



Hi Arianna,

Thank you for the patch.

On 04/07/2014 12:31 AM, Arianna Avanzini wrote:
> ---
>  xen/arch/arm/p2m.c | 27 +++++++++++++++++++++++++--
>  1 file changed, 25 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
> index 403fd89..395a0b2 100644
> --- a/xen/arch/arm/p2m.c
> +++ b/xen/arch/arm/p2m.c
> @@ -319,6 +319,7 @@ static int apply_p2m_changes(struct domain *d,
>              if ( !populate )
>              {
>                  addr = (addr + FIRST_SIZE) & FIRST_MASK;
> +                maddr = (maddr + FIRST_SIZE) & FIRST_MASK;
>                  continue;
>              }
>  
> @@ -345,6 +346,7 @@ static int apply_p2m_changes(struct domain *d,
>              if ( !populate )
>              {
>                  addr = (addr + SECOND_SIZE) & SECOND_MASK;
> +                maddr = (maddr + SECOND_SIZE) & SECOND_MASK;
>                  continue;
>              }
>  
> @@ -406,12 +408,32 @@ static int apply_p2m_changes(struct domain *d,
>                  {
>                      pte = mfn_to_p2m_entry(maddr >> PAGE_SHIFT, mattr, t);
>                      write_pte(&third[third_table_offset(addr)], pte);
> -                    maddr += PAGE_SIZE;
>                  }
>                  break;
> -            case RELINQUISH:
>              case REMOVE:
>                  {
> +                    unsigned long mfn;
> +
> +                    if ( !pte.p2m.valid )
> +                    {
> +                        count++;

count is only used for RELINQUISH mapping, you don't need to update here.

> +                        break;

I think we should fail if we can't remove rather than continuing.

Regards,

-- 
Julien Grall

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.