|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |