[PATCH] Arm: drop memguard_{,un}guard_range() stubs

Jan Beulich posted 1 patch 2 years, 4 months ago
Test gitlab-ci passed
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/11f9f2e5-102a-247b-368b-29021f5e7a84@suse.com
[PATCH] Arm: drop memguard_{,un}guard_range() stubs
Posted by Jan Beulich 2 years, 4 months ago
These exist for no reason: The code using them is only ever built for
Arm32. And memguard_guard_stack() has no use outside of x86-specific
code at all.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2152,8 +2152,6 @@ void init_xenheap_pages(paddr_t ps, padd
     if ( !is_xen_heap_mfn(maddr_to_mfn(pe)) )
         pe -= PAGE_SIZE;
 
-    memguard_guard_range(maddr_to_virt(ps), pe - ps);
-
     init_heap_pages(maddr_to_page(ps), (pe - ps) >> PAGE_SHIFT);
 }
 
@@ -2169,8 +2167,6 @@ void *alloc_xenheap_pages(unsigned int o
     if ( unlikely(pg == NULL) )
         return NULL;
 
-    memguard_unguard_range(page_to_virt(pg), 1 << (order + PAGE_SHIFT));
-
     return page_to_virt(pg);
 }
 
@@ -2182,8 +2178,6 @@ void free_xenheap_pages(void *v, unsigne
     if ( v == NULL )
         return;
 
-    memguard_guard_range(v, 1 << (order + PAGE_SHIFT));
-
     free_heap_pages(virt_to_page(v), order, false);
 }
 
--- a/xen/include/asm-arm/mm.h
+++ b/xen/include/asm-arm/mm.h
@@ -341,10 +341,6 @@ long arch_memory_op(int op, XEN_GUEST_HA
 
 unsigned long domain_get_maximum_gpfn(struct domain *d);
 
-#define memguard_guard_stack(_p)       ((void)0)
-#define memguard_guard_range(_p,_l)    ((void)0)
-#define memguard_unguard_range(_p,_l)  ((void)0)
-
 /* Release all __init and __initdata ranges to be reused */
 void free_init_memory(void);
 


Re: [PATCH] Arm: drop memguard_{,un}guard_range() stubs
Posted by Julien Grall 2 years, 4 months ago
Hi Jan,

On 14/12/2021 15:16, Jan Beulich wrote:
> These exist for no reason: The code using them is only ever built for
> Arm32. And memguard_guard_stack() has no use outside of x86-specific
> code at all.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Julien Grall <jgrall@amazon.com>

> 
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -2152,8 +2152,6 @@ void init_xenheap_pages(paddr_t ps, padd
>       if ( !is_xen_heap_mfn(maddr_to_mfn(pe)) )
>           pe -= PAGE_SIZE;
>   
> -    memguard_guard_range(maddr_to_virt(ps), pe - ps);
> -
>       init_heap_pages(maddr_to_page(ps), (pe - ps) >> PAGE_SHIFT);
>   }
>   
> @@ -2169,8 +2167,6 @@ void *alloc_xenheap_pages(unsigned int o
>       if ( unlikely(pg == NULL) )
>           return NULL;
>   
> -    memguard_unguard_range(page_to_virt(pg), 1 << (order + PAGE_SHIFT));
> -
>       return page_to_virt(pg);
>   }
>   
> @@ -2182,8 +2178,6 @@ void free_xenheap_pages(void *v, unsigne
>       if ( v == NULL )
>           return;
>   
> -    memguard_guard_range(v, 1 << (order + PAGE_SHIFT));
> -
>       free_heap_pages(virt_to_page(v), order, false);
>   }
>   
> --- a/xen/include/asm-arm/mm.h
> +++ b/xen/include/asm-arm/mm.h
> @@ -341,10 +341,6 @@ long arch_memory_op(int op, XEN_GUEST_HA
>   
>   unsigned long domain_get_maximum_gpfn(struct domain *d);
>   
> -#define memguard_guard_stack(_p)       ((void)0)
> -#define memguard_guard_range(_p,_l)    ((void)0)
> -#define memguard_unguard_range(_p,_l)  ((void)0)
> -
>   /* Release all __init and __initdata ranges to be reused */
>   void free_init_memory(void);
>   
> 

Cheers,

-- 
Julien Grall