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))); > } > EXPORT_SYMBOL(vm_get_page_prot); > #endif /* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */