Message ID | 20220412043848.80464-8-anshuman.khandual@arm.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm/mmap: Drop arch_vm_get_page_prot() and arch_filter_pgprot() | expand |
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@linux-foundation.org> > Cc: linux-mm@kvack.org > Cc: linux-kernel@vger.kernel.org > Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> > Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> > --- > 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);
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@linux-foundation.org> >> Cc: linux-mm@kvack.org >> Cc: linux-kernel@vger.kernel.org >> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> >> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> >> --- >> 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.
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; }