[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <99d110d7-6c99-c42e-e93a-a6bc7cbde8d8@csgroup.eu>
Date: Tue, 12 Apr 2022 12:30:43 +0000
From: Christophe Leroy <christophe.leroy@...roup.eu>
To: Anshuman Khandual <anshuman.khandual@....com>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>
CC: "catalin.marinas@....com" <catalin.marinas@....com>,
Christoph Hellwig <hch@...radead.org>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"sparclinux@...r.kernel.org" <sparclinux@...r.kernel.org>,
"linux-arch@...r.kernel.org" <linux-arch@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH V5 7/7] mm/mmap: Drop arch_vm_get_page_pgprot()
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@...ux-foundation.org>
> Cc: linux-mm@...ck.org
> Cc: linux-kernel@...r.kernel.org
> Reviewed-by: Catalin Marinas <catalin.marinas@....com>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@....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);
Powered by blists - more mailing lists