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

Re: [Xen-devel] [RFC 04/22] xen/arm: p2m: Use typesafe gfn in p2m_mem_access_radix_set



On Thu, 28 Jul 2016, Julien Grall wrote:
> p2m_mem_access_radix_set is expecting a gfn in a parameter. Rename the
> parameter 'pfn' to 'gfn' to match its content and use the typesafe gfn
> to avoid possible misusage.
> 
> Also rename the parameter to gfn to match its content.
> 
> Signed-off-by: Julien Grall <julien.grall@xxxxxxx>

Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>


>  xen/arch/arm/p2m.c | 16 +++++++++-------
>  1 file changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
> index ff82f12..aecdd1e 100644
> --- a/xen/arch/arm/p2m.c
> +++ b/xen/arch/arm/p2m.c
> @@ -542,7 +542,7 @@ static int __p2m_get_mem_access(struct domain *d, gfn_t 
> gfn,
>      return 0;
>  }
>  
> -static int p2m_mem_access_radix_set(struct p2m_domain *p2m, unsigned long 
> pfn,
> +static int p2m_mem_access_radix_set(struct p2m_domain *p2m, gfn_t gfn,
>                                      p2m_access_t a)
>  {
>      int rc;
> @@ -552,18 +552,18 @@ static int p2m_mem_access_radix_set(struct p2m_domain 
> *p2m, unsigned long pfn,
>  
>      if ( p2m_access_rwx == a )
>      {
> -        radix_tree_delete(&p2m->mem_access_settings, pfn);
> +        radix_tree_delete(&p2m->mem_access_settings, gfn_x(gfn));
>          return 0;
>      }
>  
> -    rc = radix_tree_insert(&p2m->mem_access_settings, pfn,
> +    rc = radix_tree_insert(&p2m->mem_access_settings, gfn_x(gfn),
>                             radix_tree_int_to_ptr(a));
>      if ( rc == -EEXIST )
>      {
>          /* If a setting already exists, change it to the new one */
>          radix_tree_replace_slot(
>              radix_tree_lookup_slot(
> -                &p2m->mem_access_settings, pfn),
> +                &p2m->mem_access_settings, gfn_x(gfn)),
>              radix_tree_int_to_ptr(a));
>          rc = 0;
>      }
> @@ -707,7 +707,7 @@ static int apply_one_level(struct domain *d,
>              */
>               (level == 3 || (!p2m_table(orig_pte) && 
> !p2m->mem_access_enabled)) )
>          {
> -            rc = p2m_mem_access_radix_set(p2m, paddr_to_pfn(*addr), a);
> +            rc = p2m_mem_access_radix_set(p2m, _gfn(paddr_to_pfn(*addr)), a);
>              if ( rc < 0 )
>                  return rc;
>  
> @@ -825,7 +825,8 @@ static int apply_one_level(struct domain *d,
>          *flush = true;
>  
>          p2m_remove_pte(entry, p2m->clean_pte);
> -        p2m_mem_access_radix_set(p2m, paddr_to_pfn(*addr), p2m_access_rwx);
> +        p2m_mem_access_radix_set(p2m, _gfn(paddr_to_pfn(*addr)),
> +                                 p2m_access_rwx);
>  
>          *addr += level_size;
>          *maddr += level_size;
> @@ -896,7 +897,8 @@ static int apply_one_level(struct domain *d,
>  
>              if ( p2m_valid(pte) )
>              {
> -                rc = p2m_mem_access_radix_set(p2m, paddr_to_pfn(*addr), a);
> +                rc = p2m_mem_access_radix_set(p2m, _gfn(paddr_to_pfn(*addr)),
> +                                              a);
>                  if ( rc < 0 )
>                      return rc;
>  
> -- 
> 1.9.1
> 

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

 


Rackspace

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