All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: Anshuman Khandual <anshuman.khandual@arm.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Cc: "hch@infradead.org" <hch@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	"x86@kernel.org" <x86@kernel.org>,
	"openrisc@lists.librecores.org" <openrisc@lists.librecores.org>,
	"linux-xtensa@linux-xtensa.org" <linux-xtensa@linux-xtensa.org>,
	"linux-csky@vger.kernel.org" <linux-csky@vger.kernel.org>,
	"linux-hexagon@vger.kernel.org" <linux-hexagon@vger.kernel.org>,
	"linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>,
	"linux-alpha@vger.kernel.org" <linux-alpha@vger.kernel.org>,
	"linux-riscv@lists.infradead.org"
	<linux-riscv@lists.infradead.org>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
	"linux-m68k@lists.linux-m68k.org"
	<linux-m68k@lists.linux-m68k.org>,
	"linux-snps-arc@lists.infradead.org" 
	<linux-snps-arc@lists.infradead.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-um@lists.infradead.org" <linux-um@lists.infradead.org>,
	"linux-sh@vger.kernel.org" <linux-sh@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH V5 26/26] mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
Date: Mon, 27 Jun 2022 05:50:10 +0000	[thread overview]
Message-ID: <a88b8109-9b9a-fb97-c2df-25980c2e4d7a@csgroup.eu> (raw)
In-Reply-To: <20220627045833.1590055-27-anshuman.khandual@arm.com>



Le 27/06/2022 à 06:58, Anshuman Khandual a écrit :
> Now all the platforms enable ARCH_HAS_GET_PAGE_PROT. They define and export
> own vm_get_page_prot() whether custom or standard DECLARE_VM_GET_PAGE_PROT.
> Hence there is no need for default generic fallback for vm_get_page_prot().
> Just drop this fallback and also ARCH_HAS_GET_PAGE_PROT mechanism.
> 
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: linux-mm@kvack.org
> Cc: linux-kernel@vger.kernel.org
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>

Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>

> ---
>   arch/alpha/Kconfig      |  1 -
>   arch/arc/Kconfig        |  1 -
>   arch/arm/Kconfig        |  1 -
>   arch/arm64/Kconfig      |  1 -
>   arch/csky/Kconfig       |  1 -
>   arch/hexagon/Kconfig    |  1 -
>   arch/ia64/Kconfig       |  1 -
>   arch/loongarch/Kconfig  |  1 -
>   arch/m68k/Kconfig       |  1 -
>   arch/microblaze/Kconfig |  1 -
>   arch/mips/Kconfig       |  1 -
>   arch/nios2/Kconfig      |  1 -
>   arch/openrisc/Kconfig   |  1 -
>   arch/parisc/Kconfig     |  1 -
>   arch/powerpc/Kconfig    |  1 -
>   arch/riscv/Kconfig      |  1 -
>   arch/s390/Kconfig       |  1 -
>   arch/sh/Kconfig         |  1 -
>   arch/sparc/Kconfig      |  1 -
>   arch/um/Kconfig         |  1 -
>   arch/x86/Kconfig        |  1 -
>   arch/xtensa/Kconfig     |  1 -
>   include/linux/mm.h      |  3 ---
>   mm/Kconfig              |  3 ---
>   mm/mmap.c               | 22 ----------------------
>   25 files changed, 50 deletions(-)
> 
> diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
> index db1c8b329461..7d0d26b5b3f5 100644
> --- a/arch/alpha/Kconfig
> +++ b/arch/alpha/Kconfig
> @@ -2,7 +2,6 @@
>   config ALPHA
>   	bool
>   	default y
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_32BIT_USTAT_F_TINODE
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_MIGHT_HAVE_PC_SERIO
> diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
> index 8be56a5d8a9b..9e3653253ef2 100644
> --- a/arch/arc/Kconfig
> +++ b/arch/arc/Kconfig
> @@ -13,7 +13,6 @@ config ARC
>   	select ARCH_HAS_SETUP_DMA_OPS
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_SUPPORTS_ATOMIC_RMW if ARC_HAS_LLSC
>   	select ARCH_32BIT_OFF_T
>   	select BUILDTIME_TABLE_SORT
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index e153b6d4fc5b..7630ba9cb6cc 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -24,7 +24,6 @@ config ARM
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB || !MMU
>   	select ARCH_HAS_TEARDOWN_DMA_OPS if MMU
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_CUSTOM_GPIO_H
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG if CPU_V7 || CPU_V7M || CPU_V6K
>   	select ARCH_HAS_GCOV_PROFILE_ALL
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 1652a9800ebe..7030bf3f8d6f 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -45,7 +45,6 @@ config ARM64
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_TEARDOWN_DMA_OPS if IOMMU_SUPPORT
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_ZONE_DMA_SET if EXPERT
>   	select ARCH_HAVE_ELF_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
> diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig
> index 588b8a9c68ed..21d72b078eef 100644
> --- a/arch/csky/Kconfig
> +++ b/arch/csky/Kconfig
> @@ -6,7 +6,6 @@ config CSKY
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_USE_BUILTIN_BSWAP
>   	select ARCH_USE_QUEUED_RWLOCKS
>   	select ARCH_WANT_FRAME_POINTERS if !CPU_CK610 && $(cc-option,-mbacktrace)
> diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig
> index bc4ceecd0588..54eadf265178 100644
> --- a/arch/hexagon/Kconfig
> +++ b/arch/hexagon/Kconfig
> @@ -6,7 +6,6 @@ config HEXAGON
>   	def_bool y
>   	select ARCH_32BIT_OFF_T
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_PREEMPT
>   	select DMA_GLOBAL_POOL
>   	# Other pending projects/to-do items.
> diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
> index 0510a5737711..cb93769a9f2a 100644
> --- a/arch/ia64/Kconfig
> +++ b/arch/ia64/Kconfig
> @@ -12,7 +12,6 @@ config IA64
>   	select ARCH_HAS_DMA_MARK_CLEAN
>   	select ARCH_HAS_STRNCPY_FROM_USER
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_MIGHT_HAVE_PC_SERIO
>   	select ACPI
> diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
> index fd07b8e760ee..1920d52653b4 100644
> --- a/arch/loongarch/Kconfig
> +++ b/arch/loongarch/Kconfig
> @@ -9,7 +9,6 @@ config LOONGARCH
>   	select ARCH_HAS_ACPI_TABLE_UPGRADE	if ACPI
>   	select ARCH_HAS_PHYS_TO_DMA
>   	select ARCH_HAS_PTE_SPECIAL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_INLINE_READ_LOCK if !PREEMPTION
>   	select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION
> diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
> index 49aa0cf13e96..936cce42ae9a 100644
> --- a/arch/m68k/Kconfig
> +++ b/arch/m68k/Kconfig
> @@ -7,7 +7,6 @@ config M68K
>   	select ARCH_HAS_CURRENT_STACK_POINTER
>   	select ARCH_HAS_DMA_PREP_COHERENT if HAS_DMA && MMU && !COLDFIRE
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS
>   	select ARCH_MIGHT_HAVE_PC_PARPORT if ISA
>   	select ARCH_NO_PREEMPT if !COLDFIRE
> diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
> index 15f91ba8a0c4..8cf429ad1c84 100644
> --- a/arch/microblaze/Kconfig
> +++ b/arch/microblaze/Kconfig
> @@ -7,7 +7,6 @@ config MICROBLAZE
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_WANT_IPC_PARSE_VERSION
>   	select BUILDTIME_TABLE_SORT
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index d0b7eb11ec81..db09d45d59ec 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -14,7 +14,6 @@ config MIPS
>   	select ARCH_HAS_STRNLEN_USER
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_KEEP_MEMBLOCK
>   	select ARCH_SUPPORTS_UPROBES
> diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig
> index e0459dffd218..4167f1eb4cd8 100644
> --- a/arch/nios2/Kconfig
> +++ b/arch/nios2/Kconfig
> @@ -6,7 +6,6 @@ config NIOS2
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
>   	select ARCH_HAS_DMA_SET_UNCACHED
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_SWAP
>   	select COMMON_CLK
>   	select TIMER_OF
> diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
> index fe0dfb50eb86..e814df4c483c 100644
> --- a/arch/openrisc/Kconfig
> +++ b/arch/openrisc/Kconfig
> @@ -10,7 +10,6 @@ config OPENRISC
>   	select ARCH_HAS_DMA_SET_UNCACHED
>   	select ARCH_HAS_DMA_CLEAR_UNCACHED
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select COMMON_CLK
>   	select OF
>   	select OF_EARLY_FLATTREE
> diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
> index 90eabc846f81..5f2448dc5a2b 100644
> --- a/arch/parisc/Kconfig
> +++ b/arch/parisc/Kconfig
> @@ -11,7 +11,6 @@ config PARISC
>   	select ARCH_HAS_ELF_RANDOMIZE
>   	select ARCH_HAS_STRICT_KERNEL_RWX
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_NO_SG_CHAIN
>   	select ARCH_SUPPORTS_HUGETLBFS if PA20
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 1035d172c7dd..250b8658b2d4 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -140,7 +140,6 @@ config PPC
>   	select ARCH_HAS_TICK_BROADCAST		if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UACCESS_FLUSHCACHE
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
>   	select ARCH_KEEP_MEMBLOCK
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 583389d4e43a..32ffef9f6e5b 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -32,7 +32,6 @@ config RISCV
>   	select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
>   	select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
>   	select ARCH_STACKWALK
> diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
> index c4481377ca83..91c0b80a8bf0 100644
> --- a/arch/s390/Kconfig
> +++ b/arch/s390/Kconfig
> @@ -81,7 +81,6 @@ config S390
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
>   	select ARCH_HAS_VDSO_DATA
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
>   	select ARCH_INLINE_READ_LOCK
>   	select ARCH_INLINE_READ_LOCK_BH
> diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
> index 91f3ea325388..5f220e903e5a 100644
> --- a/arch/sh/Kconfig
> +++ b/arch/sh/Kconfig
> @@ -12,7 +12,6 @@ config SUPERH
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HIBERNATION_POSSIBLE if MMU
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_WANT_IPC_PARSE_VERSION
> diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
> index 09f868613a4d..9c1cce74953a 100644
> --- a/arch/sparc/Kconfig
> +++ b/arch/sparc/Kconfig
> @@ -13,7 +13,6 @@ config 64BIT
>   config SPARC
>   	bool
>   	default y
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI
>   	select ARCH_MIGHT_HAVE_PC_SERIO
>   	select DMA_OPS
> diff --git a/arch/um/Kconfig b/arch/um/Kconfig
> index 7fb43654e5b5..4ec22e156a2e 100644
> --- a/arch/um/Kconfig
> +++ b/arch/um/Kconfig
> @@ -10,7 +10,6 @@ config UML
>   	select ARCH_HAS_KCOV
>   	select ARCH_HAS_STRNCPY_FROM_USER
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_PREEMPT
>   	select HAVE_ARCH_AUDITSYSCALL
>   	select HAVE_ARCH_SECCOMP_FILTER
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index be0b95e51df6..841e4843d0c4 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -94,7 +94,6 @@ config X86
>   	select ARCH_HAS_SYNC_CORE_BEFORE_USERMODE
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_DEBUG_WX
>   	select ARCH_HAS_ZONE_DMA_SET if EXPERT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
> diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
> index 4c0d83520ff1..0b0f0172cced 100644
> --- a/arch/xtensa/Kconfig
> +++ b/arch/xtensa/Kconfig
> @@ -11,7 +11,6 @@ config XTENSA
>   	select ARCH_HAS_DMA_SET_UNCACHED if MMU
>   	select ARCH_HAS_STRNCPY_FROM_USER if !KASAN
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_USE_MEMTEST
>   	select ARCH_USE_QUEUED_RWLOCKS
>   	select ARCH_USE_QUEUED_SPINLOCKS
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index 65b7f3d9ff87..fe28f19e3388 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -424,9 +424,6 @@ extern unsigned int kobjsize(const void *objp);
>    * mapping from the currently active vm_flags protection bits (the
>    * low four bits) to a page protection mask..
>    */
> -#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
> -extern pgprot_t protection_map[16];
> -#endif
>   
>   /*
>    * The default fault flags that should be used by most of the
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 169e64192e48..f47d257a053b 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -951,9 +951,6 @@ config ARCH_HAS_CURRENT_STACK_POINTER
>   	  register alias named "current_stack_pointer", this config can be
>   	  selected.
>   
> -config ARCH_HAS_VM_GET_PAGE_PROT
> -	bool
> -
>   config ARCH_HAS_PTE_DEVMAP
>   	bool
>   
> diff --git a/mm/mmap.c b/mm/mmap.c
> index 2cc722e162fa..02d6889f0ef6 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -81,28 +81,6 @@ static void unmap_region(struct mm_struct *mm,
>   		struct vm_area_struct *vma, struct vm_area_struct *prev,
>   		unsigned long start, unsigned long end);
>   
> -#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
> -pgprot_t protection_map[16] __ro_after_init = {
> -	[VM_NONE]					= __P000,
> -	[VM_READ]					= __P001,
> -	[VM_WRITE]					= __P010,
> -	[VM_WRITE | VM_READ]				= __P011,
> -	[VM_EXEC]					= __P100,
> -	[VM_EXEC | VM_READ]				= __P101,
> -	[VM_EXEC | VM_WRITE]				= __P110,
> -	[VM_EXEC | VM_WRITE | VM_READ]			= __P111,
> -	[VM_SHARED]					= __S000,
> -	[VM_SHARED | VM_READ]				= __S001,
> -	[VM_SHARED | VM_WRITE]				= __S010,
> -	[VM_SHARED | VM_WRITE | VM_READ]		= __S011,
> -	[VM_SHARED | VM_EXEC]				= __S100,
> -	[VM_SHARED | VM_EXEC | VM_READ]			= __S101,
> -	[VM_SHARED | VM_EXEC | VM_WRITE]		= __S110,
> -	[VM_SHARED | VM_EXEC | VM_WRITE | VM_READ]	= __S111
> -};
> -DECLARE_VM_GET_PAGE_PROT
> -#endif	/* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */
> -
>   static pgprot_t vm_pgprot_modify(pgprot_t oldprot, unsigned long vm_flags)
>   {
>   	return pgprot_modify(oldprot, vm_get_page_prot(vm_flags));

WARNING: multiple messages have this Message-ID (diff)
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: Anshuman Khandual <anshuman.khandual@arm.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Cc: "linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	"linux-sh@vger.kernel.org" <linux-sh@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	"linux-riscv@lists.infradead.org"
	<linux-riscv@lists.infradead.org>, Christoph Hellwig <hch@lst.de>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"linux-hexagon@vger.kernel.org" <linux-hexagon@vger.kernel.org>,
	"x86@kernel.org" <x86@kernel.org>,
	"linux-csky@vger.kernel.org" <linux-csky@vger.kernel.org>,
	"hch@infradead.org" <hch@infradead.org>,
	"linux-snps-arc@lists.infradead.org"
	<linux-snps-arc@lists.infradead.org>,
	"linux-xtensa@linux-xtensa.org" <linux-xtensa@linux-xtensa.org>,
	"linux-um@lists.infradead.org" <linux-um@lists.infradead.org>,
	"linux-m68k@lists.linux-m68k.org"
	<linux-m68k@lists.linux-m68k.org>,
	"openrisc@lists.librecores.org" <openrisc@lists.librecores.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>,
	"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
	"linux-alpha@vger.kernel.org" <linux-alpha@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Subject: Re: [PATCH V5 26/26] mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
Date: Mon, 27 Jun 2022 05:50:10 +0000	[thread overview]
Message-ID: <a88b8109-9b9a-fb97-c2df-25980c2e4d7a@csgroup.eu> (raw)
In-Reply-To: <20220627045833.1590055-27-anshuman.khandual@arm.com>



Le 27/06/2022 à 06:58, Anshuman Khandual a écrit :
> Now all the platforms enable ARCH_HAS_GET_PAGE_PROT. They define and export
> own vm_get_page_prot() whether custom or standard DECLARE_VM_GET_PAGE_PROT.
> Hence there is no need for default generic fallback for vm_get_page_prot().
> Just drop this fallback and also ARCH_HAS_GET_PAGE_PROT mechanism.
> 
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: linux-mm@kvack.org
> Cc: linux-kernel@vger.kernel.org
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>

Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>

> ---
>   arch/alpha/Kconfig      |  1 -
>   arch/arc/Kconfig        |  1 -
>   arch/arm/Kconfig        |  1 -
>   arch/arm64/Kconfig      |  1 -
>   arch/csky/Kconfig       |  1 -
>   arch/hexagon/Kconfig    |  1 -
>   arch/ia64/Kconfig       |  1 -
>   arch/loongarch/Kconfig  |  1 -
>   arch/m68k/Kconfig       |  1 -
>   arch/microblaze/Kconfig |  1 -
>   arch/mips/Kconfig       |  1 -
>   arch/nios2/Kconfig      |  1 -
>   arch/openrisc/Kconfig   |  1 -
>   arch/parisc/Kconfig     |  1 -
>   arch/powerpc/Kconfig    |  1 -
>   arch/riscv/Kconfig      |  1 -
>   arch/s390/Kconfig       |  1 -
>   arch/sh/Kconfig         |  1 -
>   arch/sparc/Kconfig      |  1 -
>   arch/um/Kconfig         |  1 -
>   arch/x86/Kconfig        |  1 -
>   arch/xtensa/Kconfig     |  1 -
>   include/linux/mm.h      |  3 ---
>   mm/Kconfig              |  3 ---
>   mm/mmap.c               | 22 ----------------------
>   25 files changed, 50 deletions(-)
> 
> diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
> index db1c8b329461..7d0d26b5b3f5 100644
> --- a/arch/alpha/Kconfig
> +++ b/arch/alpha/Kconfig
> @@ -2,7 +2,6 @@
>   config ALPHA
>   	bool
>   	default y
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_32BIT_USTAT_F_TINODE
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_MIGHT_HAVE_PC_SERIO
> diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
> index 8be56a5d8a9b..9e3653253ef2 100644
> --- a/arch/arc/Kconfig
> +++ b/arch/arc/Kconfig
> @@ -13,7 +13,6 @@ config ARC
>   	select ARCH_HAS_SETUP_DMA_OPS
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_SUPPORTS_ATOMIC_RMW if ARC_HAS_LLSC
>   	select ARCH_32BIT_OFF_T
>   	select BUILDTIME_TABLE_SORT
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index e153b6d4fc5b..7630ba9cb6cc 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -24,7 +24,6 @@ config ARM
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB || !MMU
>   	select ARCH_HAS_TEARDOWN_DMA_OPS if MMU
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_CUSTOM_GPIO_H
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG if CPU_V7 || CPU_V7M || CPU_V6K
>   	select ARCH_HAS_GCOV_PROFILE_ALL
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 1652a9800ebe..7030bf3f8d6f 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -45,7 +45,6 @@ config ARM64
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_TEARDOWN_DMA_OPS if IOMMU_SUPPORT
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_ZONE_DMA_SET if EXPERT
>   	select ARCH_HAVE_ELF_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
> diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig
> index 588b8a9c68ed..21d72b078eef 100644
> --- a/arch/csky/Kconfig
> +++ b/arch/csky/Kconfig
> @@ -6,7 +6,6 @@ config CSKY
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_USE_BUILTIN_BSWAP
>   	select ARCH_USE_QUEUED_RWLOCKS
>   	select ARCH_WANT_FRAME_POINTERS if !CPU_CK610 && $(cc-option,-mbacktrace)
> diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig
> index bc4ceecd0588..54eadf265178 100644
> --- a/arch/hexagon/Kconfig
> +++ b/arch/hexagon/Kconfig
> @@ -6,7 +6,6 @@ config HEXAGON
>   	def_bool y
>   	select ARCH_32BIT_OFF_T
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_PREEMPT
>   	select DMA_GLOBAL_POOL
>   	# Other pending projects/to-do items.
> diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
> index 0510a5737711..cb93769a9f2a 100644
> --- a/arch/ia64/Kconfig
> +++ b/arch/ia64/Kconfig
> @@ -12,7 +12,6 @@ config IA64
>   	select ARCH_HAS_DMA_MARK_CLEAN
>   	select ARCH_HAS_STRNCPY_FROM_USER
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_MIGHT_HAVE_PC_SERIO
>   	select ACPI
> diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
> index fd07b8e760ee..1920d52653b4 100644
> --- a/arch/loongarch/Kconfig
> +++ b/arch/loongarch/Kconfig
> @@ -9,7 +9,6 @@ config LOONGARCH
>   	select ARCH_HAS_ACPI_TABLE_UPGRADE	if ACPI
>   	select ARCH_HAS_PHYS_TO_DMA
>   	select ARCH_HAS_PTE_SPECIAL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_INLINE_READ_LOCK if !PREEMPTION
>   	select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION
> diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
> index 49aa0cf13e96..936cce42ae9a 100644
> --- a/arch/m68k/Kconfig
> +++ b/arch/m68k/Kconfig
> @@ -7,7 +7,6 @@ config M68K
>   	select ARCH_HAS_CURRENT_STACK_POINTER
>   	select ARCH_HAS_DMA_PREP_COHERENT if HAS_DMA && MMU && !COLDFIRE
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS
>   	select ARCH_MIGHT_HAVE_PC_PARPORT if ISA
>   	select ARCH_NO_PREEMPT if !COLDFIRE
> diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
> index 15f91ba8a0c4..8cf429ad1c84 100644
> --- a/arch/microblaze/Kconfig
> +++ b/arch/microblaze/Kconfig
> @@ -7,7 +7,6 @@ config MICROBLAZE
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_WANT_IPC_PARSE_VERSION
>   	select BUILDTIME_TABLE_SORT
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index d0b7eb11ec81..db09d45d59ec 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -14,7 +14,6 @@ config MIPS
>   	select ARCH_HAS_STRNLEN_USER
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_KEEP_MEMBLOCK
>   	select ARCH_SUPPORTS_UPROBES
> diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig
> index e0459dffd218..4167f1eb4cd8 100644
> --- a/arch/nios2/Kconfig
> +++ b/arch/nios2/Kconfig
> @@ -6,7 +6,6 @@ config NIOS2
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
>   	select ARCH_HAS_DMA_SET_UNCACHED
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_SWAP
>   	select COMMON_CLK
>   	select TIMER_OF
> diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
> index fe0dfb50eb86..e814df4c483c 100644
> --- a/arch/openrisc/Kconfig
> +++ b/arch/openrisc/Kconfig
> @@ -10,7 +10,6 @@ config OPENRISC
>   	select ARCH_HAS_DMA_SET_UNCACHED
>   	select ARCH_HAS_DMA_CLEAR_UNCACHED
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select COMMON_CLK
>   	select OF
>   	select OF_EARLY_FLATTREE
> diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
> index 90eabc846f81..5f2448dc5a2b 100644
> --- a/arch/parisc/Kconfig
> +++ b/arch/parisc/Kconfig
> @@ -11,7 +11,6 @@ config PARISC
>   	select ARCH_HAS_ELF_RANDOMIZE
>   	select ARCH_HAS_STRICT_KERNEL_RWX
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_NO_SG_CHAIN
>   	select ARCH_SUPPORTS_HUGETLBFS if PA20
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 1035d172c7dd..250b8658b2d4 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -140,7 +140,6 @@ config PPC
>   	select ARCH_HAS_TICK_BROADCAST		if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UACCESS_FLUSHCACHE
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
>   	select ARCH_KEEP_MEMBLOCK
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 583389d4e43a..32ffef9f6e5b 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -32,7 +32,6 @@ config RISCV
>   	select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
>   	select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
>   	select ARCH_STACKWALK
> diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
> index c4481377ca83..91c0b80a8bf0 100644
> --- a/arch/s390/Kconfig
> +++ b/arch/s390/Kconfig
> @@ -81,7 +81,6 @@ config S390
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
>   	select ARCH_HAS_VDSO_DATA
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
>   	select ARCH_INLINE_READ_LOCK
>   	select ARCH_INLINE_READ_LOCK_BH
> diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
> index 91f3ea325388..5f220e903e5a 100644
> --- a/arch/sh/Kconfig
> +++ b/arch/sh/Kconfig
> @@ -12,7 +12,6 @@ config SUPERH
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HIBERNATION_POSSIBLE if MMU
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_WANT_IPC_PARSE_VERSION
> diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
> index 09f868613a4d..9c1cce74953a 100644
> --- a/arch/sparc/Kconfig
> +++ b/arch/sparc/Kconfig
> @@ -13,7 +13,6 @@ config 64BIT
>   config SPARC
>   	bool
>   	default y
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI
>   	select ARCH_MIGHT_HAVE_PC_SERIO
>   	select DMA_OPS
> diff --git a/arch/um/Kconfig b/arch/um/Kconfig
> index 7fb43654e5b5..4ec22e156a2e 100644
> --- a/arch/um/Kconfig
> +++ b/arch/um/Kconfig
> @@ -10,7 +10,6 @@ config UML
>   	select ARCH_HAS_KCOV
>   	select ARCH_HAS_STRNCPY_FROM_USER
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_PREEMPT
>   	select HAVE_ARCH_AUDITSYSCALL
>   	select HAVE_ARCH_SECCOMP_FILTER
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index be0b95e51df6..841e4843d0c4 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -94,7 +94,6 @@ config X86
>   	select ARCH_HAS_SYNC_CORE_BEFORE_USERMODE
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_DEBUG_WX
>   	select ARCH_HAS_ZONE_DMA_SET if EXPERT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
> diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
> index 4c0d83520ff1..0b0f0172cced 100644
> --- a/arch/xtensa/Kconfig
> +++ b/arch/xtensa/Kconfig
> @@ -11,7 +11,6 @@ config XTENSA
>   	select ARCH_HAS_DMA_SET_UNCACHED if MMU
>   	select ARCH_HAS_STRNCPY_FROM_USER if !KASAN
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_USE_MEMTEST
>   	select ARCH_USE_QUEUED_RWLOCKS
>   	select ARCH_USE_QUEUED_SPINLOCKS
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index 65b7f3d9ff87..fe28f19e3388 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -424,9 +424,6 @@ extern unsigned int kobjsize(const void *objp);
>    * mapping from the currently active vm_flags protection bits (the
>    * low four bits) to a page protection mask..
>    */
> -#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
> -extern pgprot_t protection_map[16];
> -#endif
>   
>   /*
>    * The default fault flags that should be used by most of the
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 169e64192e48..f47d257a053b 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -951,9 +951,6 @@ config ARCH_HAS_CURRENT_STACK_POINTER
>   	  register alias named "current_stack_pointer", this config can be
>   	  selected.
>   
> -config ARCH_HAS_VM_GET_PAGE_PROT
> -	bool
> -
>   config ARCH_HAS_PTE_DEVMAP
>   	bool
>   
> diff --git a/mm/mmap.c b/mm/mmap.c
> index 2cc722e162fa..02d6889f0ef6 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -81,28 +81,6 @@ static void unmap_region(struct mm_struct *mm,
>   		struct vm_area_struct *vma, struct vm_area_struct *prev,
>   		unsigned long start, unsigned long end);
>   
> -#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
> -pgprot_t protection_map[16] __ro_after_init = {
> -	[VM_NONE]					= __P000,
> -	[VM_READ]					= __P001,
> -	[VM_WRITE]					= __P010,
> -	[VM_WRITE | VM_READ]				= __P011,
> -	[VM_EXEC]					= __P100,
> -	[VM_EXEC | VM_READ]				= __P101,
> -	[VM_EXEC | VM_WRITE]				= __P110,
> -	[VM_EXEC | VM_WRITE | VM_READ]			= __P111,
> -	[VM_SHARED]					= __S000,
> -	[VM_SHARED | VM_READ]				= __S001,
> -	[VM_SHARED | VM_WRITE]				= __S010,
> -	[VM_SHARED | VM_WRITE | VM_READ]		= __S011,
> -	[VM_SHARED | VM_EXEC]				= __S100,
> -	[VM_SHARED | VM_EXEC | VM_READ]			= __S101,
> -	[VM_SHARED | VM_EXEC | VM_WRITE]		= __S110,
> -	[VM_SHARED | VM_EXEC | VM_WRITE | VM_READ]	= __S111
> -};
> -DECLARE_VM_GET_PAGE_PROT
> -#endif	/* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */
> -
>   static pgprot_t vm_pgprot_modify(pgprot_t oldprot, unsigned long vm_flags)
>   {
>   	return pgprot_modify(oldprot, vm_get_page_prot(vm_flags));

WARNING: multiple messages have this Message-ID (diff)
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: Anshuman Khandual <anshuman.khandual@arm.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Cc: "hch@infradead.org" <hch@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	"x86@kernel.org" <x86@kernel.org>,
	"openrisc@lists.librecores.org" <openrisc@lists.librecores.org>,
	"linux-xtensa@linux-xtensa.org" <linux-xtensa@linux-xtensa.org>,
	"linux-csky@vger.kernel.org" <linux-csky@vger.kernel.org>,
	"linux-hexagon@vger.kernel.org" <linux-hexagon@vger.kernel.org>,
	"linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>,
	"linux-alpha@vger.kernel.org" <linux-alpha@vger.kernel.org>,
	"linux-riscv@lists.infradead.org"
	<linux-riscv@lists.infradead.org>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
	"linux-m68k@lists.linux-m68k.org"
	<linux-m68k@lists.linux-m68k.org>,
	"linux-snps-arc@lists.infradead.org"
	<linux-snps-arc@lists.infradead.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-um@lists.infradead.org" <linux-um@lists.infradead.org>,
	"linux-sh@vger.kernel.org" <linux-sh@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH V5 26/26] mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
Date: Mon, 27 Jun 2022 05:50:10 +0000	[thread overview]
Message-ID: <a88b8109-9b9a-fb97-c2df-25980c2e4d7a@csgroup.eu> (raw)
In-Reply-To: <20220627045833.1590055-27-anshuman.khandual@arm.com>



Le 27/06/2022 à 06:58, Anshuman Khandual a écrit :
> Now all the platforms enable ARCH_HAS_GET_PAGE_PROT. They define and export
> own vm_get_page_prot() whether custom or standard DECLARE_VM_GET_PAGE_PROT.
> Hence there is no need for default generic fallback for vm_get_page_prot().
> Just drop this fallback and also ARCH_HAS_GET_PAGE_PROT mechanism.
> 
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: linux-mm@kvack.org
> Cc: linux-kernel@vger.kernel.org
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>

Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>

> ---
>   arch/alpha/Kconfig      |  1 -
>   arch/arc/Kconfig        |  1 -
>   arch/arm/Kconfig        |  1 -
>   arch/arm64/Kconfig      |  1 -
>   arch/csky/Kconfig       |  1 -
>   arch/hexagon/Kconfig    |  1 -
>   arch/ia64/Kconfig       |  1 -
>   arch/loongarch/Kconfig  |  1 -
>   arch/m68k/Kconfig       |  1 -
>   arch/microblaze/Kconfig |  1 -
>   arch/mips/Kconfig       |  1 -
>   arch/nios2/Kconfig      |  1 -
>   arch/openrisc/Kconfig   |  1 -
>   arch/parisc/Kconfig     |  1 -
>   arch/powerpc/Kconfig    |  1 -
>   arch/riscv/Kconfig      |  1 -
>   arch/s390/Kconfig       |  1 -
>   arch/sh/Kconfig         |  1 -
>   arch/sparc/Kconfig      |  1 -
>   arch/um/Kconfig         |  1 -
>   arch/x86/Kconfig        |  1 -
>   arch/xtensa/Kconfig     |  1 -
>   include/linux/mm.h      |  3 ---
>   mm/Kconfig              |  3 ---
>   mm/mmap.c               | 22 ----------------------
>   25 files changed, 50 deletions(-)
> 
> diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
> index db1c8b329461..7d0d26b5b3f5 100644
> --- a/arch/alpha/Kconfig
> +++ b/arch/alpha/Kconfig
> @@ -2,7 +2,6 @@
>   config ALPHA
>   	bool
>   	default y
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_32BIT_USTAT_F_TINODE
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_MIGHT_HAVE_PC_SERIO
> diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
> index 8be56a5d8a9b..9e3653253ef2 100644
> --- a/arch/arc/Kconfig
> +++ b/arch/arc/Kconfig
> @@ -13,7 +13,6 @@ config ARC
>   	select ARCH_HAS_SETUP_DMA_OPS
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_SUPPORTS_ATOMIC_RMW if ARC_HAS_LLSC
>   	select ARCH_32BIT_OFF_T
>   	select BUILDTIME_TABLE_SORT
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index e153b6d4fc5b..7630ba9cb6cc 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -24,7 +24,6 @@ config ARM
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB || !MMU
>   	select ARCH_HAS_TEARDOWN_DMA_OPS if MMU
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_CUSTOM_GPIO_H
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG if CPU_V7 || CPU_V7M || CPU_V6K
>   	select ARCH_HAS_GCOV_PROFILE_ALL
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 1652a9800ebe..7030bf3f8d6f 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -45,7 +45,6 @@ config ARM64
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_TEARDOWN_DMA_OPS if IOMMU_SUPPORT
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_ZONE_DMA_SET if EXPERT
>   	select ARCH_HAVE_ELF_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
> diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig
> index 588b8a9c68ed..21d72b078eef 100644
> --- a/arch/csky/Kconfig
> +++ b/arch/csky/Kconfig
> @@ -6,7 +6,6 @@ config CSKY
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_USE_BUILTIN_BSWAP
>   	select ARCH_USE_QUEUED_RWLOCKS
>   	select ARCH_WANT_FRAME_POINTERS if !CPU_CK610 && $(cc-option,-mbacktrace)
> diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig
> index bc4ceecd0588..54eadf265178 100644
> --- a/arch/hexagon/Kconfig
> +++ b/arch/hexagon/Kconfig
> @@ -6,7 +6,6 @@ config HEXAGON
>   	def_bool y
>   	select ARCH_32BIT_OFF_T
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_PREEMPT
>   	select DMA_GLOBAL_POOL
>   	# Other pending projects/to-do items.
> diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
> index 0510a5737711..cb93769a9f2a 100644
> --- a/arch/ia64/Kconfig
> +++ b/arch/ia64/Kconfig
> @@ -12,7 +12,6 @@ config IA64
>   	select ARCH_HAS_DMA_MARK_CLEAN
>   	select ARCH_HAS_STRNCPY_FROM_USER
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_MIGHT_HAVE_PC_SERIO
>   	select ACPI
> diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
> index fd07b8e760ee..1920d52653b4 100644
> --- a/arch/loongarch/Kconfig
> +++ b/arch/loongarch/Kconfig
> @@ -9,7 +9,6 @@ config LOONGARCH
>   	select ARCH_HAS_ACPI_TABLE_UPGRADE	if ACPI
>   	select ARCH_HAS_PHYS_TO_DMA
>   	select ARCH_HAS_PTE_SPECIAL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_INLINE_READ_LOCK if !PREEMPTION
>   	select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION
> diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
> index 49aa0cf13e96..936cce42ae9a 100644
> --- a/arch/m68k/Kconfig
> +++ b/arch/m68k/Kconfig
> @@ -7,7 +7,6 @@ config M68K
>   	select ARCH_HAS_CURRENT_STACK_POINTER
>   	select ARCH_HAS_DMA_PREP_COHERENT if HAS_DMA && MMU && !COLDFIRE
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS
>   	select ARCH_MIGHT_HAVE_PC_PARPORT if ISA
>   	select ARCH_NO_PREEMPT if !COLDFIRE
> diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
> index 15f91ba8a0c4..8cf429ad1c84 100644
> --- a/arch/microblaze/Kconfig
> +++ b/arch/microblaze/Kconfig
> @@ -7,7 +7,6 @@ config MICROBLAZE
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_WANT_IPC_PARSE_VERSION
>   	select BUILDTIME_TABLE_SORT
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index d0b7eb11ec81..db09d45d59ec 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -14,7 +14,6 @@ config MIPS
>   	select ARCH_HAS_STRNLEN_USER
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_KEEP_MEMBLOCK
>   	select ARCH_SUPPORTS_UPROBES
> diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig
> index e0459dffd218..4167f1eb4cd8 100644
> --- a/arch/nios2/Kconfig
> +++ b/arch/nios2/Kconfig
> @@ -6,7 +6,6 @@ config NIOS2
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
>   	select ARCH_HAS_DMA_SET_UNCACHED
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_SWAP
>   	select COMMON_CLK
>   	select TIMER_OF
> diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
> index fe0dfb50eb86..e814df4c483c 100644
> --- a/arch/openrisc/Kconfig
> +++ b/arch/openrisc/Kconfig
> @@ -10,7 +10,6 @@ config OPENRISC
>   	select ARCH_HAS_DMA_SET_UNCACHED
>   	select ARCH_HAS_DMA_CLEAR_UNCACHED
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select COMMON_CLK
>   	select OF
>   	select OF_EARLY_FLATTREE
> diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
> index 90eabc846f81..5f2448dc5a2b 100644
> --- a/arch/parisc/Kconfig
> +++ b/arch/parisc/Kconfig
> @@ -11,7 +11,6 @@ config PARISC
>   	select ARCH_HAS_ELF_RANDOMIZE
>   	select ARCH_HAS_STRICT_KERNEL_RWX
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_NO_SG_CHAIN
>   	select ARCH_SUPPORTS_HUGETLBFS if PA20
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 1035d172c7dd..250b8658b2d4 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -140,7 +140,6 @@ config PPC
>   	select ARCH_HAS_TICK_BROADCAST		if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UACCESS_FLUSHCACHE
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
>   	select ARCH_KEEP_MEMBLOCK
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 583389d4e43a..32ffef9f6e5b 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -32,7 +32,6 @@ config RISCV
>   	select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
>   	select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
>   	select ARCH_STACKWALK
> diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
> index c4481377ca83..91c0b80a8bf0 100644
> --- a/arch/s390/Kconfig
> +++ b/arch/s390/Kconfig
> @@ -81,7 +81,6 @@ config S390
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
>   	select ARCH_HAS_VDSO_DATA
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
>   	select ARCH_INLINE_READ_LOCK
>   	select ARCH_INLINE_READ_LOCK_BH
> diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
> index 91f3ea325388..5f220e903e5a 100644
> --- a/arch/sh/Kconfig
> +++ b/arch/sh/Kconfig
> @@ -12,7 +12,6 @@ config SUPERH
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HIBERNATION_POSSIBLE if MMU
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_WANT_IPC_PARSE_VERSION
> diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
> index 09f868613a4d..9c1cce74953a 100644
> --- a/arch/sparc/Kconfig
> +++ b/arch/sparc/Kconfig
> @@ -13,7 +13,6 @@ config 64BIT
>   config SPARC
>   	bool
>   	default y
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI
>   	select ARCH_MIGHT_HAVE_PC_SERIO
>   	select DMA_OPS
> diff --git a/arch/um/Kconfig b/arch/um/Kconfig
> index 7fb43654e5b5..4ec22e156a2e 100644
> --- a/arch/um/Kconfig
> +++ b/arch/um/Kconfig
> @@ -10,7 +10,6 @@ config UML
>   	select ARCH_HAS_KCOV
>   	select ARCH_HAS_STRNCPY_FROM_USER
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_PREEMPT
>   	select HAVE_ARCH_AUDITSYSCALL
>   	select HAVE_ARCH_SECCOMP_FILTER
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index be0b95e51df6..841e4843d0c4 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -94,7 +94,6 @@ config X86
>   	select ARCH_HAS_SYNC_CORE_BEFORE_USERMODE
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_DEBUG_WX
>   	select ARCH_HAS_ZONE_DMA_SET if EXPERT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
> diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
> index 4c0d83520ff1..0b0f0172cced 100644
> --- a/arch/xtensa/Kconfig
> +++ b/arch/xtensa/Kconfig
> @@ -11,7 +11,6 @@ config XTENSA
>   	select ARCH_HAS_DMA_SET_UNCACHED if MMU
>   	select ARCH_HAS_STRNCPY_FROM_USER if !KASAN
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_USE_MEMTEST
>   	select ARCH_USE_QUEUED_RWLOCKS
>   	select ARCH_USE_QUEUED_SPINLOCKS
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index 65b7f3d9ff87..fe28f19e3388 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -424,9 +424,6 @@ extern unsigned int kobjsize(const void *objp);
>    * mapping from the currently active vm_flags protection bits (the
>    * low four bits) to a page protection mask..
>    */
> -#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
> -extern pgprot_t protection_map[16];
> -#endif
>   
>   /*
>    * The default fault flags that should be used by most of the
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 169e64192e48..f47d257a053b 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -951,9 +951,6 @@ config ARCH_HAS_CURRENT_STACK_POINTER
>   	  register alias named "current_stack_pointer", this config can be
>   	  selected.
>   
> -config ARCH_HAS_VM_GET_PAGE_PROT
> -	bool
> -
>   config ARCH_HAS_PTE_DEVMAP
>   	bool
>   
> diff --git a/mm/mmap.c b/mm/mmap.c
> index 2cc722e162fa..02d6889f0ef6 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -81,28 +81,6 @@ static void unmap_region(struct mm_struct *mm,
>   		struct vm_area_struct *vma, struct vm_area_struct *prev,
>   		unsigned long start, unsigned long end);
>   
> -#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
> -pgprot_t protection_map[16] __ro_after_init = {
> -	[VM_NONE]					= __P000,
> -	[VM_READ]					= __P001,
> -	[VM_WRITE]					= __P010,
> -	[VM_WRITE | VM_READ]				= __P011,
> -	[VM_EXEC]					= __P100,
> -	[VM_EXEC | VM_READ]				= __P101,
> -	[VM_EXEC | VM_WRITE]				= __P110,
> -	[VM_EXEC | VM_WRITE | VM_READ]			= __P111,
> -	[VM_SHARED]					= __S000,
> -	[VM_SHARED | VM_READ]				= __S001,
> -	[VM_SHARED | VM_WRITE]				= __S010,
> -	[VM_SHARED | VM_WRITE | VM_READ]		= __S011,
> -	[VM_SHARED | VM_EXEC]				= __S100,
> -	[VM_SHARED | VM_EXEC | VM_READ]			= __S101,
> -	[VM_SHARED | VM_EXEC | VM_WRITE]		= __S110,
> -	[VM_SHARED | VM_EXEC | VM_WRITE | VM_READ]	= __S111
> -};
> -DECLARE_VM_GET_PAGE_PROT
> -#endif	/* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */
> -
>   static pgprot_t vm_pgprot_modify(pgprot_t oldprot, unsigned long vm_flags)
>   {
>   	return pgprot_modify(oldprot, vm_get_page_prot(vm_flags));
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: Anshuman Khandual <anshuman.khandual@arm.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Cc: "hch@infradead.org" <hch@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	"x86@kernel.org" <x86@kernel.org>,
	"openrisc@lists.librecores.org" <openrisc@lists.librecores.org>,
	"linux-xtensa@linux-xtensa.org" <linux-xtensa@linux-xtensa.org>,
	"linux-csky@vger.kernel.org" <linux-csky@vger.kernel.org>,
	"linux-hexagon@vger.kernel.org" <linux-hexagon@vger.kernel.org>,
	"linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>,
	"linux-alpha@vger.kernel.org" <linux-alpha@vger.kernel.org>,
	"linux-riscv@lists.infradead.org"
	<linux-riscv@lists.infradead.org>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
	"linux-m68k@lists.linux-m68k.org"
	<linux-m68k@lists.linux-m68k.org>,
	"linux-snps-arc@lists.infradead.org"
	<linux-snps-arc@lists.infradead.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-um@lists.infradead.org" <linux-um@lists.infradead.org>,
	"linux-sh@vger.kernel.org" <linux-sh@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH V5 26/26] mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
Date: Mon, 27 Jun 2022 05:50:10 +0000	[thread overview]
Message-ID: <a88b8109-9b9a-fb97-c2df-25980c2e4d7a@csgroup.eu> (raw)
In-Reply-To: <20220627045833.1590055-27-anshuman.khandual@arm.com>



Le 27/06/2022 à 06:58, Anshuman Khandual a écrit :
> Now all the platforms enable ARCH_HAS_GET_PAGE_PROT. They define and export
> own vm_get_page_prot() whether custom or standard DECLARE_VM_GET_PAGE_PROT.
> Hence there is no need for default generic fallback for vm_get_page_prot().
> Just drop this fallback and also ARCH_HAS_GET_PAGE_PROT mechanism.
> 
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: linux-mm@kvack.org
> Cc: linux-kernel@vger.kernel.org
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>

Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>

> ---
>   arch/alpha/Kconfig      |  1 -
>   arch/arc/Kconfig        |  1 -
>   arch/arm/Kconfig        |  1 -
>   arch/arm64/Kconfig      |  1 -
>   arch/csky/Kconfig       |  1 -
>   arch/hexagon/Kconfig    |  1 -
>   arch/ia64/Kconfig       |  1 -
>   arch/loongarch/Kconfig  |  1 -
>   arch/m68k/Kconfig       |  1 -
>   arch/microblaze/Kconfig |  1 -
>   arch/mips/Kconfig       |  1 -
>   arch/nios2/Kconfig      |  1 -
>   arch/openrisc/Kconfig   |  1 -
>   arch/parisc/Kconfig     |  1 -
>   arch/powerpc/Kconfig    |  1 -
>   arch/riscv/Kconfig      |  1 -
>   arch/s390/Kconfig       |  1 -
>   arch/sh/Kconfig         |  1 -
>   arch/sparc/Kconfig      |  1 -
>   arch/um/Kconfig         |  1 -
>   arch/x86/Kconfig        |  1 -
>   arch/xtensa/Kconfig     |  1 -
>   include/linux/mm.h      |  3 ---
>   mm/Kconfig              |  3 ---
>   mm/mmap.c               | 22 ----------------------
>   25 files changed, 50 deletions(-)
> 
> diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
> index db1c8b329461..7d0d26b5b3f5 100644
> --- a/arch/alpha/Kconfig
> +++ b/arch/alpha/Kconfig
> @@ -2,7 +2,6 @@
>   config ALPHA
>   	bool
>   	default y
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_32BIT_USTAT_F_TINODE
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_MIGHT_HAVE_PC_SERIO
> diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
> index 8be56a5d8a9b..9e3653253ef2 100644
> --- a/arch/arc/Kconfig
> +++ b/arch/arc/Kconfig
> @@ -13,7 +13,6 @@ config ARC
>   	select ARCH_HAS_SETUP_DMA_OPS
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_SUPPORTS_ATOMIC_RMW if ARC_HAS_LLSC
>   	select ARCH_32BIT_OFF_T
>   	select BUILDTIME_TABLE_SORT
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index e153b6d4fc5b..7630ba9cb6cc 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -24,7 +24,6 @@ config ARM
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB || !MMU
>   	select ARCH_HAS_TEARDOWN_DMA_OPS if MMU
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_CUSTOM_GPIO_H
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG if CPU_V7 || CPU_V7M || CPU_V6K
>   	select ARCH_HAS_GCOV_PROFILE_ALL
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 1652a9800ebe..7030bf3f8d6f 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -45,7 +45,6 @@ config ARM64
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_TEARDOWN_DMA_OPS if IOMMU_SUPPORT
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_ZONE_DMA_SET if EXPERT
>   	select ARCH_HAVE_ELF_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
> diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig
> index 588b8a9c68ed..21d72b078eef 100644
> --- a/arch/csky/Kconfig
> +++ b/arch/csky/Kconfig
> @@ -6,7 +6,6 @@ config CSKY
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_USE_BUILTIN_BSWAP
>   	select ARCH_USE_QUEUED_RWLOCKS
>   	select ARCH_WANT_FRAME_POINTERS if !CPU_CK610 && $(cc-option,-mbacktrace)
> diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig
> index bc4ceecd0588..54eadf265178 100644
> --- a/arch/hexagon/Kconfig
> +++ b/arch/hexagon/Kconfig
> @@ -6,7 +6,6 @@ config HEXAGON
>   	def_bool y
>   	select ARCH_32BIT_OFF_T
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_PREEMPT
>   	select DMA_GLOBAL_POOL
>   	# Other pending projects/to-do items.
> diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
> index 0510a5737711..cb93769a9f2a 100644
> --- a/arch/ia64/Kconfig
> +++ b/arch/ia64/Kconfig
> @@ -12,7 +12,6 @@ config IA64
>   	select ARCH_HAS_DMA_MARK_CLEAN
>   	select ARCH_HAS_STRNCPY_FROM_USER
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_MIGHT_HAVE_PC_SERIO
>   	select ACPI
> diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
> index fd07b8e760ee..1920d52653b4 100644
> --- a/arch/loongarch/Kconfig
> +++ b/arch/loongarch/Kconfig
> @@ -9,7 +9,6 @@ config LOONGARCH
>   	select ARCH_HAS_ACPI_TABLE_UPGRADE	if ACPI
>   	select ARCH_HAS_PHYS_TO_DMA
>   	select ARCH_HAS_PTE_SPECIAL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_INLINE_READ_LOCK if !PREEMPTION
>   	select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION
> diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
> index 49aa0cf13e96..936cce42ae9a 100644
> --- a/arch/m68k/Kconfig
> +++ b/arch/m68k/Kconfig
> @@ -7,7 +7,6 @@ config M68K
>   	select ARCH_HAS_CURRENT_STACK_POINTER
>   	select ARCH_HAS_DMA_PREP_COHERENT if HAS_DMA && MMU && !COLDFIRE
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS
>   	select ARCH_MIGHT_HAVE_PC_PARPORT if ISA
>   	select ARCH_NO_PREEMPT if !COLDFIRE
> diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
> index 15f91ba8a0c4..8cf429ad1c84 100644
> --- a/arch/microblaze/Kconfig
> +++ b/arch/microblaze/Kconfig
> @@ -7,7 +7,6 @@ config MICROBLAZE
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_WANT_IPC_PARSE_VERSION
>   	select BUILDTIME_TABLE_SORT
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index d0b7eb11ec81..db09d45d59ec 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -14,7 +14,6 @@ config MIPS
>   	select ARCH_HAS_STRNLEN_USER
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_KEEP_MEMBLOCK
>   	select ARCH_SUPPORTS_UPROBES
> diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig
> index e0459dffd218..4167f1eb4cd8 100644
> --- a/arch/nios2/Kconfig
> +++ b/arch/nios2/Kconfig
> @@ -6,7 +6,6 @@ config NIOS2
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
>   	select ARCH_HAS_DMA_SET_UNCACHED
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_SWAP
>   	select COMMON_CLK
>   	select TIMER_OF
> diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
> index fe0dfb50eb86..e814df4c483c 100644
> --- a/arch/openrisc/Kconfig
> +++ b/arch/openrisc/Kconfig
> @@ -10,7 +10,6 @@ config OPENRISC
>   	select ARCH_HAS_DMA_SET_UNCACHED
>   	select ARCH_HAS_DMA_CLEAR_UNCACHED
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select COMMON_CLK
>   	select OF
>   	select OF_EARLY_FLATTREE
> diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
> index 90eabc846f81..5f2448dc5a2b 100644
> --- a/arch/parisc/Kconfig
> +++ b/arch/parisc/Kconfig
> @@ -11,7 +11,6 @@ config PARISC
>   	select ARCH_HAS_ELF_RANDOMIZE
>   	select ARCH_HAS_STRICT_KERNEL_RWX
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_NO_SG_CHAIN
>   	select ARCH_SUPPORTS_HUGETLBFS if PA20
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 1035d172c7dd..250b8658b2d4 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -140,7 +140,6 @@ config PPC
>   	select ARCH_HAS_TICK_BROADCAST		if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UACCESS_FLUSHCACHE
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
>   	select ARCH_KEEP_MEMBLOCK
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 583389d4e43a..32ffef9f6e5b 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -32,7 +32,6 @@ config RISCV
>   	select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
>   	select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
>   	select ARCH_STACKWALK
> diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
> index c4481377ca83..91c0b80a8bf0 100644
> --- a/arch/s390/Kconfig
> +++ b/arch/s390/Kconfig
> @@ -81,7 +81,6 @@ config S390
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
>   	select ARCH_HAS_VDSO_DATA
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
>   	select ARCH_INLINE_READ_LOCK
>   	select ARCH_INLINE_READ_LOCK_BH
> diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
> index 91f3ea325388..5f220e903e5a 100644
> --- a/arch/sh/Kconfig
> +++ b/arch/sh/Kconfig
> @@ -12,7 +12,6 @@ config SUPERH
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HIBERNATION_POSSIBLE if MMU
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_WANT_IPC_PARSE_VERSION
> diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
> index 09f868613a4d..9c1cce74953a 100644
> --- a/arch/sparc/Kconfig
> +++ b/arch/sparc/Kconfig
> @@ -13,7 +13,6 @@ config 64BIT
>   config SPARC
>   	bool
>   	default y
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI
>   	select ARCH_MIGHT_HAVE_PC_SERIO
>   	select DMA_OPS
> diff --git a/arch/um/Kconfig b/arch/um/Kconfig
> index 7fb43654e5b5..4ec22e156a2e 100644
> --- a/arch/um/Kconfig
> +++ b/arch/um/Kconfig
> @@ -10,7 +10,6 @@ config UML
>   	select ARCH_HAS_KCOV
>   	select ARCH_HAS_STRNCPY_FROM_USER
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_PREEMPT
>   	select HAVE_ARCH_AUDITSYSCALL
>   	select HAVE_ARCH_SECCOMP_FILTER
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index be0b95e51df6..841e4843d0c4 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -94,7 +94,6 @@ config X86
>   	select ARCH_HAS_SYNC_CORE_BEFORE_USERMODE
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_DEBUG_WX
>   	select ARCH_HAS_ZONE_DMA_SET if EXPERT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
> diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
> index 4c0d83520ff1..0b0f0172cced 100644
> --- a/arch/xtensa/Kconfig
> +++ b/arch/xtensa/Kconfig
> @@ -11,7 +11,6 @@ config XTENSA
>   	select ARCH_HAS_DMA_SET_UNCACHED if MMU
>   	select ARCH_HAS_STRNCPY_FROM_USER if !KASAN
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_USE_MEMTEST
>   	select ARCH_USE_QUEUED_RWLOCKS
>   	select ARCH_USE_QUEUED_SPINLOCKS
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index 65b7f3d9ff87..fe28f19e3388 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -424,9 +424,6 @@ extern unsigned int kobjsize(const void *objp);
>    * mapping from the currently active vm_flags protection bits (the
>    * low four bits) to a page protection mask..
>    */
> -#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
> -extern pgprot_t protection_map[16];
> -#endif
>   
>   /*
>    * The default fault flags that should be used by most of the
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 169e64192e48..f47d257a053b 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -951,9 +951,6 @@ config ARCH_HAS_CURRENT_STACK_POINTER
>   	  register alias named "current_stack_pointer", this config can be
>   	  selected.
>   
> -config ARCH_HAS_VM_GET_PAGE_PROT
> -	bool
> -
>   config ARCH_HAS_PTE_DEVMAP
>   	bool
>   
> diff --git a/mm/mmap.c b/mm/mmap.c
> index 2cc722e162fa..02d6889f0ef6 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -81,28 +81,6 @@ static void unmap_region(struct mm_struct *mm,
>   		struct vm_area_struct *vma, struct vm_area_struct *prev,
>   		unsigned long start, unsigned long end);
>   
> -#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
> -pgprot_t protection_map[16] __ro_after_init = {
> -	[VM_NONE]					= __P000,
> -	[VM_READ]					= __P001,
> -	[VM_WRITE]					= __P010,
> -	[VM_WRITE | VM_READ]				= __P011,
> -	[VM_EXEC]					= __P100,
> -	[VM_EXEC | VM_READ]				= __P101,
> -	[VM_EXEC | VM_WRITE]				= __P110,
> -	[VM_EXEC | VM_WRITE | VM_READ]			= __P111,
> -	[VM_SHARED]					= __S000,
> -	[VM_SHARED | VM_READ]				= __S001,
> -	[VM_SHARED | VM_WRITE]				= __S010,
> -	[VM_SHARED | VM_WRITE | VM_READ]		= __S011,
> -	[VM_SHARED | VM_EXEC]				= __S100,
> -	[VM_SHARED | VM_EXEC | VM_READ]			= __S101,
> -	[VM_SHARED | VM_EXEC | VM_WRITE]		= __S110,
> -	[VM_SHARED | VM_EXEC | VM_WRITE | VM_READ]	= __S111
> -};
> -DECLARE_VM_GET_PAGE_PROT
> -#endif	/* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */
> -
>   static pgprot_t vm_pgprot_modify(pgprot_t oldprot, unsigned long vm_flags)
>   {
>   	return pgprot_modify(oldprot, vm_get_page_prot(vm_flags));
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc

WARNING: multiple messages have this Message-ID (diff)
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: Anshuman Khandual <anshuman.khandual@arm.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Cc: "hch@infradead.org" <hch@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	"x86@kernel.org" <x86@kernel.org>,
	"openrisc@lists.librecores.org" <openrisc@lists.librecores.org>,
	"linux-xtensa@linux-xtensa.org" <linux-xtensa@linux-xtensa.org>,
	"linux-csky@vger.kernel.org" <linux-csky@vger.kernel.org>,
	"linux-hexagon@vger.kernel.org" <linux-hexagon@vger.kernel.org>,
	"linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>,
	"linux-alpha@vger.kernel.org" <linux-alpha@vger.kernel.org>,
	"linux-riscv@lists.infradead.org"
	<linux-riscv@lists.infradead.org>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
	"linux-m68k@lists.linux-m68k.org"
	<linux-m68k@lists.linux-m68k.org>,
	"linux-snps-arc@lists.infradead.org"
	<linux-snps-arc@lists.infradead.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-um@lists.infradead.org" <linux-um@lists.infradead.org>,
	"linux-sh@vger.kernel.org" <linux-sh@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH V5 26/26] mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
Date: Mon, 27 Jun 2022 05:50:10 +0000	[thread overview]
Message-ID: <a88b8109-9b9a-fb97-c2df-25980c2e4d7a@csgroup.eu> (raw)
In-Reply-To: <20220627045833.1590055-27-anshuman.khandual@arm.com>



Le 27/06/2022 à 06:58, Anshuman Khandual a écrit :
> Now all the platforms enable ARCH_HAS_GET_PAGE_PROT. They define and export
> own vm_get_page_prot() whether custom or standard DECLARE_VM_GET_PAGE_PROT.
> Hence there is no need for default generic fallback for vm_get_page_prot().
> Just drop this fallback and also ARCH_HAS_GET_PAGE_PROT mechanism.
> 
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: linux-mm@kvack.org
> Cc: linux-kernel@vger.kernel.org
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>

Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>

> ---
>   arch/alpha/Kconfig      |  1 -
>   arch/arc/Kconfig        |  1 -
>   arch/arm/Kconfig        |  1 -
>   arch/arm64/Kconfig      |  1 -
>   arch/csky/Kconfig       |  1 -
>   arch/hexagon/Kconfig    |  1 -
>   arch/ia64/Kconfig       |  1 -
>   arch/loongarch/Kconfig  |  1 -
>   arch/m68k/Kconfig       |  1 -
>   arch/microblaze/Kconfig |  1 -
>   arch/mips/Kconfig       |  1 -
>   arch/nios2/Kconfig      |  1 -
>   arch/openrisc/Kconfig   |  1 -
>   arch/parisc/Kconfig     |  1 -
>   arch/powerpc/Kconfig    |  1 -
>   arch/riscv/Kconfig      |  1 -
>   arch/s390/Kconfig       |  1 -
>   arch/sh/Kconfig         |  1 -
>   arch/sparc/Kconfig      |  1 -
>   arch/um/Kconfig         |  1 -
>   arch/x86/Kconfig        |  1 -
>   arch/xtensa/Kconfig     |  1 -
>   include/linux/mm.h      |  3 ---
>   mm/Kconfig              |  3 ---
>   mm/mmap.c               | 22 ----------------------
>   25 files changed, 50 deletions(-)
> 
> diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
> index db1c8b329461..7d0d26b5b3f5 100644
> --- a/arch/alpha/Kconfig
> +++ b/arch/alpha/Kconfig
> @@ -2,7 +2,6 @@
>   config ALPHA
>   	bool
>   	default y
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_32BIT_USTAT_F_TINODE
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_MIGHT_HAVE_PC_SERIO
> diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
> index 8be56a5d8a9b..9e3653253ef2 100644
> --- a/arch/arc/Kconfig
> +++ b/arch/arc/Kconfig
> @@ -13,7 +13,6 @@ config ARC
>   	select ARCH_HAS_SETUP_DMA_OPS
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_SUPPORTS_ATOMIC_RMW if ARC_HAS_LLSC
>   	select ARCH_32BIT_OFF_T
>   	select BUILDTIME_TABLE_SORT
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index e153b6d4fc5b..7630ba9cb6cc 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -24,7 +24,6 @@ config ARM
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB || !MMU
>   	select ARCH_HAS_TEARDOWN_DMA_OPS if MMU
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_CUSTOM_GPIO_H
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG if CPU_V7 || CPU_V7M || CPU_V6K
>   	select ARCH_HAS_GCOV_PROFILE_ALL
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 1652a9800ebe..7030bf3f8d6f 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -45,7 +45,6 @@ config ARM64
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_TEARDOWN_DMA_OPS if IOMMU_SUPPORT
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_ZONE_DMA_SET if EXPERT
>   	select ARCH_HAVE_ELF_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
> diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig
> index 588b8a9c68ed..21d72b078eef 100644
> --- a/arch/csky/Kconfig
> +++ b/arch/csky/Kconfig
> @@ -6,7 +6,6 @@ config CSKY
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_USE_BUILTIN_BSWAP
>   	select ARCH_USE_QUEUED_RWLOCKS
>   	select ARCH_WANT_FRAME_POINTERS if !CPU_CK610 && $(cc-option,-mbacktrace)
> diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig
> index bc4ceecd0588..54eadf265178 100644
> --- a/arch/hexagon/Kconfig
> +++ b/arch/hexagon/Kconfig
> @@ -6,7 +6,6 @@ config HEXAGON
>   	def_bool y
>   	select ARCH_32BIT_OFF_T
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_PREEMPT
>   	select DMA_GLOBAL_POOL
>   	# Other pending projects/to-do items.
> diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
> index 0510a5737711..cb93769a9f2a 100644
> --- a/arch/ia64/Kconfig
> +++ b/arch/ia64/Kconfig
> @@ -12,7 +12,6 @@ config IA64
>   	select ARCH_HAS_DMA_MARK_CLEAN
>   	select ARCH_HAS_STRNCPY_FROM_USER
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_MIGHT_HAVE_PC_SERIO
>   	select ACPI
> diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
> index fd07b8e760ee..1920d52653b4 100644
> --- a/arch/loongarch/Kconfig
> +++ b/arch/loongarch/Kconfig
> @@ -9,7 +9,6 @@ config LOONGARCH
>   	select ARCH_HAS_ACPI_TABLE_UPGRADE	if ACPI
>   	select ARCH_HAS_PHYS_TO_DMA
>   	select ARCH_HAS_PTE_SPECIAL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_INLINE_READ_LOCK if !PREEMPTION
>   	select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION
> diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
> index 49aa0cf13e96..936cce42ae9a 100644
> --- a/arch/m68k/Kconfig
> +++ b/arch/m68k/Kconfig
> @@ -7,7 +7,6 @@ config M68K
>   	select ARCH_HAS_CURRENT_STACK_POINTER
>   	select ARCH_HAS_DMA_PREP_COHERENT if HAS_DMA && MMU && !COLDFIRE
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS
>   	select ARCH_MIGHT_HAVE_PC_PARPORT if ISA
>   	select ARCH_NO_PREEMPT if !COLDFIRE
> diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
> index 15f91ba8a0c4..8cf429ad1c84 100644
> --- a/arch/microblaze/Kconfig
> +++ b/arch/microblaze/Kconfig
> @@ -7,7 +7,6 @@ config MICROBLAZE
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_WANT_IPC_PARSE_VERSION
>   	select BUILDTIME_TABLE_SORT
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index d0b7eb11ec81..db09d45d59ec 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -14,7 +14,6 @@ config MIPS
>   	select ARCH_HAS_STRNLEN_USER
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_KEEP_MEMBLOCK
>   	select ARCH_SUPPORTS_UPROBES
> diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig
> index e0459dffd218..4167f1eb4cd8 100644
> --- a/arch/nios2/Kconfig
> +++ b/arch/nios2/Kconfig
> @@ -6,7 +6,6 @@ config NIOS2
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
>   	select ARCH_HAS_DMA_SET_UNCACHED
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_SWAP
>   	select COMMON_CLK
>   	select TIMER_OF
> diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
> index fe0dfb50eb86..e814df4c483c 100644
> --- a/arch/openrisc/Kconfig
> +++ b/arch/openrisc/Kconfig
> @@ -10,7 +10,6 @@ config OPENRISC
>   	select ARCH_HAS_DMA_SET_UNCACHED
>   	select ARCH_HAS_DMA_CLEAR_UNCACHED
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select COMMON_CLK
>   	select OF
>   	select OF_EARLY_FLATTREE
> diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
> index 90eabc846f81..5f2448dc5a2b 100644
> --- a/arch/parisc/Kconfig
> +++ b/arch/parisc/Kconfig
> @@ -11,7 +11,6 @@ config PARISC
>   	select ARCH_HAS_ELF_RANDOMIZE
>   	select ARCH_HAS_STRICT_KERNEL_RWX
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_NO_SG_CHAIN
>   	select ARCH_SUPPORTS_HUGETLBFS if PA20
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 1035d172c7dd..250b8658b2d4 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -140,7 +140,6 @@ config PPC
>   	select ARCH_HAS_TICK_BROADCAST		if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UACCESS_FLUSHCACHE
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
>   	select ARCH_KEEP_MEMBLOCK
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 583389d4e43a..32ffef9f6e5b 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -32,7 +32,6 @@ config RISCV
>   	select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
>   	select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
>   	select ARCH_STACKWALK
> diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
> index c4481377ca83..91c0b80a8bf0 100644
> --- a/arch/s390/Kconfig
> +++ b/arch/s390/Kconfig
> @@ -81,7 +81,6 @@ config S390
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
>   	select ARCH_HAS_VDSO_DATA
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
>   	select ARCH_INLINE_READ_LOCK
>   	select ARCH_INLINE_READ_LOCK_BH
> diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
> index 91f3ea325388..5f220e903e5a 100644
> --- a/arch/sh/Kconfig
> +++ b/arch/sh/Kconfig
> @@ -12,7 +12,6 @@ config SUPERH
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HIBERNATION_POSSIBLE if MMU
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_WANT_IPC_PARSE_VERSION
> diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
> index 09f868613a4d..9c1cce74953a 100644
> --- a/arch/sparc/Kconfig
> +++ b/arch/sparc/Kconfig
> @@ -13,7 +13,6 @@ config 64BIT
>   config SPARC
>   	bool
>   	default y
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI
>   	select ARCH_MIGHT_HAVE_PC_SERIO
>   	select DMA_OPS
> diff --git a/arch/um/Kconfig b/arch/um/Kconfig
> index 7fb43654e5b5..4ec22e156a2e 100644
> --- a/arch/um/Kconfig
> +++ b/arch/um/Kconfig
> @@ -10,7 +10,6 @@ config UML
>   	select ARCH_HAS_KCOV
>   	select ARCH_HAS_STRNCPY_FROM_USER
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_PREEMPT
>   	select HAVE_ARCH_AUDITSYSCALL
>   	select HAVE_ARCH_SECCOMP_FILTER
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index be0b95e51df6..841e4843d0c4 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -94,7 +94,6 @@ config X86
>   	select ARCH_HAS_SYNC_CORE_BEFORE_USERMODE
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_DEBUG_WX
>   	select ARCH_HAS_ZONE_DMA_SET if EXPERT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
> diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
> index 4c0d83520ff1..0b0f0172cced 100644
> --- a/arch/xtensa/Kconfig
> +++ b/arch/xtensa/Kconfig
> @@ -11,7 +11,6 @@ config XTENSA
>   	select ARCH_HAS_DMA_SET_UNCACHED if MMU
>   	select ARCH_HAS_STRNCPY_FROM_USER if !KASAN
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_USE_MEMTEST
>   	select ARCH_USE_QUEUED_RWLOCKS
>   	select ARCH_USE_QUEUED_SPINLOCKS
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index 65b7f3d9ff87..fe28f19e3388 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -424,9 +424,6 @@ extern unsigned int kobjsize(const void *objp);
>    * mapping from the currently active vm_flags protection bits (the
>    * low four bits) to a page protection mask..
>    */
> -#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
> -extern pgprot_t protection_map[16];
> -#endif
>   
>   /*
>    * The default fault flags that should be used by most of the
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 169e64192e48..f47d257a053b 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -951,9 +951,6 @@ config ARCH_HAS_CURRENT_STACK_POINTER
>   	  register alias named "current_stack_pointer", this config can be
>   	  selected.
>   
> -config ARCH_HAS_VM_GET_PAGE_PROT
> -	bool
> -
>   config ARCH_HAS_PTE_DEVMAP
>   	bool
>   
> diff --git a/mm/mmap.c b/mm/mmap.c
> index 2cc722e162fa..02d6889f0ef6 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -81,28 +81,6 @@ static void unmap_region(struct mm_struct *mm,
>   		struct vm_area_struct *vma, struct vm_area_struct *prev,
>   		unsigned long start, unsigned long end);
>   
> -#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
> -pgprot_t protection_map[16] __ro_after_init = {
> -	[VM_NONE]					= __P000,
> -	[VM_READ]					= __P001,
> -	[VM_WRITE]					= __P010,
> -	[VM_WRITE | VM_READ]				= __P011,
> -	[VM_EXEC]					= __P100,
> -	[VM_EXEC | VM_READ]				= __P101,
> -	[VM_EXEC | VM_WRITE]				= __P110,
> -	[VM_EXEC | VM_WRITE | VM_READ]			= __P111,
> -	[VM_SHARED]					= __S000,
> -	[VM_SHARED | VM_READ]				= __S001,
> -	[VM_SHARED | VM_WRITE]				= __S010,
> -	[VM_SHARED | VM_WRITE | VM_READ]		= __S011,
> -	[VM_SHARED | VM_EXEC]				= __S100,
> -	[VM_SHARED | VM_EXEC | VM_READ]			= __S101,
> -	[VM_SHARED | VM_EXEC | VM_WRITE]		= __S110,
> -	[VM_SHARED | VM_EXEC | VM_WRITE | VM_READ]	= __S111
> -};
> -DECLARE_VM_GET_PAGE_PROT
> -#endif	/* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */
> -
>   static pgprot_t vm_pgprot_modify(pgprot_t oldprot, unsigned long vm_flags)
>   {
>   	return pgprot_modify(oldprot, vm_get_page_prot(vm_flags));
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: Anshuman Khandual <anshuman.khandual@arm.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Cc: "linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	"linux-sh@vger.kernel.org" <linux-sh@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	"linux-riscv@lists.infradead.org"
	<linux-riscv@lists.infradead.org>, Christoph Hellwig <hch@lst.de>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"linux-hexagon@vger.kernel.org" <linux-hexagon@vger.kernel.org>,
	"x86@kernel.org" <x86@kernel.org>,
	"linux-csky@vger.kernel.org" <linux-csky@vger.kernel.org>,
	"hch@infradead.org" <hch@infradead.org>,
	"linux-snps-arc@lists.infradead.org"
	<linux-snps-arc@lists.infradead.org>,
	"linux-xtensa@linux-xtensa.org" <linux-xtensa@linux-xtensa.org>,
	"linux-um@lists.infradead.org" <linux-um@lists.infradead.org>,
	"linux-m68k@lists.linux-m68k.org"
	<linux-m68k@lists.linux-m68k.org>,
	"openrisc@lists.librecores.org" <openrisc@lists.librecores.org>,
	"linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@list
	s.infradead.org>,
	"linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>,
	"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
	"linux-alpha@vger.kernel.org" <linux-alpha@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Subject: Re: [PATCH V5 26/26] mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
Date: Mon, 27 Jun 2022 05:50:10 +0000	[thread overview]
Message-ID: <a88b8109-9b9a-fb97-c2df-25980c2e4d7a@csgroup.eu> (raw)
In-Reply-To: <20220627045833.1590055-27-anshuman.khandual@arm.com>



Le 27/06/2022 à 06:58, Anshuman Khandual a écrit :
> Now all the platforms enable ARCH_HAS_GET_PAGE_PROT. They define and export
> own vm_get_page_prot() whether custom or standard DECLARE_VM_GET_PAGE_PROT.
> Hence there is no need for default generic fallback for vm_get_page_prot().
> Just drop this fallback and also ARCH_HAS_GET_PAGE_PROT mechanism.
> 
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: linux-mm@kvack.org
> Cc: linux-kernel@vger.kernel.org
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>

Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>

> ---
>   arch/alpha/Kconfig      |  1 -
>   arch/arc/Kconfig        |  1 -
>   arch/arm/Kconfig        |  1 -
>   arch/arm64/Kconfig      |  1 -
>   arch/csky/Kconfig       |  1 -
>   arch/hexagon/Kconfig    |  1 -
>   arch/ia64/Kconfig       |  1 -
>   arch/loongarch/Kconfig  |  1 -
>   arch/m68k/Kconfig       |  1 -
>   arch/microblaze/Kconfig |  1 -
>   arch/mips/Kconfig       |  1 -
>   arch/nios2/Kconfig      |  1 -
>   arch/openrisc/Kconfig   |  1 -
>   arch/parisc/Kconfig     |  1 -
>   arch/powerpc/Kconfig    |  1 -
>   arch/riscv/Kconfig      |  1 -
>   arch/s390/Kconfig       |  1 -
>   arch/sh/Kconfig         |  1 -
>   arch/sparc/Kconfig      |  1 -
>   arch/um/Kconfig         |  1 -
>   arch/x86/Kconfig        |  1 -
>   arch/xtensa/Kconfig     |  1 -
>   include/linux/mm.h      |  3 ---
>   mm/Kconfig              |  3 ---
>   mm/mmap.c               | 22 ----------------------
>   25 files changed, 50 deletions(-)
> 
> diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
> index db1c8b329461..7d0d26b5b3f5 100644
> --- a/arch/alpha/Kconfig
> +++ b/arch/alpha/Kconfig
> @@ -2,7 +2,6 @@
>   config ALPHA
>   	bool
>   	default y
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_32BIT_USTAT_F_TINODE
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_MIGHT_HAVE_PC_SERIO
> diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
> index 8be56a5d8a9b..9e3653253ef2 100644
> --- a/arch/arc/Kconfig
> +++ b/arch/arc/Kconfig
> @@ -13,7 +13,6 @@ config ARC
>   	select ARCH_HAS_SETUP_DMA_OPS
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_SUPPORTS_ATOMIC_RMW if ARC_HAS_LLSC
>   	select ARCH_32BIT_OFF_T
>   	select BUILDTIME_TABLE_SORT
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index e153b6d4fc5b..7630ba9cb6cc 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -24,7 +24,6 @@ config ARM
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB || !MMU
>   	select ARCH_HAS_TEARDOWN_DMA_OPS if MMU
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_CUSTOM_GPIO_H
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG if CPU_V7 || CPU_V7M || CPU_V6K
>   	select ARCH_HAS_GCOV_PROFILE_ALL
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 1652a9800ebe..7030bf3f8d6f 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -45,7 +45,6 @@ config ARM64
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_TEARDOWN_DMA_OPS if IOMMU_SUPPORT
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_ZONE_DMA_SET if EXPERT
>   	select ARCH_HAVE_ELF_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
> diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig
> index 588b8a9c68ed..21d72b078eef 100644
> --- a/arch/csky/Kconfig
> +++ b/arch/csky/Kconfig
> @@ -6,7 +6,6 @@ config CSKY
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_USE_BUILTIN_BSWAP
>   	select ARCH_USE_QUEUED_RWLOCKS
>   	select ARCH_WANT_FRAME_POINTERS if !CPU_CK610 && $(cc-option,-mbacktrace)
> diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig
> index bc4ceecd0588..54eadf265178 100644
> --- a/arch/hexagon/Kconfig
> +++ b/arch/hexagon/Kconfig
> @@ -6,7 +6,6 @@ config HEXAGON
>   	def_bool y
>   	select ARCH_32BIT_OFF_T
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_PREEMPT
>   	select DMA_GLOBAL_POOL
>   	# Other pending projects/to-do items.
> diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
> index 0510a5737711..cb93769a9f2a 100644
> --- a/arch/ia64/Kconfig
> +++ b/arch/ia64/Kconfig
> @@ -12,7 +12,6 @@ config IA64
>   	select ARCH_HAS_DMA_MARK_CLEAN
>   	select ARCH_HAS_STRNCPY_FROM_USER
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_MIGHT_HAVE_PC_SERIO
>   	select ACPI
> diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
> index fd07b8e760ee..1920d52653b4 100644
> --- a/arch/loongarch/Kconfig
> +++ b/arch/loongarch/Kconfig
> @@ -9,7 +9,6 @@ config LOONGARCH
>   	select ARCH_HAS_ACPI_TABLE_UPGRADE	if ACPI
>   	select ARCH_HAS_PHYS_TO_DMA
>   	select ARCH_HAS_PTE_SPECIAL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_INLINE_READ_LOCK if !PREEMPTION
>   	select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION
> diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
> index 49aa0cf13e96..936cce42ae9a 100644
> --- a/arch/m68k/Kconfig
> +++ b/arch/m68k/Kconfig
> @@ -7,7 +7,6 @@ config M68K
>   	select ARCH_HAS_CURRENT_STACK_POINTER
>   	select ARCH_HAS_DMA_PREP_COHERENT if HAS_DMA && MMU && !COLDFIRE
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS
>   	select ARCH_MIGHT_HAVE_PC_PARPORT if ISA
>   	select ARCH_NO_PREEMPT if !COLDFIRE
> diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
> index 15f91ba8a0c4..8cf429ad1c84 100644
> --- a/arch/microblaze/Kconfig
> +++ b/arch/microblaze/Kconfig
> @@ -7,7 +7,6 @@ config MICROBLAZE
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_WANT_IPC_PARSE_VERSION
>   	select BUILDTIME_TABLE_SORT
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index d0b7eb11ec81..db09d45d59ec 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -14,7 +14,6 @@ config MIPS
>   	select ARCH_HAS_STRNLEN_USER
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_KEEP_MEMBLOCK
>   	select ARCH_SUPPORTS_UPROBES
> diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig
> index e0459dffd218..4167f1eb4cd8 100644
> --- a/arch/nios2/Kconfig
> +++ b/arch/nios2/Kconfig
> @@ -6,7 +6,6 @@ config NIOS2
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
>   	select ARCH_HAS_DMA_SET_UNCACHED
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_SWAP
>   	select COMMON_CLK
>   	select TIMER_OF
> diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
> index fe0dfb50eb86..e814df4c483c 100644
> --- a/arch/openrisc/Kconfig
> +++ b/arch/openrisc/Kconfig
> @@ -10,7 +10,6 @@ config OPENRISC
>   	select ARCH_HAS_DMA_SET_UNCACHED
>   	select ARCH_HAS_DMA_CLEAR_UNCACHED
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select COMMON_CLK
>   	select OF
>   	select OF_EARLY_FLATTREE
> diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
> index 90eabc846f81..5f2448dc5a2b 100644
> --- a/arch/parisc/Kconfig
> +++ b/arch/parisc/Kconfig
> @@ -11,7 +11,6 @@ config PARISC
>   	select ARCH_HAS_ELF_RANDOMIZE
>   	select ARCH_HAS_STRICT_KERNEL_RWX
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_NO_SG_CHAIN
>   	select ARCH_SUPPORTS_HUGETLBFS if PA20
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 1035d172c7dd..250b8658b2d4 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -140,7 +140,6 @@ config PPC
>   	select ARCH_HAS_TICK_BROADCAST		if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UACCESS_FLUSHCACHE
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
>   	select ARCH_KEEP_MEMBLOCK
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 583389d4e43a..32ffef9f6e5b 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -32,7 +32,6 @@ config RISCV
>   	select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
>   	select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
>   	select ARCH_STACKWALK
> diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
> index c4481377ca83..91c0b80a8bf0 100644
> --- a/arch/s390/Kconfig
> +++ b/arch/s390/Kconfig
> @@ -81,7 +81,6 @@ config S390
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
>   	select ARCH_HAS_VDSO_DATA
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
>   	select ARCH_INLINE_READ_LOCK
>   	select ARCH_INLINE_READ_LOCK_BH
> diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
> index 91f3ea325388..5f220e903e5a 100644
> --- a/arch/sh/Kconfig
> +++ b/arch/sh/Kconfig
> @@ -12,7 +12,6 @@ config SUPERH
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HIBERNATION_POSSIBLE if MMU
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_WANT_IPC_PARSE_VERSION
> diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
> index 09f868613a4d..9c1cce74953a 100644
> --- a/arch/sparc/Kconfig
> +++ b/arch/sparc/Kconfig
> @@ -13,7 +13,6 @@ config 64BIT
>   config SPARC
>   	bool
>   	default y
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI
>   	select ARCH_MIGHT_HAVE_PC_SERIO
>   	select DMA_OPS
> diff --git a/arch/um/Kconfig b/arch/um/Kconfig
> index 7fb43654e5b5..4ec22e156a2e 100644
> --- a/arch/um/Kconfig
> +++ b/arch/um/Kconfig
> @@ -10,7 +10,6 @@ config UML
>   	select ARCH_HAS_KCOV
>   	select ARCH_HAS_STRNCPY_FROM_USER
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_PREEMPT
>   	select HAVE_ARCH_AUDITSYSCALL
>   	select HAVE_ARCH_SECCOMP_FILTER
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index be0b95e51df6..841e4843d0c4 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -94,7 +94,6 @@ config X86
>   	select ARCH_HAS_SYNC_CORE_BEFORE_USERMODE
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_DEBUG_WX
>   	select ARCH_HAS_ZONE_DMA_SET if EXPERT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
> diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
> index 4c0d83520ff1..0b0f0172cced 100644
> --- a/arch/xtensa/Kconfig
> +++ b/arch/xtensa/Kconfig
> @@ -11,7 +11,6 @@ config XTENSA
>   	select ARCH_HAS_DMA_SET_UNCACHED if MMU
>   	select ARCH_HAS_STRNCPY_FROM_USER if !KASAN
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_USE_MEMTEST
>   	select ARCH_USE_QUEUED_RWLOCKS
>   	select ARCH_USE_QUEUED_SPINLOCKS
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index 65b7f3d9ff87..fe28f19e3388 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -424,9 +424,6 @@ extern unsigned int kobjsize(const void *objp);
>    * mapping from the currently active vm_flags protection bits (the
>    * low four bits) to a page protection mask..
>    */
> -#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
> -extern pgprot_t protection_map[16];
> -#endif
>   
>   /*
>    * The default fault flags that should be used by most of the
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 169e64192e48..f47d257a053b 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -951,9 +951,6 @@ config ARCH_HAS_CURRENT_STACK_POINTER
>   	  register alias named "current_stack_pointer", this config can be
>   	  selected.
>   
> -config ARCH_HAS_VM_GET_PAGE_PROT
> -	bool
> -
>   config ARCH_HAS_PTE_DEVMAP
>   	bool
>   
> diff --git a/mm/mmap.c b/mm/mmap.c
> index 2cc722e162fa..02d6889f0ef6 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -81,28 +81,6 @@ static void unmap_region(struct mm_struct *mm,
>   		struct vm_area_struct *vma, struct vm_area_struct *prev,
>   		unsigned long start, unsigned long end);
>   
> -#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
> -pgprot_t protection_map[16] __ro_after_init = {
> -	[VM_NONE]					= __P000,
> -	[VM_READ]					= __P001,
> -	[VM_WRITE]					= __P010,
> -	[VM_WRITE | VM_READ]				= __P011,
> -	[VM_EXEC]					= __P100,
> -	[VM_EXEC | VM_READ]				= __P101,
> -	[VM_EXEC | VM_WRITE]				= __P110,
> -	[VM_EXEC | VM_WRITE | VM_READ]			= __P111,
> -	[VM_SHARED]					= __S000,
> -	[VM_SHARED | VM_READ]				= __S001,
> -	[VM_SHARED | VM_WRITE]				= __S010,
> -	[VM_SHARED | VM_WRITE | VM_READ]		= __S011,
> -	[VM_SHARED | VM_EXEC]				= __S100,
> -	[VM_SHARED | VM_EXEC | VM_READ]			= __S101,
> -	[VM_SHARED | VM_EXEC | VM_WRITE]		= __S110,
> -	[VM_SHARED | VM_EXEC | VM_WRITE | VM_READ]	= __S111
> -};
> -DECLARE_VM_GET_PAGE_PROT
> -#endif	/* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */
> -
>   static pgprot_t vm_pgprot_modify(pgprot_t oldprot, unsigned long vm_flags)
>   {
>   	return pgprot_modify(oldprot, vm_get_page_prot(vm_flags));

WARNING: multiple messages have this Message-ID (diff)
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: Anshuman Khandual <anshuman.khandual@arm.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Cc: "hch@infradead.org" <hch@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	"x86@kernel.org" <x86@kernel.org>,
	"openrisc@lists.librecores.org" <openrisc@lists.librecores.org>,
	"linux-xtensa@linux-xtensa.org" <linux-xtensa@linux-xtensa.org>,
	"linux-csky@vger.kernel.org" <linux-csky@vger.kernel.org>,
	"linux-hexagon@vger.kernel.org" <linux-hexagon@vger.kernel.org>,
	"linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>,
	"linux-alpha@vger.kernel.org" <linux-alpha@vger.kernel.org>,
	"linux-riscv@lists.infradead.org"
	<linux-riscv@lists.infradead.org>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
	"linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
	"linux-m68k@lists.linux-m68k.org"
	<linux-m68k@lists.linux-m68k.org>,
	"linux-snps-arc@lists.infradead.org"
	<linux-snps-arc@lists.infradead.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-um@lists.infradead.org" <linux-um@lists.infradead.org>,
	"linux-sh@vger.kernel.org" <linux-sh@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH V5 26/26] mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
Date: Mon, 27 Jun 2022 05:50:10 +0000	[thread overview]
Message-ID: <a88b8109-9b9a-fb97-c2df-25980c2e4d7a@csgroup.eu> (raw)
In-Reply-To: <20220627045833.1590055-27-anshuman.khandual@arm.com>

DQoNCkxlIDI3LzA2LzIwMjIgw6AgMDY6NTgsIEFuc2h1bWFuIEtoYW5kdWFsIGEgw6ljcml0wqA6
DQo+IE5vdyBhbGwgdGhlIHBsYXRmb3JtcyBlbmFibGUgQVJDSF9IQVNfR0VUX1BBR0VfUFJPVC4g
VGhleSBkZWZpbmUgYW5kIGV4cG9ydA0KPiBvd24gdm1fZ2V0X3BhZ2VfcHJvdCgpIHdoZXRoZXIg
Y3VzdG9tIG9yIHN0YW5kYXJkIERFQ0xBUkVfVk1fR0VUX1BBR0VfUFJPVC4NCj4gSGVuY2UgdGhl
cmUgaXMgbm8gbmVlZCBmb3IgZGVmYXVsdCBnZW5lcmljIGZhbGxiYWNrIGZvciB2bV9nZXRfcGFn
ZV9wcm90KCkuDQo+IEp1c3QgZHJvcCB0aGlzIGZhbGxiYWNrIGFuZCBhbHNvIEFSQ0hfSEFTX0dF
VF9QQUdFX1BST1QgbWVjaGFuaXNtLg0KPiANCj4gQ2M6IEFuZHJldyBNb3J0b24gPGFrcG1AbGlu
dXgtZm91bmRhdGlvbi5vcmc+DQo+IENjOiBsaW51eC1tbUBrdmFjay5vcmcNCj4gQ2M6IGxpbnV4
LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcNCj4gUmV2aWV3ZWQtYnk6IENocmlzdG9waCBIZWxsd2ln
IDxoY2hAbHN0LmRlPg0KPiBTaWduZWQtb2ZmLWJ5OiBBbnNodW1hbiBLaGFuZHVhbCA8YW5zaHVt
YW4ua2hhbmR1YWxAYXJtLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IENocmlzdG9waGUgTGVyb3kgPGNo
cmlzdG9waGUubGVyb3lAY3Nncm91cC5ldT4NCg0KPiAtLS0NCj4gICBhcmNoL2FscGhhL0tjb25m
aWcgICAgICB8ICAxIC0NCj4gICBhcmNoL2FyYy9LY29uZmlnICAgICAgICB8ICAxIC0NCj4gICBh
cmNoL2FybS9LY29uZmlnICAgICAgICB8ICAxIC0NCj4gICBhcmNoL2FybTY0L0tjb25maWcgICAg
ICB8ICAxIC0NCj4gICBhcmNoL2Nza3kvS2NvbmZpZyAgICAgICB8ICAxIC0NCj4gICBhcmNoL2hl
eGFnb24vS2NvbmZpZyAgICB8ICAxIC0NCj4gICBhcmNoL2lhNjQvS2NvbmZpZyAgICAgICB8ICAx
IC0NCj4gICBhcmNoL2xvb25nYXJjaC9LY29uZmlnICB8ICAxIC0NCj4gICBhcmNoL202OGsvS2Nv
bmZpZyAgICAgICB8ICAxIC0NCj4gICBhcmNoL21pY3JvYmxhemUvS2NvbmZpZyB8ICAxIC0NCj4g
ICBhcmNoL21pcHMvS2NvbmZpZyAgICAgICB8ICAxIC0NCj4gICBhcmNoL25pb3MyL0tjb25maWcg
ICAgICB8ICAxIC0NCj4gICBhcmNoL29wZW5yaXNjL0tjb25maWcgICB8ICAxIC0NCj4gICBhcmNo
L3BhcmlzYy9LY29uZmlnICAgICB8ICAxIC0NCj4gICBhcmNoL3Bvd2VycGMvS2NvbmZpZyAgICB8
ICAxIC0NCj4gICBhcmNoL3Jpc2N2L0tjb25maWcgICAgICB8ICAxIC0NCj4gICBhcmNoL3MzOTAv
S2NvbmZpZyAgICAgICB8ICAxIC0NCj4gICBhcmNoL3NoL0tjb25maWcgICAgICAgICB8ICAxIC0N
Cj4gICBhcmNoL3NwYXJjL0tjb25maWcgICAgICB8ICAxIC0NCj4gICBhcmNoL3VtL0tjb25maWcg
ICAgICAgICB8ICAxIC0NCj4gICBhcmNoL3g4Ni9LY29uZmlnICAgICAgICB8ICAxIC0NCj4gICBh
cmNoL3h0ZW5zYS9LY29uZmlnICAgICB8ICAxIC0NCj4gICBpbmNsdWRlL2xpbnV4L21tLmggICAg
ICB8ICAzIC0tLQ0KPiAgIG1tL0tjb25maWcgICAgICAgICAgICAgIHwgIDMgLS0tDQo+ICAgbW0v
bW1hcC5jICAgICAgICAgICAgICAgfCAyMiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICAgMjUg
ZmlsZXMgY2hhbmdlZCwgNTAgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvYXJjaC9h
bHBoYS9LY29uZmlnIGIvYXJjaC9hbHBoYS9LY29uZmlnDQo+IGluZGV4IGRiMWM4YjMyOTQ2MS4u
N2QwZDI2YjViM2Y1IDEwMDY0NA0KPiAtLS0gYS9hcmNoL2FscGhhL0tjb25maWcNCj4gKysrIGIv
YXJjaC9hbHBoYS9LY29uZmlnDQo+IEBAIC0yLDcgKzIsNiBAQA0KPiAgIGNvbmZpZyBBTFBIQQ0K
PiAgIAlib29sDQo+ICAgCWRlZmF1bHQgeQ0KPiAtCXNlbGVjdCBBUkNIX0hBU19WTV9HRVRfUEFH
RV9QUk9UDQo+ICAgCXNlbGVjdCBBUkNIXzMyQklUX1VTVEFUX0ZfVElOT0RFDQo+ICAgCXNlbGVj
dCBBUkNIX01JR0hUX0hBVkVfUENfUEFSUE9SVA0KPiAgIAlzZWxlY3QgQVJDSF9NSUdIVF9IQVZF
X1BDX1NFUklPDQo+IGRpZmYgLS1naXQgYS9hcmNoL2FyYy9LY29uZmlnIGIvYXJjaC9hcmMvS2Nv
bmZpZw0KPiBpbmRleCA4YmU1NmE1ZDhhOWIuLjllMzY1MzI1M2VmMiAxMDA2NDQNCj4gLS0tIGEv
YXJjaC9hcmMvS2NvbmZpZw0KPiArKysgYi9hcmNoL2FyYy9LY29uZmlnDQo+IEBAIC0xMyw3ICsx
Myw2IEBAIGNvbmZpZyBBUkMNCj4gICAJc2VsZWN0IEFSQ0hfSEFTX1NFVFVQX0RNQV9PUFMNCj4g
ICAJc2VsZWN0IEFSQ0hfSEFTX1NZTkNfRE1BX0ZPUl9DUFUNCj4gICAJc2VsZWN0IEFSQ0hfSEFT
X1NZTkNfRE1BX0ZPUl9ERVZJQ0UNCj4gLQlzZWxlY3QgQVJDSF9IQVNfVk1fR0VUX1BBR0VfUFJP
VA0KPiAgIAlzZWxlY3QgQVJDSF9TVVBQT1JUU19BVE9NSUNfUk1XIGlmIEFSQ19IQVNfTExTQw0K
PiAgIAlzZWxlY3QgQVJDSF8zMkJJVF9PRkZfVA0KPiAgIAlzZWxlY3QgQlVJTERUSU1FX1RBQkxF
X1NPUlQNCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL0tjb25maWcgYi9hcmNoL2FybS9LY29uZmln
DQo+IGluZGV4IGUxNTNiNmQ0ZmM1Yi4uNzYzMGJhOWNiNmNjIDEwMDY0NA0KPiAtLS0gYS9hcmNo
L2FybS9LY29uZmlnDQo+ICsrKyBiL2FyY2gvYXJtL0tjb25maWcNCj4gQEAgLTI0LDcgKzI0LDYg
QEAgY29uZmlnIEFSTQ0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfU1lOQ19ETUFfRk9SX0NQVSBpZiBT
V0lPVExCIHx8ICFNTVUNCj4gICAJc2VsZWN0IEFSQ0hfSEFTX1RFQVJET1dOX0RNQV9PUFMgaWYg
TU1VDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19USUNLX0JST0FEQ0FTVCBpZiBHRU5FUklDX0NMT0NL
RVZFTlRTX0JST0FEQ0FTVA0KPiAtCXNlbGVjdCBBUkNIX0hBU19WTV9HRVRfUEFHRV9QUk9UDQo+
ICAgCXNlbGVjdCBBUkNIX0hBVkVfQ1VTVE9NX0dQSU9fSA0KPiAgIAlzZWxlY3QgQVJDSF9IQVZF
X05NSV9TQUZFX0NNUFhDSEcgaWYgQ1BVX1Y3IHx8IENQVV9WN00gfHwgQ1BVX1Y2Sw0KPiAgIAlz
ZWxlY3QgQVJDSF9IQVNfR0NPVl9QUk9GSUxFX0FMTA0KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02
NC9LY29uZmlnIGIvYXJjaC9hcm02NC9LY29uZmlnDQo+IGluZGV4IDE2NTJhOTgwMGViZS4uNzAz
MGJmM2Y4ZDZmIDEwMDY0NA0KPiAtLS0gYS9hcmNoL2FybTY0L0tjb25maWcNCj4gKysrIGIvYXJj
aC9hcm02NC9LY29uZmlnDQo+IEBAIC00NSw3ICs0NSw2IEBAIGNvbmZpZyBBUk02NA0KPiAgIAlz
ZWxlY3QgQVJDSF9IQVNfU1lTQ0FMTF9XUkFQUEVSDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19URUFS
RE9XTl9ETUFfT1BTIGlmIElPTU1VX1NVUFBPUlQNCj4gICAJc2VsZWN0IEFSQ0hfSEFTX1RJQ0tf
QlJPQURDQVNUIGlmIEdFTkVSSUNfQ0xPQ0tFVkVOVFNfQlJPQURDQVNUDQo+IC0Jc2VsZWN0IEFS
Q0hfSEFTX1ZNX0dFVF9QQUdFX1BST1QNCj4gICAJc2VsZWN0IEFSQ0hfSEFTX1pPTkVfRE1BX1NF
VCBpZiBFWFBFUlQNCj4gICAJc2VsZWN0IEFSQ0hfSEFWRV9FTEZfUFJPVA0KPiAgIAlzZWxlY3Qg
QVJDSF9IQVZFX05NSV9TQUZFX0NNUFhDSEcNCj4gZGlmZiAtLWdpdCBhL2FyY2gvY3NreS9LY29u
ZmlnIGIvYXJjaC9jc2t5L0tjb25maWcNCj4gaW5kZXggNTg4YjhhOWM2OGVkLi4yMWQ3MmIwNzhl
ZWYgMTAwNjQ0DQo+IC0tLSBhL2FyY2gvY3NreS9LY29uZmlnDQo+ICsrKyBiL2FyY2gvY3NreS9L
Y29uZmlnDQo+IEBAIC02LDcgKzYsNiBAQCBjb25maWcgQ1NLWQ0KPiAgIAlzZWxlY3QgQVJDSF9I
QVNfR0NPVl9QUk9GSUxFX0FMTA0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfU1lOQ19ETUFfRk9SX0NQ
VQ0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfU1lOQ19ETUFfRk9SX0RFVklDRQ0KPiAtCXNlbGVjdCBB
UkNIX0hBU19WTV9HRVRfUEFHRV9QUk9UDQo+ICAgCXNlbGVjdCBBUkNIX1VTRV9CVUlMVElOX0JT
V0FQDQo+ICAgCXNlbGVjdCBBUkNIX1VTRV9RVUVVRURfUldMT0NLUw0KPiAgIAlzZWxlY3QgQVJD
SF9XQU5UX0ZSQU1FX1BPSU5URVJTIGlmICFDUFVfQ0s2MTAgJiYgJChjYy1vcHRpb24sLW1iYWNr
dHJhY2UpDQo+IGRpZmYgLS1naXQgYS9hcmNoL2hleGFnb24vS2NvbmZpZyBiL2FyY2gvaGV4YWdv
bi9LY29uZmlnDQo+IGluZGV4IGJjNGNlZWNkMDU4OC4uNTRlYWRmMjY1MTc4IDEwMDY0NA0KPiAt
LS0gYS9hcmNoL2hleGFnb24vS2NvbmZpZw0KPiArKysgYi9hcmNoL2hleGFnb24vS2NvbmZpZw0K
PiBAQCAtNiw3ICs2LDYgQEAgY29uZmlnIEhFWEFHT04NCj4gICAJZGVmX2Jvb2wgeQ0KPiAgIAlz
ZWxlY3QgQVJDSF8zMkJJVF9PRkZfVA0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfU1lOQ19ETUFfRk9S
X0RFVklDRQ0KPiAtCXNlbGVjdCBBUkNIX0hBU19WTV9HRVRfUEFHRV9QUk9UDQo+ICAgCXNlbGVj
dCBBUkNIX05PX1BSRUVNUFQNCj4gICAJc2VsZWN0IERNQV9HTE9CQUxfUE9PTA0KPiAgIAkjIE90
aGVyIHBlbmRpbmcgcHJvamVjdHMvdG8tZG8gaXRlbXMuDQo+IGRpZmYgLS1naXQgYS9hcmNoL2lh
NjQvS2NvbmZpZyBiL2FyY2gvaWE2NC9LY29uZmlnDQo+IGluZGV4IDA1MTBhNTczNzcxMS4uY2I5
Mzc2OWE5ZjJhIDEwMDY0NA0KPiAtLS0gYS9hcmNoL2lhNjQvS2NvbmZpZw0KPiArKysgYi9hcmNo
L2lhNjQvS2NvbmZpZw0KPiBAQCAtMTIsNyArMTIsNiBAQCBjb25maWcgSUE2NA0KPiAgIAlzZWxl
Y3QgQVJDSF9IQVNfRE1BX01BUktfQ0xFQU4NCj4gICAJc2VsZWN0IEFSQ0hfSEFTX1NUUk5DUFlf
RlJPTV9VU0VSDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19TVFJOTEVOX1VTRVINCj4gLQlzZWxlY3Qg
QVJDSF9IQVNfVk1fR0VUX1BBR0VfUFJPVA0KPiAgIAlzZWxlY3QgQVJDSF9NSUdIVF9IQVZFX1BD
X1BBUlBPUlQNCj4gICAJc2VsZWN0IEFSQ0hfTUlHSFRfSEFWRV9QQ19TRVJJTw0KPiAgIAlzZWxl
Y3QgQUNQSQ0KPiBkaWZmIC0tZ2l0IGEvYXJjaC9sb29uZ2FyY2gvS2NvbmZpZyBiL2FyY2gvbG9v
bmdhcmNoL0tjb25maWcNCj4gaW5kZXggZmQwN2I4ZTc2MGVlLi4xOTIwZDUyNjUzYjQgMTAwNjQ0
DQo+IC0tLSBhL2FyY2gvbG9vbmdhcmNoL0tjb25maWcNCj4gKysrIGIvYXJjaC9sb29uZ2FyY2gv
S2NvbmZpZw0KPiBAQCAtOSw3ICs5LDYgQEAgY29uZmlnIExPT05HQVJDSA0KPiAgIAlzZWxlY3Qg
QVJDSF9IQVNfQUNQSV9UQUJMRV9VUEdSQURFCWlmIEFDUEkNCj4gICAJc2VsZWN0IEFSQ0hfSEFT
X1BIWVNfVE9fRE1BDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19QVEVfU1BFQ0lBTA0KPiAtCXNlbGVj
dCBBUkNIX0hBU19WTV9HRVRfUEFHRV9QUk9UDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19USUNLX0JS
T0FEQ0FTVCBpZiBHRU5FUklDX0NMT0NLRVZFTlRTX0JST0FEQ0FTVA0KPiAgIAlzZWxlY3QgQVJD
SF9JTkxJTkVfUkVBRF9MT0NLIGlmICFQUkVFTVBUSU9ODQo+ICAgCXNlbGVjdCBBUkNIX0lOTElO
RV9SRUFEX0xPQ0tfQkggaWYgIVBSRUVNUFRJT04NCj4gZGlmZiAtLWdpdCBhL2FyY2gvbTY4ay9L
Y29uZmlnIGIvYXJjaC9tNjhrL0tjb25maWcNCj4gaW5kZXggNDlhYTBjZjEzZTk2Li45MzZjY2U0
MmFlOWEgMTAwNjQ0DQo+IC0tLSBhL2FyY2gvbTY4ay9LY29uZmlnDQo+ICsrKyBiL2FyY2gvbTY4
ay9LY29uZmlnDQo+IEBAIC03LDcgKzcsNiBAQCBjb25maWcgTTY4Sw0KPiAgIAlzZWxlY3QgQVJD
SF9IQVNfQ1VSUkVOVF9TVEFDS19QT0lOVEVSDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19ETUFfUFJF
UF9DT0hFUkVOVCBpZiBIQVNfRE1BICYmIE1NVSAmJiAhQ09MREZJUkUNCj4gICAJc2VsZWN0IEFS
Q0hfSEFTX1NZTkNfRE1BX0ZPUl9ERVZJQ0UgaWYgSEFTX0RNQQ0KPiAtCXNlbGVjdCBBUkNIX0hB
U19WTV9HRVRfUEFHRV9QUk9UDQo+ICAgCXNlbGVjdCBBUkNIX0hBVkVfTk1JX1NBRkVfQ01QWENI
RyBpZiBSTVdfSU5TTlMNCj4gICAJc2VsZWN0IEFSQ0hfTUlHSFRfSEFWRV9QQ19QQVJQT1JUIGlm
IElTQQ0KPiAgIAlzZWxlY3QgQVJDSF9OT19QUkVFTVBUIGlmICFDT0xERklSRQ0KPiBkaWZmIC0t
Z2l0IGEvYXJjaC9taWNyb2JsYXplL0tjb25maWcgYi9hcmNoL21pY3JvYmxhemUvS2NvbmZpZw0K
PiBpbmRleCAxNWY5MWJhOGEwYzQuLjhjZjQyOWFkMWM4NCAxMDA2NDQNCj4gLS0tIGEvYXJjaC9t
aWNyb2JsYXplL0tjb25maWcNCj4gKysrIGIvYXJjaC9taWNyb2JsYXplL0tjb25maWcNCj4gQEAg
LTcsNyArNyw2IEBAIGNvbmZpZyBNSUNST0JMQVpFDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19HQ09W
X1BST0ZJTEVfQUxMDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19TWU5DX0RNQV9GT1JfQ1BVDQo+ICAg
CXNlbGVjdCBBUkNIX0hBU19TWU5DX0RNQV9GT1JfREVWSUNFDQo+IC0Jc2VsZWN0IEFSQ0hfSEFT
X1ZNX0dFVF9QQUdFX1BST1QNCj4gICAJc2VsZWN0IEFSQ0hfTUlHSFRfSEFWRV9QQ19QQVJQT1JU
DQo+ICAgCXNlbGVjdCBBUkNIX1dBTlRfSVBDX1BBUlNFX1ZFUlNJT04NCj4gICAJc2VsZWN0IEJV
SUxEVElNRV9UQUJMRV9TT1JUDQo+IGRpZmYgLS1naXQgYS9hcmNoL21pcHMvS2NvbmZpZyBiL2Fy
Y2gvbWlwcy9LY29uZmlnDQo+IGluZGV4IGQwYjdlYjExZWM4MS4uZGIwOWQ0NWQ1OWVjIDEwMDY0
NA0KPiAtLS0gYS9hcmNoL21pcHMvS2NvbmZpZw0KPiArKysgYi9hcmNoL21pcHMvS2NvbmZpZw0K
PiBAQCAtMTQsNyArMTQsNiBAQCBjb25maWcgTUlQUw0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfU1RS
TkxFTl9VU0VSDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19USUNLX0JST0FEQ0FTVCBpZiBHRU5FUklD
X0NMT0NLRVZFTlRTX0JST0FEQ0FTVA0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfVUJTQU5fU0FOSVRJ
WkVfQUxMDQo+IC0Jc2VsZWN0IEFSQ0hfSEFTX1ZNX0dFVF9QQUdFX1BST1QNCj4gICAJc2VsZWN0
IEFSQ0hfSEFTX0dDT1ZfUFJPRklMRV9BTEwNCj4gICAJc2VsZWN0IEFSQ0hfS0VFUF9NRU1CTE9D
Sw0KPiAgIAlzZWxlY3QgQVJDSF9TVVBQT1JUU19VUFJPQkVTDQo+IGRpZmYgLS1naXQgYS9hcmNo
L25pb3MyL0tjb25maWcgYi9hcmNoL25pb3MyL0tjb25maWcNCj4gaW5kZXggZTA0NTlkZmZkMjE4
Li40MTY3ZjFlYjRjZDggMTAwNjQ0DQo+IC0tLSBhL2FyY2gvbmlvczIvS2NvbmZpZw0KPiArKysg
Yi9hcmNoL25pb3MyL0tjb25maWcNCj4gQEAgLTYsNyArNiw2IEBAIGNvbmZpZyBOSU9TMg0KPiAg
IAlzZWxlY3QgQVJDSF9IQVNfU1lOQ19ETUFfRk9SX0NQVQ0KPiAgIAlzZWxlY3QgQVJDSF9IQVNf
U1lOQ19ETUFfRk9SX0RFVklDRQ0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfRE1BX1NFVF9VTkNBQ0hF
RA0KPiAtCXNlbGVjdCBBUkNIX0hBU19WTV9HRVRfUEFHRV9QUk9UDQo+ICAgCXNlbGVjdCBBUkNI
X05PX1NXQVANCj4gICAJc2VsZWN0IENPTU1PTl9DTEsNCj4gICAJc2VsZWN0IFRJTUVSX09GDQo+
IGRpZmYgLS1naXQgYS9hcmNoL29wZW5yaXNjL0tjb25maWcgYi9hcmNoL29wZW5yaXNjL0tjb25m
aWcNCj4gaW5kZXggZmUwZGZiNTBlYjg2Li5lODE0ZGY0YzQ4M2MgMTAwNjQ0DQo+IC0tLSBhL2Fy
Y2gvb3BlbnJpc2MvS2NvbmZpZw0KPiArKysgYi9hcmNoL29wZW5yaXNjL0tjb25maWcNCj4gQEAg
LTEwLDcgKzEwLDYgQEAgY29uZmlnIE9QRU5SSVNDDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19ETUFf
U0VUX1VOQ0FDSEVEDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19ETUFfQ0xFQVJfVU5DQUNIRUQNCj4g
ICAJc2VsZWN0IEFSQ0hfSEFTX1NZTkNfRE1BX0ZPUl9ERVZJQ0UNCj4gLQlzZWxlY3QgQVJDSF9I
QVNfVk1fR0VUX1BBR0VfUFJPVA0KPiAgIAlzZWxlY3QgQ09NTU9OX0NMSw0KPiAgIAlzZWxlY3Qg
T0YNCj4gICAJc2VsZWN0IE9GX0VBUkxZX0ZMQVRUUkVFDQo+IGRpZmYgLS1naXQgYS9hcmNoL3Bh
cmlzYy9LY29uZmlnIGIvYXJjaC9wYXJpc2MvS2NvbmZpZw0KPiBpbmRleCA5MGVhYmM4NDZmODEu
LjVmMjQ0OGRjNWEyYiAxMDA2NDQNCj4gLS0tIGEvYXJjaC9wYXJpc2MvS2NvbmZpZw0KPiArKysg
Yi9hcmNoL3BhcmlzYy9LY29uZmlnDQo+IEBAIC0xMSw3ICsxMSw2IEBAIGNvbmZpZyBQQVJJU0MN
Cj4gICAJc2VsZWN0IEFSQ0hfSEFTX0VMRl9SQU5ET01JWkUNCj4gICAJc2VsZWN0IEFSQ0hfSEFT
X1NUUklDVF9LRVJORUxfUldYDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19VQlNBTl9TQU5JVElaRV9B
TEwNCj4gLQlzZWxlY3QgQVJDSF9IQVNfVk1fR0VUX1BBR0VfUFJPVA0KPiAgIAlzZWxlY3QgQVJD
SF9IQVNfUFRFX1NQRUNJQUwNCj4gICAJc2VsZWN0IEFSQ0hfTk9fU0dfQ0hBSU4NCj4gICAJc2Vs
ZWN0IEFSQ0hfU1VQUE9SVFNfSFVHRVRMQkZTIGlmIFBBMjANCj4gZGlmZiAtLWdpdCBhL2FyY2gv
cG93ZXJwYy9LY29uZmlnIGIvYXJjaC9wb3dlcnBjL0tjb25maWcNCj4gaW5kZXggMTAzNWQxNzJj
N2RkLi4yNTBiODY1OGIyZDQgMTAwNjQ0DQo+IC0tLSBhL2FyY2gvcG93ZXJwYy9LY29uZmlnDQo+
ICsrKyBiL2FyY2gvcG93ZXJwYy9LY29uZmlnDQo+IEBAIC0xNDAsNyArMTQwLDYgQEAgY29uZmln
IFBQQw0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfVElDS19CUk9BRENBU1QJCWlmIEdFTkVSSUNfQ0xP
Q0tFVkVOVFNfQlJPQURDQVNUDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19VQUNDRVNTX0ZMVVNIQ0FD
SEUNCj4gICAJc2VsZWN0IEFSQ0hfSEFTX1VCU0FOX1NBTklUSVpFX0FMTA0KPiAtCXNlbGVjdCBB
UkNIX0hBU19WTV9HRVRfUEFHRV9QUk9UDQo+ICAgCXNlbGVjdCBBUkNIX0hBVkVfTk1JX1NBRkVf
Q01QWENIRw0KPiAgIAlzZWxlY3QgQVJDSF9LRUVQX01FTUJMT0NLDQo+ICAgCXNlbGVjdCBBUkNI
X01JR0hUX0hBVkVfUENfUEFSUE9SVA0KPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9LY29uZmln
IGIvYXJjaC9yaXNjdi9LY29uZmlnDQo+IGluZGV4IDU4MzM4OWQ0ZTQzYS4uMzJmZmVmOWY2ZTVi
IDEwMDY0NA0KPiAtLS0gYS9hcmNoL3Jpc2N2L0tjb25maWcNCj4gKysrIGIvYXJjaC9yaXNjdi9L
Y29uZmlnDQo+IEBAIC0zMiw3ICszMiw2IEBAIGNvbmZpZyBSSVNDVg0KPiAgIAlzZWxlY3QgQVJD
SF9IQVNfU1RSSUNUX01PRFVMRV9SV1ggaWYgTU1VICYmICFYSVBfS0VSTkVMDQo+ICAgCXNlbGVj
dCBBUkNIX0hBU19USUNLX0JST0FEQ0FTVCBpZiBHRU5FUklDX0NMT0NLRVZFTlRTX0JST0FEQ0FT
VA0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfVUJTQU5fU0FOSVRJWkVfQUxMDQo+IC0Jc2VsZWN0IEFS
Q0hfSEFTX1ZNX0dFVF9QQUdFX1BST1QNCj4gICAJc2VsZWN0IEFSQ0hfT1BUSU9OQUxfS0VSTkVM
X1JXWCBpZiBBUkNIX0hBU19TVFJJQ1RfS0VSTkVMX1JXWA0KPiAgIAlzZWxlY3QgQVJDSF9PUFRJ
T05BTF9LRVJORUxfUldYX0RFRkFVTFQNCj4gICAJc2VsZWN0IEFSQ0hfU1RBQ0tXQUxLDQo+IGRp
ZmYgLS1naXQgYS9hcmNoL3MzOTAvS2NvbmZpZyBiL2FyY2gvczM5MC9LY29uZmlnDQo+IGluZGV4
IGM0NDgxMzc3Y2E4My4uOTFjMGI4MGE4YmYwIDEwMDY0NA0KPiAtLS0gYS9hcmNoL3MzOTAvS2Nv
bmZpZw0KPiArKysgYi9hcmNoL3MzOTAvS2NvbmZpZw0KPiBAQCAtODEsNyArODEsNiBAQCBjb25m
aWcgUzM5MA0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfU1lTQ0FMTF9XUkFQUEVSDQo+ICAgCXNlbGVj
dCBBUkNIX0hBU19VQlNBTl9TQU5JVElaRV9BTEwNCj4gICAJc2VsZWN0IEFSQ0hfSEFTX1ZEU09f
REFUQQ0KPiAtCXNlbGVjdCBBUkNIX0hBU19WTV9HRVRfUEFHRV9QUk9UDQo+ICAgCXNlbGVjdCBB
UkNIX0hBVkVfTk1JX1NBRkVfQ01QWENIRw0KPiAgIAlzZWxlY3QgQVJDSF9JTkxJTkVfUkVBRF9M
T0NLDQo+ICAgCXNlbGVjdCBBUkNIX0lOTElORV9SRUFEX0xPQ0tfQkgNCj4gZGlmZiAtLWdpdCBh
L2FyY2gvc2gvS2NvbmZpZyBiL2FyY2gvc2gvS2NvbmZpZw0KPiBpbmRleCA5MWYzZWEzMjUzODgu
LjVmMjIwZTkwM2U1YSAxMDA2NDQNCj4gLS0tIGEvYXJjaC9zaC9LY29uZmlnDQo+ICsrKyBiL2Fy
Y2gvc2gvS2NvbmZpZw0KPiBAQCAtMTIsNyArMTIsNiBAQCBjb25maWcgU1VQRVJIDQo+ICAgCXNl
bGVjdCBBUkNIX0hBU19HQ09WX1BST0ZJTEVfQUxMDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19QVEVf
U1BFQ0lBTA0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfVElDS19CUk9BRENBU1QgaWYgR0VORVJJQ19D
TE9DS0VWRU5UU19CUk9BRENBU1QNCj4gLQlzZWxlY3QgQVJDSF9IQVNfVk1fR0VUX1BBR0VfUFJP
VA0KPiAgIAlzZWxlY3QgQVJDSF9ISUJFUk5BVElPTl9QT1NTSUJMRSBpZiBNTVUNCj4gICAJc2Vs
ZWN0IEFSQ0hfTUlHSFRfSEFWRV9QQ19QQVJQT1JUDQo+ICAgCXNlbGVjdCBBUkNIX1dBTlRfSVBD
X1BBUlNFX1ZFUlNJT04NCj4gZGlmZiAtLWdpdCBhL2FyY2gvc3BhcmMvS2NvbmZpZyBiL2FyY2gv
c3BhcmMvS2NvbmZpZw0KPiBpbmRleCAwOWY4Njg2MTNhNGQuLjljMWNjZTc0OTUzYSAxMDA2NDQN
Cj4gLS0tIGEvYXJjaC9zcGFyYy9LY29uZmlnDQo+ICsrKyBiL2FyY2gvc3BhcmMvS2NvbmZpZw0K
PiBAQCAtMTMsNyArMTMsNiBAQCBjb25maWcgNjRCSVQNCj4gICBjb25maWcgU1BBUkMNCj4gICAJ
Ym9vbA0KPiAgIAlkZWZhdWx0IHkNCj4gLQlzZWxlY3QgQVJDSF9IQVNfVk1fR0VUX1BBR0VfUFJP
VA0KPiAgIAlzZWxlY3QgQVJDSF9NSUdIVF9IQVZFX1BDX1BBUlBPUlQgaWYgU1BBUkM2NCAmJiBQ
Q0kNCj4gICAJc2VsZWN0IEFSQ0hfTUlHSFRfSEFWRV9QQ19TRVJJTw0KPiAgIAlzZWxlY3QgRE1B
X09QUw0KPiBkaWZmIC0tZ2l0IGEvYXJjaC91bS9LY29uZmlnIGIvYXJjaC91bS9LY29uZmlnDQo+
IGluZGV4IDdmYjQzNjU0ZTViNS4uNGVjMjJlMTU2YTJlIDEwMDY0NA0KPiAtLS0gYS9hcmNoL3Vt
L0tjb25maWcNCj4gKysrIGIvYXJjaC91bS9LY29uZmlnDQo+IEBAIC0xMCw3ICsxMCw2IEBAIGNv
bmZpZyBVTUwNCj4gICAJc2VsZWN0IEFSQ0hfSEFTX0tDT1YNCj4gICAJc2VsZWN0IEFSQ0hfSEFT
X1NUUk5DUFlfRlJPTV9VU0VSDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19TVFJOTEVOX1VTRVINCj4g
LQlzZWxlY3QgQVJDSF9IQVNfVk1fR0VUX1BBR0VfUFJPVA0KPiAgIAlzZWxlY3QgQVJDSF9OT19Q
UkVFTVBUDQo+ICAgCXNlbGVjdCBIQVZFX0FSQ0hfQVVESVRTWVNDQUxMDQo+ICAgCXNlbGVjdCBI
QVZFX0FSQ0hfU0VDQ09NUF9GSUxURVINCj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L0tjb25maWcg
Yi9hcmNoL3g4Ni9LY29uZmlnDQo+IGluZGV4IGJlMGI5NWU1MWRmNi4uODQxZTQ4NDNkMGM0IDEw
MDY0NA0KPiAtLS0gYS9hcmNoL3g4Ni9LY29uZmlnDQo+ICsrKyBiL2FyY2gveDg2L0tjb25maWcN
Cj4gQEAgLTk0LDcgKzk0LDYgQEAgY29uZmlnIFg4Ng0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfU1lO
Q19DT1JFX0JFRk9SRV9VU0VSTU9ERQ0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfU1lTQ0FMTF9XUkFQ
UEVSDQo+ICAgCXNlbGVjdCBBUkNIX0hBU19VQlNBTl9TQU5JVElaRV9BTEwNCj4gLQlzZWxlY3Qg
QVJDSF9IQVNfVk1fR0VUX1BBR0VfUFJPVA0KPiAgIAlzZWxlY3QgQVJDSF9IQVNfREVCVUdfV1gN
Cj4gICAJc2VsZWN0IEFSQ0hfSEFTX1pPTkVfRE1BX1NFVCBpZiBFWFBFUlQNCj4gICAJc2VsZWN0
IEFSQ0hfSEFWRV9OTUlfU0FGRV9DTVBYQ0hHDQo+IGRpZmYgLS1naXQgYS9hcmNoL3h0ZW5zYS9L
Y29uZmlnIGIvYXJjaC94dGVuc2EvS2NvbmZpZw0KPiBpbmRleCA0YzBkODM1MjBmZjEuLjBiMGYw
MTcyY2NlZCAxMDA2NDQNCj4gLS0tIGEvYXJjaC94dGVuc2EvS2NvbmZpZw0KPiArKysgYi9hcmNo
L3h0ZW5zYS9LY29uZmlnDQo+IEBAIC0xMSw3ICsxMSw2IEBAIGNvbmZpZyBYVEVOU0ENCj4gICAJ
c2VsZWN0IEFSQ0hfSEFTX0RNQV9TRVRfVU5DQUNIRUQgaWYgTU1VDQo+ICAgCXNlbGVjdCBBUkNI
X0hBU19TVFJOQ1BZX0ZST01fVVNFUiBpZiAhS0FTQU4NCj4gICAJc2VsZWN0IEFSQ0hfSEFTX1NU
Uk5MRU5fVVNFUg0KPiAtCXNlbGVjdCBBUkNIX0hBU19WTV9HRVRfUEFHRV9QUk9UDQo+ICAgCXNl
bGVjdCBBUkNIX1VTRV9NRU1URVNUDQo+ICAgCXNlbGVjdCBBUkNIX1VTRV9RVUVVRURfUldMT0NL
Uw0KPiAgIAlzZWxlY3QgQVJDSF9VU0VfUVVFVUVEX1NQSU5MT0NLUw0KPiBkaWZmIC0tZ2l0IGEv
aW5jbHVkZS9saW51eC9tbS5oIGIvaW5jbHVkZS9saW51eC9tbS5oDQo+IGluZGV4IDY1YjdmM2Q5
ZmY4Ny4uZmUyOGYxOWUzMzg4IDEwMDY0NA0KPiAtLS0gYS9pbmNsdWRlL2xpbnV4L21tLmgNCj4g
KysrIGIvaW5jbHVkZS9saW51eC9tbS5oDQo+IEBAIC00MjQsOSArNDI0LDYgQEAgZXh0ZXJuIHVu
c2lnbmVkIGludCBrb2Jqc2l6ZShjb25zdCB2b2lkICpvYmpwKTsNCj4gICAgKiBtYXBwaW5nIGZy
b20gdGhlIGN1cnJlbnRseSBhY3RpdmUgdm1fZmxhZ3MgcHJvdGVjdGlvbiBiaXRzICh0aGUNCj4g
ICAgKiBsb3cgZm91ciBiaXRzKSB0byBhIHBhZ2UgcHJvdGVjdGlvbiBtYXNrLi4NCj4gICAgKi8N
Cj4gLSNpZm5kZWYgQ09ORklHX0FSQ0hfSEFTX1ZNX0dFVF9QQUdFX1BST1QNCj4gLWV4dGVybiBw
Z3Byb3RfdCBwcm90ZWN0aW9uX21hcFsxNl07DQo+IC0jZW5kaWYNCj4gICANCj4gICAvKg0KPiAg
ICAqIFRoZSBkZWZhdWx0IGZhdWx0IGZsYWdzIHRoYXQgc2hvdWxkIGJlIHVzZWQgYnkgbW9zdCBv
ZiB0aGUNCj4gZGlmZiAtLWdpdCBhL21tL0tjb25maWcgYi9tbS9LY29uZmlnDQo+IGluZGV4IDE2
OWU2NDE5MmU0OC4uZjQ3ZDI1N2EwNTNiIDEwMDY0NA0KPiAtLS0gYS9tbS9LY29uZmlnDQo+ICsr
KyBiL21tL0tjb25maWcNCj4gQEAgLTk1MSw5ICs5NTEsNiBAQCBjb25maWcgQVJDSF9IQVNfQ1VS
UkVOVF9TVEFDS19QT0lOVEVSDQo+ICAgCSAgcmVnaXN0ZXIgYWxpYXMgbmFtZWQgImN1cnJlbnRf
c3RhY2tfcG9pbnRlciIsIHRoaXMgY29uZmlnIGNhbiBiZQ0KPiAgIAkgIHNlbGVjdGVkLg0KPiAg
IA0KPiAtY29uZmlnIEFSQ0hfSEFTX1ZNX0dFVF9QQUdFX1BST1QNCj4gLQlib29sDQo+IC0NCj4g
ICBjb25maWcgQVJDSF9IQVNfUFRFX0RFVk1BUA0KPiAgIAlib29sDQo+ICAgDQo+IGRpZmYgLS1n
aXQgYS9tbS9tbWFwLmMgYi9tbS9tbWFwLmMNCj4gaW5kZXggMmNjNzIyZTE2MmZhLi4wMmQ2ODg5
ZjBlZjYgMTAwNjQ0DQo+IC0tLSBhL21tL21tYXAuYw0KPiArKysgYi9tbS9tbWFwLmMNCj4gQEAg
LTgxLDI4ICs4MSw2IEBAIHN0YXRpYyB2b2lkIHVubWFwX3JlZ2lvbihzdHJ1Y3QgbW1fc3RydWN0
ICptbSwNCj4gICAJCXN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCBzdHJ1Y3Qgdm1fYXJlYV9z
dHJ1Y3QgKnByZXYsDQo+ICAgCQl1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVu
ZCk7DQo+ICAgDQo+IC0jaWZuZGVmIENPTkZJR19BUkNIX0hBU19WTV9HRVRfUEFHRV9QUk9UDQo+
IC1wZ3Byb3RfdCBwcm90ZWN0aW9uX21hcFsxNl0gX19yb19hZnRlcl9pbml0ID0gew0KPiAtCVtW
TV9OT05FXQkJCQkJPSBfX1AwMDAsDQo+IC0JW1ZNX1JFQURdCQkJCQk9IF9fUDAwMSwNCj4gLQlb
Vk1fV1JJVEVdCQkJCQk9IF9fUDAxMCwNCj4gLQlbVk1fV1JJVEUgfCBWTV9SRUFEXQkJCQk9IF9f
UDAxMSwNCj4gLQlbVk1fRVhFQ10JCQkJCT0gX19QMTAwLA0KPiAtCVtWTV9FWEVDIHwgVk1fUkVB
RF0JCQkJPSBfX1AxMDEsDQo+IC0JW1ZNX0VYRUMgfCBWTV9XUklURV0JCQkJPSBfX1AxMTAsDQo+
IC0JW1ZNX0VYRUMgfCBWTV9XUklURSB8IFZNX1JFQURdCQkJPSBfX1AxMTEsDQo+IC0JW1ZNX1NI
QVJFRF0JCQkJCT0gX19TMDAwLA0KPiAtCVtWTV9TSEFSRUQgfCBWTV9SRUFEXQkJCQk9IF9fUzAw
MSwNCj4gLQlbVk1fU0hBUkVEIHwgVk1fV1JJVEVdCQkJCT0gX19TMDEwLA0KPiAtCVtWTV9TSEFS
RUQgfCBWTV9XUklURSB8IFZNX1JFQURdCQk9IF9fUzAxMSwNCj4gLQlbVk1fU0hBUkVEIHwgVk1f
RVhFQ10JCQkJPSBfX1MxMDAsDQo+IC0JW1ZNX1NIQVJFRCB8IFZNX0VYRUMgfCBWTV9SRUFEXQkJ
CT0gX19TMTAxLA0KPiAtCVtWTV9TSEFSRUQgfCBWTV9FWEVDIHwgVk1fV1JJVEVdCQk9IF9fUzEx
MCwNCj4gLQlbVk1fU0hBUkVEIHwgVk1fRVhFQyB8IFZNX1dSSVRFIHwgVk1fUkVBRF0JPSBfX1Mx
MTENCj4gLX07DQo+IC1ERUNMQVJFX1ZNX0dFVF9QQUdFX1BST1QNCj4gLSNlbmRpZgkvKiBDT05G
SUdfQVJDSF9IQVNfVk1fR0VUX1BBR0VfUFJPVCAqLw0KPiAtDQo+ICAgc3RhdGljIHBncHJvdF90
IHZtX3BncHJvdF9tb2RpZnkocGdwcm90X3Qgb2xkcHJvdCwgdW5zaWduZWQgbG9uZyB2bV9mbGFn
cykNCj4gICB7DQo+ICAgCXJldHVybiBwZ3Byb3RfbW9kaWZ5KG9sZHByb3QsIHZtX2dldF9wYWdl
X3Byb3Qodm1fZmxhZ3MpKTs

WARNING: multiple messages have this Message-ID (diff)
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: Anshuman Khandual <anshuman.khandual@arm.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Cc: "hch@infradead.org" <hch@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
	"sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
	"x86@kernel.org" <x86@kernel.org>,
	"openrisc@lists.librecores.org" <openrisc@lists.librecores.org>,
	"linux-xtensa@linux-xtensa.org" <linux-xtensa@linux-xtensa.org>,
	"linux-csky@vger.kernel.org" <linux-csky@vger.kernel.org>,
	"linux-hexagon@vger.kernel.org" <linux-hexagon@vger.kernel.org>,
	"linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>,
	"linux-alpha@vger.kernel.org" <linux-alpha@vger.kernel.org>,
	"linux-riscv@lists.infradead.org"
	<linux-riscv@lists.infradead.org>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"linux-ia64@vger.kernel.org" <linux-ia64@vg>
Subject: Re: [PATCH V5 26/26] mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT
Date: Mon, 27 Jun 2022 05:50:10 +0000	[thread overview]
Message-ID: <a88b8109-9b9a-fb97-c2df-25980c2e4d7a@csgroup.eu> (raw)
In-Reply-To: <20220627045833.1590055-27-anshuman.khandual@arm.com>



Le 27/06/2022 à 06:58, Anshuman Khandual a écrit :
> Now all the platforms enable ARCH_HAS_GET_PAGE_PROT. They define and export
> own vm_get_page_prot() whether custom or standard DECLARE_VM_GET_PAGE_PROT.
> Hence there is no need for default generic fallback for vm_get_page_prot().
> Just drop this fallback and also ARCH_HAS_GET_PAGE_PROT mechanism.
> 
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: linux-mm@kvack.org
> Cc: linux-kernel@vger.kernel.org
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>

Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>

> ---
>   arch/alpha/Kconfig      |  1 -
>   arch/arc/Kconfig        |  1 -
>   arch/arm/Kconfig        |  1 -
>   arch/arm64/Kconfig      |  1 -
>   arch/csky/Kconfig       |  1 -
>   arch/hexagon/Kconfig    |  1 -
>   arch/ia64/Kconfig       |  1 -
>   arch/loongarch/Kconfig  |  1 -
>   arch/m68k/Kconfig       |  1 -
>   arch/microblaze/Kconfig |  1 -
>   arch/mips/Kconfig       |  1 -
>   arch/nios2/Kconfig      |  1 -
>   arch/openrisc/Kconfig   |  1 -
>   arch/parisc/Kconfig     |  1 -
>   arch/powerpc/Kconfig    |  1 -
>   arch/riscv/Kconfig      |  1 -
>   arch/s390/Kconfig       |  1 -
>   arch/sh/Kconfig         |  1 -
>   arch/sparc/Kconfig      |  1 -
>   arch/um/Kconfig         |  1 -
>   arch/x86/Kconfig        |  1 -
>   arch/xtensa/Kconfig     |  1 -
>   include/linux/mm.h      |  3 ---
>   mm/Kconfig              |  3 ---
>   mm/mmap.c               | 22 ----------------------
>   25 files changed, 50 deletions(-)
> 
> diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
> index db1c8b329461..7d0d26b5b3f5 100644
> --- a/arch/alpha/Kconfig
> +++ b/arch/alpha/Kconfig
> @@ -2,7 +2,6 @@
>   config ALPHA
>   	bool
>   	default y
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_32BIT_USTAT_F_TINODE
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_MIGHT_HAVE_PC_SERIO
> diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
> index 8be56a5d8a9b..9e3653253ef2 100644
> --- a/arch/arc/Kconfig
> +++ b/arch/arc/Kconfig
> @@ -13,7 +13,6 @@ config ARC
>   	select ARCH_HAS_SETUP_DMA_OPS
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_SUPPORTS_ATOMIC_RMW if ARC_HAS_LLSC
>   	select ARCH_32BIT_OFF_T
>   	select BUILDTIME_TABLE_SORT
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index e153b6d4fc5b..7630ba9cb6cc 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -24,7 +24,6 @@ config ARM
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB || !MMU
>   	select ARCH_HAS_TEARDOWN_DMA_OPS if MMU
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_CUSTOM_GPIO_H
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG if CPU_V7 || CPU_V7M || CPU_V6K
>   	select ARCH_HAS_GCOV_PROFILE_ALL
> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
> index 1652a9800ebe..7030bf3f8d6f 100644
> --- a/arch/arm64/Kconfig
> +++ b/arch/arm64/Kconfig
> @@ -45,7 +45,6 @@ config ARM64
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_TEARDOWN_DMA_OPS if IOMMU_SUPPORT
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_ZONE_DMA_SET if EXPERT
>   	select ARCH_HAVE_ELF_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
> diff --git a/arch/csky/Kconfig b/arch/csky/Kconfig
> index 588b8a9c68ed..21d72b078eef 100644
> --- a/arch/csky/Kconfig
> +++ b/arch/csky/Kconfig
> @@ -6,7 +6,6 @@ config CSKY
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_USE_BUILTIN_BSWAP
>   	select ARCH_USE_QUEUED_RWLOCKS
>   	select ARCH_WANT_FRAME_POINTERS if !CPU_CK610 && $(cc-option,-mbacktrace)
> diff --git a/arch/hexagon/Kconfig b/arch/hexagon/Kconfig
> index bc4ceecd0588..54eadf265178 100644
> --- a/arch/hexagon/Kconfig
> +++ b/arch/hexagon/Kconfig
> @@ -6,7 +6,6 @@ config HEXAGON
>   	def_bool y
>   	select ARCH_32BIT_OFF_T
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_PREEMPT
>   	select DMA_GLOBAL_POOL
>   	# Other pending projects/to-do items.
> diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
> index 0510a5737711..cb93769a9f2a 100644
> --- a/arch/ia64/Kconfig
> +++ b/arch/ia64/Kconfig
> @@ -12,7 +12,6 @@ config IA64
>   	select ARCH_HAS_DMA_MARK_CLEAN
>   	select ARCH_HAS_STRNCPY_FROM_USER
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_MIGHT_HAVE_PC_SERIO
>   	select ACPI
> diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig
> index fd07b8e760ee..1920d52653b4 100644
> --- a/arch/loongarch/Kconfig
> +++ b/arch/loongarch/Kconfig
> @@ -9,7 +9,6 @@ config LOONGARCH
>   	select ARCH_HAS_ACPI_TABLE_UPGRADE	if ACPI
>   	select ARCH_HAS_PHYS_TO_DMA
>   	select ARCH_HAS_PTE_SPECIAL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_INLINE_READ_LOCK if !PREEMPTION
>   	select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION
> diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
> index 49aa0cf13e96..936cce42ae9a 100644
> --- a/arch/m68k/Kconfig
> +++ b/arch/m68k/Kconfig
> @@ -7,7 +7,6 @@ config M68K
>   	select ARCH_HAS_CURRENT_STACK_POINTER
>   	select ARCH_HAS_DMA_PREP_COHERENT if HAS_DMA && MMU && !COLDFIRE
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS
>   	select ARCH_MIGHT_HAVE_PC_PARPORT if ISA
>   	select ARCH_NO_PREEMPT if !COLDFIRE
> diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
> index 15f91ba8a0c4..8cf429ad1c84 100644
> --- a/arch/microblaze/Kconfig
> +++ b/arch/microblaze/Kconfig
> @@ -7,7 +7,6 @@ config MICROBLAZE
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_WANT_IPC_PARSE_VERSION
>   	select BUILDTIME_TABLE_SORT
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index d0b7eb11ec81..db09d45d59ec 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -14,7 +14,6 @@ config MIPS
>   	select ARCH_HAS_STRNLEN_USER
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_KEEP_MEMBLOCK
>   	select ARCH_SUPPORTS_UPROBES
> diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig
> index e0459dffd218..4167f1eb4cd8 100644
> --- a/arch/nios2/Kconfig
> +++ b/arch/nios2/Kconfig
> @@ -6,7 +6,6 @@ config NIOS2
>   	select ARCH_HAS_SYNC_DMA_FOR_CPU
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
>   	select ARCH_HAS_DMA_SET_UNCACHED
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_SWAP
>   	select COMMON_CLK
>   	select TIMER_OF
> diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
> index fe0dfb50eb86..e814df4c483c 100644
> --- a/arch/openrisc/Kconfig
> +++ b/arch/openrisc/Kconfig
> @@ -10,7 +10,6 @@ config OPENRISC
>   	select ARCH_HAS_DMA_SET_UNCACHED
>   	select ARCH_HAS_DMA_CLEAR_UNCACHED
>   	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select COMMON_CLK
>   	select OF
>   	select OF_EARLY_FLATTREE
> diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
> index 90eabc846f81..5f2448dc5a2b 100644
> --- a/arch/parisc/Kconfig
> +++ b/arch/parisc/Kconfig
> @@ -11,7 +11,6 @@ config PARISC
>   	select ARCH_HAS_ELF_RANDOMIZE
>   	select ARCH_HAS_STRICT_KERNEL_RWX
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_NO_SG_CHAIN
>   	select ARCH_SUPPORTS_HUGETLBFS if PA20
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 1035d172c7dd..250b8658b2d4 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -140,7 +140,6 @@ config PPC
>   	select ARCH_HAS_TICK_BROADCAST		if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UACCESS_FLUSHCACHE
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
>   	select ARCH_KEEP_MEMBLOCK
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 583389d4e43a..32ffef9f6e5b 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -32,7 +32,6 @@ config RISCV
>   	select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
>   	select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
>   	select ARCH_STACKWALK
> diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
> index c4481377ca83..91c0b80a8bf0 100644
> --- a/arch/s390/Kconfig
> +++ b/arch/s390/Kconfig
> @@ -81,7 +81,6 @@ config S390
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
>   	select ARCH_HAS_VDSO_DATA
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
>   	select ARCH_INLINE_READ_LOCK
>   	select ARCH_INLINE_READ_LOCK_BH
> diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
> index 91f3ea325388..5f220e903e5a 100644
> --- a/arch/sh/Kconfig
> +++ b/arch/sh/Kconfig
> @@ -12,7 +12,6 @@ config SUPERH
>   	select ARCH_HAS_GCOV_PROFILE_ALL
>   	select ARCH_HAS_PTE_SPECIAL
>   	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HIBERNATION_POSSIBLE if MMU
>   	select ARCH_MIGHT_HAVE_PC_PARPORT
>   	select ARCH_WANT_IPC_PARSE_VERSION
> diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
> index 09f868613a4d..9c1cce74953a 100644
> --- a/arch/sparc/Kconfig
> +++ b/arch/sparc/Kconfig
> @@ -13,7 +13,6 @@ config 64BIT
>   config SPARC
>   	bool
>   	default y
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_MIGHT_HAVE_PC_PARPORT if SPARC64 && PCI
>   	select ARCH_MIGHT_HAVE_PC_SERIO
>   	select DMA_OPS
> diff --git a/arch/um/Kconfig b/arch/um/Kconfig
> index 7fb43654e5b5..4ec22e156a2e 100644
> --- a/arch/um/Kconfig
> +++ b/arch/um/Kconfig
> @@ -10,7 +10,6 @@ config UML
>   	select ARCH_HAS_KCOV
>   	select ARCH_HAS_STRNCPY_FROM_USER
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_NO_PREEMPT
>   	select HAVE_ARCH_AUDITSYSCALL
>   	select HAVE_ARCH_SECCOMP_FILTER
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index be0b95e51df6..841e4843d0c4 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -94,7 +94,6 @@ config X86
>   	select ARCH_HAS_SYNC_CORE_BEFORE_USERMODE
>   	select ARCH_HAS_SYSCALL_WRAPPER
>   	select ARCH_HAS_UBSAN_SANITIZE_ALL
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_HAS_DEBUG_WX
>   	select ARCH_HAS_ZONE_DMA_SET if EXPERT
>   	select ARCH_HAVE_NMI_SAFE_CMPXCHG
> diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
> index 4c0d83520ff1..0b0f0172cced 100644
> --- a/arch/xtensa/Kconfig
> +++ b/arch/xtensa/Kconfig
> @@ -11,7 +11,6 @@ config XTENSA
>   	select ARCH_HAS_DMA_SET_UNCACHED if MMU
>   	select ARCH_HAS_STRNCPY_FROM_USER if !KASAN
>   	select ARCH_HAS_STRNLEN_USER
> -	select ARCH_HAS_VM_GET_PAGE_PROT
>   	select ARCH_USE_MEMTEST
>   	select ARCH_USE_QUEUED_RWLOCKS
>   	select ARCH_USE_QUEUED_SPINLOCKS
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index 65b7f3d9ff87..fe28f19e3388 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -424,9 +424,6 @@ extern unsigned int kobjsize(const void *objp);
>    * mapping from the currently active vm_flags protection bits (the
>    * low four bits) to a page protection mask..
>    */
> -#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
> -extern pgprot_t protection_map[16];
> -#endif
>   
>   /*
>    * The default fault flags that should be used by most of the
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 169e64192e48..f47d257a053b 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -951,9 +951,6 @@ config ARCH_HAS_CURRENT_STACK_POINTER
>   	  register alias named "current_stack_pointer", this config can be
>   	  selected.
>   
> -config ARCH_HAS_VM_GET_PAGE_PROT
> -	bool
> -
>   config ARCH_HAS_PTE_DEVMAP
>   	bool
>   
> diff --git a/mm/mmap.c b/mm/mmap.c
> index 2cc722e162fa..02d6889f0ef6 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -81,28 +81,6 @@ static void unmap_region(struct mm_struct *mm,
>   		struct vm_area_struct *vma, struct vm_area_struct *prev,
>   		unsigned long start, unsigned long end);
>   
> -#ifndef CONFIG_ARCH_HAS_VM_GET_PAGE_PROT
> -pgprot_t protection_map[16] __ro_after_init = {
> -	[VM_NONE]					= __P000,
> -	[VM_READ]					= __P001,
> -	[VM_WRITE]					= __P010,
> -	[VM_WRITE | VM_READ]				= __P011,
> -	[VM_EXEC]					= __P100,
> -	[VM_EXEC | VM_READ]				= __P101,
> -	[VM_EXEC | VM_WRITE]				= __P110,
> -	[VM_EXEC | VM_WRITE | VM_READ]			= __P111,
> -	[VM_SHARED]					= __S000,
> -	[VM_SHARED | VM_READ]				= __S001,
> -	[VM_SHARED | VM_WRITE]				= __S010,
> -	[VM_SHARED | VM_WRITE | VM_READ]		= __S011,
> -	[VM_SHARED | VM_EXEC]				= __S100,
> -	[VM_SHARED | VM_EXEC | VM_READ]			= __S101,
> -	[VM_SHARED | VM_EXEC | VM_WRITE]		= __S110,
> -	[VM_SHARED | VM_EXEC | VM_WRITE | VM_READ]	= __S111
> -};
> -DECLARE_VM_GET_PAGE_PROT
> -#endif	/* CONFIG_ARCH_HAS_VM_GET_PAGE_PROT */
> -
>   static pgprot_t vm_pgprot_modify(pgprot_t oldprot, unsigned long vm_flags)
>   {
>   	return pgprot_modify(oldprot, vm_get_page_prot(vm_flags));

  reply	other threads:[~2022-06-27  5:50 UTC|newest]

Thread overview: 253+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-27  4:57 [PATCH V5 00/26] mm/mmap: Drop __SXXX/__PXXX macros from across platforms Anshuman Khandual
2022-06-27  4:58 ` Anshuman Khandual
2022-06-27  4:58 ` Anshuman Khandual
2022-06-27  4:58 ` Anshuman Khandual
2022-06-27  4:58 ` Anshuman Khandual
2022-06-27  4:58 ` Anshuman Khandual
2022-06-27  4:58 ` Anshuman Khandual
2022-06-27  4:57 ` [PATCH V5 02/26] mm/mmap: Define DECLARE_VM_GET_PAGE_PROT Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  5:49   ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  4:57 ` [PATCH V5 01/26] mm/mmap: Build protect protection_map[] with __P000 Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  5:49   ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  4:57 ` [PATCH V5 03/26] powerpc/mm: Move protection_map[] inside the platform Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  5:49   ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  4:57 ` [PATCH V5 04/26] sparc/mm: " Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27 17:14   ` Sam Ravnborg
2022-06-27 17:14     ` Sam Ravnborg
2022-06-27 17:14     ` Sam Ravnborg
2022-06-27 17:14     ` Sam Ravnborg
2022-06-27 17:14     ` Sam Ravnborg
2022-06-27 17:14     ` Sam Ravnborg
2022-06-27 17:14     ` Sam Ravnborg
2022-06-28  3:12     ` Anshuman Khandual
2022-06-28  3:24       ` Anshuman Khandual
2022-06-28  3:12       ` Anshuman Khandual
2022-06-28  3:12       ` Anshuman Khandual
2022-06-28  3:12       ` Anshuman Khandual
2022-06-28  3:12       ` Anshuman Khandual
2022-06-28  3:12       ` Anshuman Khandual
2022-06-27  4:57 ` [PATCH V5 05/26] arm64/mm: " Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 06/26] x86/mm: " Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 07/26] mm/mmap: Build protect protection_map[] with ARCH_HAS_VM_GET_PAGE_PROT Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  5:49   ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  5:49     ` Christophe Leroy
2022-06-27  4:58 ` [PATCH V5 08/26] microblaze/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 09/26] loongarch/mm: " Anshuman Khandual
2022-06-27  4:59   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 10/26] openrisc/mm: " Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 11/26] xtensa/mm: " Anshuman Khandual
2022-06-27  4:59   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 12/26] hexagon/mm: " Anshuman Khandual
2022-06-27  4:59   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27 14:32   ` Brian Cain
2022-06-27 14:32     ` Brian Cain
2022-06-27 14:32     ` Brian Cain
2022-06-27 14:32     ` Brian Cain
2022-06-27 14:32     ` Brian Cain
2022-06-27 14:32     ` Brian Cain
2022-06-27 14:32     ` Brian Cain
2022-06-27  4:58 ` [PATCH V5 13/26] parisc/mm: " Anshuman Khandual
2022-06-27  4:59   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 14/26] alpha/mm: " Anshuman Khandual
2022-06-27  4:59   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 15/26] nios2/mm: " Anshuman Khandual
2022-06-27  4:59   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 16/26] riscv/mm: " Anshuman Khandual
2022-06-27  5:10   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 17/26] csky/mm: " Anshuman Khandual
2022-06-27  5:10   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 18/26] s390/mm: " Anshuman Khandual
2022-06-27  5:10   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 19/26] ia64/mm: " Anshuman Khandual
2022-06-27  5:10   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 20/26] mips/mm: " Anshuman Khandual
2022-06-27  5:10   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 21/26] m68k/mm: " Anshuman Khandual
2022-06-27  5:10   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 22/26] arc/mm: " Anshuman Khandual
2022-06-27  5:10   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 23/26] arm/mm: " Anshuman Khandual
2022-06-27  5:10   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 24/26] um/mm: " Anshuman Khandual
2022-06-27  5:10   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 25/26] sh/mm: " Anshuman Khandual
2022-06-27  5:10   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58 ` [PATCH V5 26/26] mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT Anshuman Khandual
2022-06-27  5:10   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  4:58   ` Anshuman Khandual
2022-06-27  5:50   ` Christophe Leroy [this message]
2022-06-27  5:50     ` Christophe Leroy
2022-06-27  5:50     ` Christophe Leroy
2022-06-27  5:50     ` Christophe Leroy
2022-06-27  5:50     ` Christophe Leroy
2022-06-27  5:50     ` Christophe Leroy
2022-06-27  5:50     ` Christophe Leroy
2022-06-27  5:50     ` Christophe Leroy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a88b8109-9b9a-fb97-c2df-25980c2e4d7a@csgroup.eu \
    --to=christophe.leroy@csgroup.eu \
    --cc=akpm@linux-foundation.org \
    --cc=anshuman.khandual@arm.com \
    --cc=hch@infradead.org \
    --cc=hch@lst.de \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-csky@vger.kernel.org \
    --cc=linux-hexagon@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-snps-arc@lists.infradead.org \
    --cc=linux-um@lists.infradead.org \
    --cc=linux-xtensa@linux-xtensa.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=openrisc@lists.librecores.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.