Le 12/04/2022 à 06:38, Anshuman Khandual a écrit :
> There are no platforms left which subscribe ARCH_HAS_FILTER_PGPROT. Hence
> drop generic arch_filter_pgprot() and also config ARCH_HAS_FILTER_PGPROT.
> 
> Cc: Andrew Morton <a...@linux-foundation.org>
> Cc: linux...@kvack.org
> Cc: linux-ker...@vger.kernel.org
> Reviewed-by: Catalin Marinas <catalin.mari...@arm.com>
> Signed-off-by: Anshuman Khandual <anshuman.khand...@arm.com>
> ---
>   mm/Kconfig | 3 ---
>   mm/mmap.c  | 9 +--------
>   2 files changed, 1 insertion(+), 11 deletions(-)
> 
> diff --git a/mm/Kconfig b/mm/Kconfig
> index b1f7624276f8..3f7b6d7b69df 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -762,9 +762,6 @@ config ARCH_HAS_CURRENT_STACK_POINTER
>         register alias named "current_stack_pointer", this config can be
>         selected.
>   
> -config ARCH_HAS_FILTER_PGPROT
> -     bool
> -
>   config ARCH_HAS_VM_GET_PAGE_PROT
>       bool
>   
> diff --git a/mm/mmap.c b/mm/mmap.c
> index 87cb2eaf7e1a..edf2a5e38f4d 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -107,20 +107,13 @@ pgprot_t protection_map[16] __ro_after_init = {
>   };
>   
>   #ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
> -#ifndef CONFIG_ARCH_HAS_FILTER_PGPROT
> -static inline pgprot_t arch_filter_pgprot(pgprot_t prot)
> -{
> -     return prot;
> -}
> -#endif
> -
>   pgprot_t vm_get_page_prot(unsigned long vm_flags)
>   {
>       pgprot_t ret = __pgprot(pgprot_val(protection_map[vm_flags &
>                               (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED)]) |
>                       pgprot_val(arch_vm_get_page_prot(vm_flags)));
>   
> -     return arch_filter_pgprot(ret);
> +     return ret;

You can drop 'ret' and directly do:

        return  __pgprot(pgprot_val(protection_map[vm_flags &
                        (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED)]) |
                        pgprot_val(arch_vm_get_page_prot(vm_flags)));


>   }
>   EXPORT_SYMBOL(vm_get_page_prot);
>   #endif      /* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */

Reply via email to