On 4/12/22 17:59, Christophe Leroy wrote: > > > 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 <akpm@xxxxxxxxxxxxxxxxxxxx> >> Cc: linux-mm@xxxxxxxxx >> Cc: linux-kernel@xxxxxxxxxxxxxxx >> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> >> Signed-off-by: Anshuman Khandual <anshuman.khandual@xxxxxxx> >> --- >> 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))); Sure, will do. > > >> } >> EXPORT_SYMBOL(vm_get_page_prot); >> #endif /* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */