[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 Wed, 24 Feb 2016, Jan Beulich wrote:
> >>> 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?

For the ARM changes:

Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>


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