On 4/12/22 18:00, Christophe Leroy wrote: > > > Le 12/04/2022 à 06:38, Anshuman Khandual a écrit : >> There are no platforms left which use arch_vm_get_page_prot(). Just drop >> generic arch_vm_get_page_prot(). >> >> 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> >> --- >> include/linux/mman.h | 4 ---- >> mm/mmap.c | 3 +-- >> 2 files changed, 1 insertion(+), 6 deletions(-) >> >> diff --git a/include/linux/mman.h b/include/linux/mman.h >> index b66e91b8176c..58b3abd457a3 100644 >> --- a/include/linux/mman.h >> +++ b/include/linux/mman.h >> @@ -93,10 +93,6 @@ static inline void vm_unacct_memory(long pages) >> #define arch_calc_vm_flag_bits(flags) 0 >> #endif >> >> -#ifndef arch_vm_get_page_prot >> -#define arch_vm_get_page_prot(vm_flags) __pgprot(0) >> -#endif >> - >> #ifndef arch_validate_prot >> /* >> * This is called from mprotect(). PROT_GROWSDOWN and PROT_GROWSUP have >> diff --git a/mm/mmap.c b/mm/mmap.c >> index edf2a5e38f4d..db7f33154206 100644 >> --- a/mm/mmap.c >> +++ b/mm/mmap.c >> @@ -110,8 +110,7 @@ pgprot_t protection_map[16] __ro_after_init = { >> 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))); >> + (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED)])); >> >> return ret; >> } > > __pgprot(pgprot_val(x)) is a no-op. > > You can simply do: > > return protection_map[vm_flags & > (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED); Sure, will do.