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);