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

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

 




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@xxxxxxxxxxxxxxxxxxxx>
> Cc: linux-mm@xxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
> Suggested-by: Christoph Hellwig <hch@xxxxxxxxxxxxx>

Reviewed-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx>

> Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx>
> ---
>   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)
>   {




[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux