[PATCH V6 1/7] mm/mmap: Add new config ARCH_HAS_VM_GET_PAGE_PROT

Christophe Leroy christophe.leroy at csgroup.eu
Wed Apr 13 16:07:49 AEST 2022



Le 13/04/2022 à 07:58, Anshuman Khandual a écrit :
> Add a new config ARCH_HAS_VM_GET_PAGE_PROT, which when subscribed enables a
> given platform to define its own vm_get_page_prot() but still utilizing the
> generic protection_map[] array.
> 
> Cc: Andrew Morton <akpm at linux-foundation.org>
> Cc: linux-mm at kvack.org
> Cc: linux-kernel at vger.kernel.org
> Reviewed-by: Catalin Marinas <catalin.marinas at arm.com>
> Suggested-by: Christoph Hellwig <hch at infradead.org>

Reviewed-by: Christophe Leroy <christophe.leroy at csgroup.eu>

> Signed-off-by: Anshuman Khandual <anshuman.khandual at arm.com>
> ---
>   mm/Kconfig | 3 +++
>   mm/mmap.c  | 2 ++
>   2 files changed, 5 insertions(+)
> 
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 034d87953600..b1f7624276f8 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -765,6 +765,9 @@ config ARCH_HAS_CURRENT_STACK_POINTER
>   config ARCH_HAS_FILTER_PGPROT
>   	bool
>   
> +config ARCH_HAS_VM_GET_PAGE_PROT
> +	bool
> +
>   config ARCH_HAS_PTE_DEVMAP
>   	bool
>   
> diff --git a/mm/mmap.c b/mm/mmap.c
> index 3aa839f81e63..87cb2eaf7e1a 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -106,6 +106,7 @@ pgprot_t protection_map[16] __ro_after_init = {
>   	__S000, __S001, __S010, __S011, __S100, __S101, __S110, __S111
>   };
>   
> +#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
>   #ifndef CONFIG_ARCH_HAS_FILTER_PGPROT
>   static inline pgprot_t arch_filter_pgprot(pgprot_t prot)
>   {
> @@ -122,6 +123,7 @@ pgprot_t vm_get_page_prot(unsigned long vm_flags)
>   	return arch_filter_pgprot(ret);
>   }
>   EXPORT_SYMBOL(vm_get_page_prot);
> +#endif	/* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */
>   
>   static pgprot_t vm_pgprot_modify(pgprot_t oldprot, unsigned long vm_flags)
>   {


More information about the Linuxppc-dev mailing list