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

Re: [Xen-devel] [PATCH v2 4/8] xen/memguard: Drop memguard_init() entirely



>>> On 23.02.16 at 17:31, <andrew.cooper3@xxxxxxxxxx> wrote:
> The use of MAP_SMALL_PAGES causes shattering of the superpages making up the
> Xen virtual region, and is counter to the purpose of this series.
> Furthermore, it is not required for the memguard infrastructure to function
> (which itself uses map_pages_to_xen() for creating holes).
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>

> CC: Tim Deegan <tim@xxxxxxx>
> CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx>

Did you perhaps mean to Cc Stefano instead for the (trivial) ARM
change?

> v2: Reword the commmit message
> ---
>  xen/arch/x86/mm.c        | 16 ----------------
>  xen/arch/x86/setup.c     |  2 --
>  xen/include/asm-arm/mm.h |  1 -
>  xen/include/asm-x86/mm.h |  2 --
>  4 files changed, 21 deletions(-)
> 
> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> index d6aaed8..ed8ab02 100644
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -6346,22 +6346,6 @@ void free_perdomain_mappings(struct domain *d)
>  
>  #ifdef MEMORY_GUARD
>  
> -void memguard_init(void)
> -{
> -    unsigned long start = max_t(unsigned long, xen_phys_start, 1UL << 20);
> -    map_pages_to_xen(
> -        (unsigned long)__va(start),
> -        start >> PAGE_SHIFT,
> -        (__pa(&_end) + PAGE_SIZE - 1 - start) >> PAGE_SHIFT,
> -        __PAGE_HYPERVISOR_RW|MAP_SMALL_PAGES);
> -    BUG_ON(start != xen_phys_start);
> -    map_pages_to_xen(
> -        XEN_VIRT_START,
> -        start >> PAGE_SHIFT,
> -        (__pa(&_end) + PAGE_SIZE - 1 - start) >> PAGE_SHIFT,
> -        __PAGE_HYPERVISOR|MAP_SMALL_PAGES);
> -}
> -
>  static void __memguard_change_range(void *p, unsigned long l, int guard)
>  {
>      unsigned long _p = (unsigned long)p;
> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
> index b8a28d7..cddf954 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -1146,8 +1146,6 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>                     ~((1UL << L2_PAGETABLE_SHIFT) - 1);
>      destroy_xen_mappings(xen_virt_end, XEN_VIRT_START + 
> BOOTSTRAP_MAP_BASE);
>  
> -    memguard_init();
> -
>      nr_pages = 0;
>      for ( i = 0; i < e820.nr_map; i++ )
>          if ( e820.map[i].type == E820_RAM )
> diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
> index 2e9d0b2..68cf203 100644
> --- a/xen/include/asm-arm/mm.h
> +++ b/xen/include/asm-arm/mm.h
> @@ -331,7 +331,6 @@ unsigned long domain_get_maximum_gpfn(struct domain *d);
>  
>  extern struct domain *dom_xen, *dom_io, *dom_cow;
>  
> -#define memguard_init(_s)              (_s)
>  #define memguard_guard_stack(_p)       ((void)0)
>  #define memguard_guard_range(_p,_l)    ((void)0)
>  #define memguard_unguard_range(_p,_l)  ((void)0)
> diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
> index a097382..23a4092 100644
> --- a/xen/include/asm-x86/mm.h
> +++ b/xen/include/asm-x86/mm.h
> @@ -479,11 +479,9 @@ extern struct rangeset *mmio_ro_ranges;
>  #define compat_cr3_to_pfn(cr3) (((unsigned)(cr3) >> 12) | ((unsigned)(cr3) 
> << 
> 20))
>  
>  #ifdef MEMORY_GUARD
> -void memguard_init(void);
>  void memguard_guard_range(void *p, unsigned long l);
>  void memguard_unguard_range(void *p, unsigned long l);
>  #else
> -#define memguard_init()                ((void)0)
>  #define memguard_guard_range(_p,_l)    ((void)0)
>  #define memguard_unguard_range(_p,_l)  ((void)0)
>  #endif
> -- 
> 2.1.4




_______________________________________________
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®.