All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
	Anshuman Khandual <anshuman.khandual@arm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
	x86@kernel.org, openrisc@lists.librecores.org,
	linux-xtensa@linux-xtensa.org, linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org,
	linux-alpha@vger.kernel.org, linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-um@lists.infradead.org, linux-sh@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	Paul Mackerras <paulus@samba.org>,
	Nicholas Piggin <npiggin@gmail.com>
Subject: [PATCH V4 03/26] powerpc/mm: Move protection_map[] inside the platform
Date: Fri, 24 Jun 2022 10:13:16 +0530	[thread overview]
Message-ID: <20220624044339.1533882-4-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20220624044339.1533882-1-anshuman.khandual@arm.com>

This moves protection_map[] inside the platform and while here, also enable
ARCH_HAS_VM_GET_PAGE_PROT on 32 bit platforms via DECLARE_VM_GET_PAGE_PROT.

Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
 arch/powerpc/Kconfig               |  2 +-
 arch/powerpc/include/asm/pgtable.h | 20 +-------------------
 arch/powerpc/mm/pgtable.c          | 24 ++++++++++++++++++++++++
 3 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index c2ce2e60c8f0..1035d172c7dd 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -140,7 +140,7 @@ 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	if PPC_BOOK3S_64
+	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/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h
index d564d0ecd4cd..bf98db844579 100644
--- a/arch/powerpc/include/asm/pgtable.h
+++ b/arch/powerpc/include/asm/pgtable.h
@@ -20,25 +20,6 @@ struct mm_struct;
 #include <asm/nohash/pgtable.h>
 #endif /* !CONFIG_PPC_BOOK3S */
 
-/* Note due to the way vm flags are laid out, the bits are XWR */
-#define __P000	PAGE_NONE
-#define __P001	PAGE_READONLY
-#define __P010	PAGE_COPY
-#define __P011	PAGE_COPY
-#define __P100	PAGE_READONLY_X
-#define __P101	PAGE_READONLY_X
-#define __P110	PAGE_COPY_X
-#define __P111	PAGE_COPY_X
-
-#define __S000	PAGE_NONE
-#define __S001	PAGE_READONLY
-#define __S010	PAGE_SHARED
-#define __S011	PAGE_SHARED
-#define __S100	PAGE_READONLY_X
-#define __S101	PAGE_READONLY_X
-#define __S110	PAGE_SHARED_X
-#define __S111	PAGE_SHARED_X
-
 #ifndef __ASSEMBLY__
 
 #ifndef MAX_PTRS_PER_PGD
@@ -79,6 +60,7 @@ extern void paging_init(void);
 void poking_init(void);
 
 extern unsigned long ioremap_bot;
+extern pgprot_t protection_map[16] __ro_after_init;
 
 /*
  * kern_addr_valid is intended to indicate whether an address is a valid
diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c
index e6166b71d36d..618f30d35b17 100644
--- a/arch/powerpc/mm/pgtable.c
+++ b/arch/powerpc/mm/pgtable.c
@@ -472,3 +472,27 @@ pte_t *__find_linux_pte(pgd_t *pgdir, unsigned long ea,
 	return ret_pte;
 }
 EXPORT_SYMBOL_GPL(__find_linux_pte);
+
+/* Note due to the way vm flags are laid out, the bits are XWR */
+pgprot_t protection_map[16] __ro_after_init = {
+	[VM_NONE]					= PAGE_NONE,
+	[VM_READ]					= PAGE_READONLY,
+	[VM_WRITE]					= PAGE_COPY,
+	[VM_WRITE | VM_READ]				= PAGE_COPY,
+	[VM_EXEC]					= PAGE_READONLY_X,
+	[VM_EXEC | VM_READ]				= PAGE_READONLY_X,
+	[VM_EXEC | VM_WRITE]				= PAGE_COPY_X,
+	[VM_EXEC | VM_WRITE | VM_READ]			= PAGE_COPY_X,
+	[VM_SHARED]					= PAGE_NONE,
+	[VM_SHARED | VM_READ]				= PAGE_READONLY,
+	[VM_SHARED | VM_WRITE]				= PAGE_SHARED,
+	[VM_SHARED | VM_WRITE | VM_READ]		= PAGE_SHARED,
+	[VM_SHARED | VM_EXEC]				= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_READ]			= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE]		= PAGE_SHARED_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE | VM_READ]	= PAGE_SHARED_X
+};
+
+#ifndef CONFIG_PPC_BOOK3S_64
+DECLARE_VM_GET_PAGE_PROT
+#endif
-- 
2.25.1


WARNING: multiple messages have this Message-ID (diff)
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org
Cc: linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org,
	linux-kernel@vger.kernel.org, Paul Mackerras <paulus@samba.org>,
	linux-csky@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	linux-hexagon@vger.kernel.org, x86@kernel.org,
	christophe.leroy@csgroup.eu, hch@infradead.org,
	linux-snps-arc@lists.infradead.org,
	linux-xtensa@linux-xtensa.org,
	Anshuman Khandual <anshuman.khandual@arm.com>,
	linux-um@lists.infradead.org, Nicholas Piggin <npiggin@gmail.com>,
	linux-m68k@lists.linux-m68k.org, openrisc@lists.librecores.org,
	linux-arm-kernel@lists.infradead.org,
	linux-parisc@vger.kernel.org, linux-mips@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev@lists.ozlabs.org
Subject: [PATCH V4 03/26] powerpc/mm: Move protection_map[] inside the platform
Date: Fri, 24 Jun 2022 10:13:16 +0530	[thread overview]
Message-ID: <20220624044339.1533882-4-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20220624044339.1533882-1-anshuman.khandual@arm.com>

This moves protection_map[] inside the platform and while here, also enable
ARCH_HAS_VM_GET_PAGE_PROT on 32 bit platforms via DECLARE_VM_GET_PAGE_PROT.

Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
 arch/powerpc/Kconfig               |  2 +-
 arch/powerpc/include/asm/pgtable.h | 20 +-------------------
 arch/powerpc/mm/pgtable.c          | 24 ++++++++++++++++++++++++
 3 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index c2ce2e60c8f0..1035d172c7dd 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -140,7 +140,7 @@ 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	if PPC_BOOK3S_64
+	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/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h
index d564d0ecd4cd..bf98db844579 100644
--- a/arch/powerpc/include/asm/pgtable.h
+++ b/arch/powerpc/include/asm/pgtable.h
@@ -20,25 +20,6 @@ struct mm_struct;
 #include <asm/nohash/pgtable.h>
 #endif /* !CONFIG_PPC_BOOK3S */
 
-/* Note due to the way vm flags are laid out, the bits are XWR */
-#define __P000	PAGE_NONE
-#define __P001	PAGE_READONLY
-#define __P010	PAGE_COPY
-#define __P011	PAGE_COPY
-#define __P100	PAGE_READONLY_X
-#define __P101	PAGE_READONLY_X
-#define __P110	PAGE_COPY_X
-#define __P111	PAGE_COPY_X
-
-#define __S000	PAGE_NONE
-#define __S001	PAGE_READONLY
-#define __S010	PAGE_SHARED
-#define __S011	PAGE_SHARED
-#define __S100	PAGE_READONLY_X
-#define __S101	PAGE_READONLY_X
-#define __S110	PAGE_SHARED_X
-#define __S111	PAGE_SHARED_X
-
 #ifndef __ASSEMBLY__
 
 #ifndef MAX_PTRS_PER_PGD
@@ -79,6 +60,7 @@ extern void paging_init(void);
 void poking_init(void);
 
 extern unsigned long ioremap_bot;
+extern pgprot_t protection_map[16] __ro_after_init;
 
 /*
  * kern_addr_valid is intended to indicate whether an address is a valid
diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c
index e6166b71d36d..618f30d35b17 100644
--- a/arch/powerpc/mm/pgtable.c
+++ b/arch/powerpc/mm/pgtable.c
@@ -472,3 +472,27 @@ pte_t *__find_linux_pte(pgd_t *pgdir, unsigned long ea,
 	return ret_pte;
 }
 EXPORT_SYMBOL_GPL(__find_linux_pte);
+
+/* Note due to the way vm flags are laid out, the bits are XWR */
+pgprot_t protection_map[16] __ro_after_init = {
+	[VM_NONE]					= PAGE_NONE,
+	[VM_READ]					= PAGE_READONLY,
+	[VM_WRITE]					= PAGE_COPY,
+	[VM_WRITE | VM_READ]				= PAGE_COPY,
+	[VM_EXEC]					= PAGE_READONLY_X,
+	[VM_EXEC | VM_READ]				= PAGE_READONLY_X,
+	[VM_EXEC | VM_WRITE]				= PAGE_COPY_X,
+	[VM_EXEC | VM_WRITE | VM_READ]			= PAGE_COPY_X,
+	[VM_SHARED]					= PAGE_NONE,
+	[VM_SHARED | VM_READ]				= PAGE_READONLY,
+	[VM_SHARED | VM_WRITE]				= PAGE_SHARED,
+	[VM_SHARED | VM_WRITE | VM_READ]		= PAGE_SHARED,
+	[VM_SHARED | VM_EXEC]				= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_READ]			= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE]		= PAGE_SHARED_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE | VM_READ]	= PAGE_SHARED_X
+};
+
+#ifndef CONFIG_PPC_BOOK3S_64
+DECLARE_VM_GET_PAGE_PROT
+#endif
-- 
2.25.1


WARNING: multiple messages have this Message-ID (diff)
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
	Anshuman Khandual <anshuman.khandual@arm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
	x86@kernel.org, openrisc@lists.librecores.org,
	linux-xtensa@linux-xtensa.org, linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org,
	linux-alpha@vger.kernel.org, linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-um@lists.infradead.org, linux-sh@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	Paul Mackerras <paulus@samba.org>,
	Nicholas Piggin <npiggin@gmail.com>
Subject: [PATCH V4 03/26] powerpc/mm: Move protection_map[] inside the platform
Date: Fri, 24 Jun 2022 10:13:16 +0530	[thread overview]
Message-ID: <20220624044339.1533882-4-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20220624044339.1533882-1-anshuman.khandual@arm.com>

This moves protection_map[] inside the platform and while here, also enable
ARCH_HAS_VM_GET_PAGE_PROT on 32 bit platforms via DECLARE_VM_GET_PAGE_PROT.

Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
 arch/powerpc/Kconfig               |  2 +-
 arch/powerpc/include/asm/pgtable.h | 20 +-------------------
 arch/powerpc/mm/pgtable.c          | 24 ++++++++++++++++++++++++
 3 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index c2ce2e60c8f0..1035d172c7dd 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -140,7 +140,7 @@ 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	if PPC_BOOK3S_64
+	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/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h
index d564d0ecd4cd..bf98db844579 100644
--- a/arch/powerpc/include/asm/pgtable.h
+++ b/arch/powerpc/include/asm/pgtable.h
@@ -20,25 +20,6 @@ struct mm_struct;
 #include <asm/nohash/pgtable.h>
 #endif /* !CONFIG_PPC_BOOK3S */
 
-/* Note due to the way vm flags are laid out, the bits are XWR */
-#define __P000	PAGE_NONE
-#define __P001	PAGE_READONLY
-#define __P010	PAGE_COPY
-#define __P011	PAGE_COPY
-#define __P100	PAGE_READONLY_X
-#define __P101	PAGE_READONLY_X
-#define __P110	PAGE_COPY_X
-#define __P111	PAGE_COPY_X
-
-#define __S000	PAGE_NONE
-#define __S001	PAGE_READONLY
-#define __S010	PAGE_SHARED
-#define __S011	PAGE_SHARED
-#define __S100	PAGE_READONLY_X
-#define __S101	PAGE_READONLY_X
-#define __S110	PAGE_SHARED_X
-#define __S111	PAGE_SHARED_X
-
 #ifndef __ASSEMBLY__
 
 #ifndef MAX_PTRS_PER_PGD
@@ -79,6 +60,7 @@ extern void paging_init(void);
 void poking_init(void);
 
 extern unsigned long ioremap_bot;
+extern pgprot_t protection_map[16] __ro_after_init;
 
 /*
  * kern_addr_valid is intended to indicate whether an address is a valid
diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c
index e6166b71d36d..618f30d35b17 100644
--- a/arch/powerpc/mm/pgtable.c
+++ b/arch/powerpc/mm/pgtable.c
@@ -472,3 +472,27 @@ pte_t *__find_linux_pte(pgd_t *pgdir, unsigned long ea,
 	return ret_pte;
 }
 EXPORT_SYMBOL_GPL(__find_linux_pte);
+
+/* Note due to the way vm flags are laid out, the bits are XWR */
+pgprot_t protection_map[16] __ro_after_init = {
+	[VM_NONE]					= PAGE_NONE,
+	[VM_READ]					= PAGE_READONLY,
+	[VM_WRITE]					= PAGE_COPY,
+	[VM_WRITE | VM_READ]				= PAGE_COPY,
+	[VM_EXEC]					= PAGE_READONLY_X,
+	[VM_EXEC | VM_READ]				= PAGE_READONLY_X,
+	[VM_EXEC | VM_WRITE]				= PAGE_COPY_X,
+	[VM_EXEC | VM_WRITE | VM_READ]			= PAGE_COPY_X,
+	[VM_SHARED]					= PAGE_NONE,
+	[VM_SHARED | VM_READ]				= PAGE_READONLY,
+	[VM_SHARED | VM_WRITE]				= PAGE_SHARED,
+	[VM_SHARED | VM_WRITE | VM_READ]		= PAGE_SHARED,
+	[VM_SHARED | VM_EXEC]				= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_READ]			= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE]		= PAGE_SHARED_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE | VM_READ]	= PAGE_SHARED_X
+};
+
+#ifndef CONFIG_PPC_BOOK3S_64
+DECLARE_VM_GET_PAGE_PROT
+#endif
-- 
2.25.1


_______________________________________________
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: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org
Cc: linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org,
	linux-kernel@vger.kernel.org, Paul Mackerras <paulus@samba.org>,
	linux-csky@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-hexagon@vger.kernel.org, x86@kernel.org, hch@infradead.org,
	linux-snps-arc@lists.infradead.org,
	linux-xtensa@linux-xtensa.org,
	Anshuman Khandual <anshuman.khandual@arm.com>,
	linux-um@lists.infradead.org, Nicholas Piggin <npiggin@gmail.com>,
	linux-m68k@lists.linux-m68k.org, openrisc@lists.librecores.org,
	linux-arm-kernel@lists.infradead.org,
	linux-parisc@vger.kernel.org, linux-mips@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev@lists.ozlabs.org
Subject: [PATCH V4 03/26] powerpc/mm: Move protection_map[] inside the platform
Date: Fri, 24 Jun 2022 10:13:16 +0530	[thread overview]
Message-ID: <20220624044339.1533882-4-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20220624044339.1533882-1-anshuman.khandual@arm.com>

This moves protection_map[] inside the platform and while here, also enable
ARCH_HAS_VM_GET_PAGE_PROT on 32 bit platforms via DECLARE_VM_GET_PAGE_PROT.

Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
 arch/powerpc/Kconfig               |  2 +-
 arch/powerpc/include/asm/pgtable.h | 20 +-------------------
 arch/powerpc/mm/pgtable.c          | 24 ++++++++++++++++++++++++
 3 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index c2ce2e60c8f0..1035d172c7dd 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -140,7 +140,7 @@ 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	if PPC_BOOK3S_64
+	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/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h
index d564d0ecd4cd..bf98db844579 100644
--- a/arch/powerpc/include/asm/pgtable.h
+++ b/arch/powerpc/include/asm/pgtable.h
@@ -20,25 +20,6 @@ struct mm_struct;
 #include <asm/nohash/pgtable.h>
 #endif /* !CONFIG_PPC_BOOK3S */
 
-/* Note due to the way vm flags are laid out, the bits are XWR */
-#define __P000	PAGE_NONE
-#define __P001	PAGE_READONLY
-#define __P010	PAGE_COPY
-#define __P011	PAGE_COPY
-#define __P100	PAGE_READONLY_X
-#define __P101	PAGE_READONLY_X
-#define __P110	PAGE_COPY_X
-#define __P111	PAGE_COPY_X
-
-#define __S000	PAGE_NONE
-#define __S001	PAGE_READONLY
-#define __S010	PAGE_SHARED
-#define __S011	PAGE_SHARED
-#define __S100	PAGE_READONLY_X
-#define __S101	PAGE_READONLY_X
-#define __S110	PAGE_SHARED_X
-#define __S111	PAGE_SHARED_X
-
 #ifndef __ASSEMBLY__
 
 #ifndef MAX_PTRS_PER_PGD
@@ -79,6 +60,7 @@ extern void paging_init(void);
 void poking_init(void);
 
 extern unsigned long ioremap_bot;
+extern pgprot_t protection_map[16] __ro_after_init;
 
 /*
  * kern_addr_valid is intended to indicate whether an address is a valid
diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c
index e6166b71d36d..618f30d35b17 100644
--- a/arch/powerpc/mm/pgtable.c
+++ b/arch/powerpc/mm/pgtable.c
@@ -472,3 +472,27 @@ pte_t *__find_linux_pte(pgd_t *pgdir, unsigned long ea,
 	return ret_pte;
 }
 EXPORT_SYMBOL_GPL(__find_linux_pte);
+
+/* Note due to the way vm flags are laid out, the bits are XWR */
+pgprot_t protection_map[16] __ro_after_init = {
+	[VM_NONE]					= PAGE_NONE,
+	[VM_READ]					= PAGE_READONLY,
+	[VM_WRITE]					= PAGE_COPY,
+	[VM_WRITE | VM_READ]				= PAGE_COPY,
+	[VM_EXEC]					= PAGE_READONLY_X,
+	[VM_EXEC | VM_READ]				= PAGE_READONLY_X,
+	[VM_EXEC | VM_WRITE]				= PAGE_COPY_X,
+	[VM_EXEC | VM_WRITE | VM_READ]			= PAGE_COPY_X,
+	[VM_SHARED]					= PAGE_NONE,
+	[VM_SHARED | VM_READ]				= PAGE_READONLY,
+	[VM_SHARED | VM_WRITE]				= PAGE_SHARED,
+	[VM_SHARED | VM_WRITE | VM_READ]		= PAGE_SHARED,
+	[VM_SHARED | VM_EXEC]				= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_READ]			= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE]		= PAGE_SHARED_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE | VM_READ]	= PAGE_SHARED_X
+};
+
+#ifndef CONFIG_PPC_BOOK3S_64
+DECLARE_VM_GET_PAGE_PROT
+#endif
-- 
2.25.1


WARNING: multiple messages have this Message-ID (diff)
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
	Anshuman Khandual <anshuman.khandual@arm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
	x86@kernel.org, openrisc@lists.librecores.org,
	linux-xtensa@linux-xtensa.org, linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org,
	linux-alpha@vger.kernel.org, linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-um@lists.infradead.org, linux-sh@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	Paul Mackerras <paulus@samba.org>,
	Nicholas Piggin <npiggin@gmail.com>
Subject: [PATCH V4 03/26] powerpc/mm: Move protection_map[] inside the platform
Date: Fri, 24 Jun 2022 10:13:16 +0530	[thread overview]
Message-ID: <20220624044339.1533882-4-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20220624044339.1533882-1-anshuman.khandual@arm.com>

This moves protection_map[] inside the platform and while here, also enable
ARCH_HAS_VM_GET_PAGE_PROT on 32 bit platforms via DECLARE_VM_GET_PAGE_PROT.

Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
 arch/powerpc/Kconfig               |  2 +-
 arch/powerpc/include/asm/pgtable.h | 20 +-------------------
 arch/powerpc/mm/pgtable.c          | 24 ++++++++++++++++++++++++
 3 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index c2ce2e60c8f0..1035d172c7dd 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -140,7 +140,7 @@ 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	if PPC_BOOK3S_64
+	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/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h
index d564d0ecd4cd..bf98db844579 100644
--- a/arch/powerpc/include/asm/pgtable.h
+++ b/arch/powerpc/include/asm/pgtable.h
@@ -20,25 +20,6 @@ struct mm_struct;
 #include <asm/nohash/pgtable.h>
 #endif /* !CONFIG_PPC_BOOK3S */
 
-/* Note due to the way vm flags are laid out, the bits are XWR */
-#define __P000	PAGE_NONE
-#define __P001	PAGE_READONLY
-#define __P010	PAGE_COPY
-#define __P011	PAGE_COPY
-#define __P100	PAGE_READONLY_X
-#define __P101	PAGE_READONLY_X
-#define __P110	PAGE_COPY_X
-#define __P111	PAGE_COPY_X
-
-#define __S000	PAGE_NONE
-#define __S001	PAGE_READONLY
-#define __S010	PAGE_SHARED
-#define __S011	PAGE_SHARED
-#define __S100	PAGE_READONLY_X
-#define __S101	PAGE_READONLY_X
-#define __S110	PAGE_SHARED_X
-#define __S111	PAGE_SHARED_X
-
 #ifndef __ASSEMBLY__
 
 #ifndef MAX_PTRS_PER_PGD
@@ -79,6 +60,7 @@ extern void paging_init(void);
 void poking_init(void);
 
 extern unsigned long ioremap_bot;
+extern pgprot_t protection_map[16] __ro_after_init;
 
 /*
  * kern_addr_valid is intended to indicate whether an address is a valid
diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c
index e6166b71d36d..618f30d35b17 100644
--- a/arch/powerpc/mm/pgtable.c
+++ b/arch/powerpc/mm/pgtable.c
@@ -472,3 +472,27 @@ pte_t *__find_linux_pte(pgd_t *pgdir, unsigned long ea,
 	return ret_pte;
 }
 EXPORT_SYMBOL_GPL(__find_linux_pte);
+
+/* Note due to the way vm flags are laid out, the bits are XWR */
+pgprot_t protection_map[16] __ro_after_init = {
+	[VM_NONE]					= PAGE_NONE,
+	[VM_READ]					= PAGE_READONLY,
+	[VM_WRITE]					= PAGE_COPY,
+	[VM_WRITE | VM_READ]				= PAGE_COPY,
+	[VM_EXEC]					= PAGE_READONLY_X,
+	[VM_EXEC | VM_READ]				= PAGE_READONLY_X,
+	[VM_EXEC | VM_WRITE]				= PAGE_COPY_X,
+	[VM_EXEC | VM_WRITE | VM_READ]			= PAGE_COPY_X,
+	[VM_SHARED]					= PAGE_NONE,
+	[VM_SHARED | VM_READ]				= PAGE_READONLY,
+	[VM_SHARED | VM_WRITE]				= PAGE_SHARED,
+	[VM_SHARED | VM_WRITE | VM_READ]		= PAGE_SHARED,
+	[VM_SHARED | VM_EXEC]				= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_READ]			= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE]		= PAGE_SHARED_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE | VM_READ]	= PAGE_SHARED_X
+};
+
+#ifndef CONFIG_PPC_BOOK3S_64
+DECLARE_VM_GET_PAGE_PROT
+#endif
-- 
2.25.1


_______________________________________________
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: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
	Anshuman Khandual <anshuman.khandual@arm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
	x86@kernel.org, openrisc@lists.librecores.org,
	linux-xtensa@linux-xtensa.org, linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org,
	linux-alpha@vger.kernel.org, linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-um@lists.infradead.org, linux-sh@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	Paul Mackerras <paulus@samba.org>,
	Nicholas Piggin <npiggin@gmail.com>
Subject: [PATCH V4 03/26] powerpc/mm: Move protection_map[] inside the platform
Date: Fri, 24 Jun 2022 10:13:16 +0530	[thread overview]
Message-ID: <20220624044339.1533882-4-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20220624044339.1533882-1-anshuman.khandual@arm.com>

This moves protection_map[] inside the platform and while here, also enable
ARCH_HAS_VM_GET_PAGE_PROT on 32 bit platforms via DECLARE_VM_GET_PAGE_PROT.

Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
 arch/powerpc/Kconfig               |  2 +-
 arch/powerpc/include/asm/pgtable.h | 20 +-------------------
 arch/powerpc/mm/pgtable.c          | 24 ++++++++++++++++++++++++
 3 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index c2ce2e60c8f0..1035d172c7dd 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -140,7 +140,7 @@ 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	if PPC_BOOK3S_64
+	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/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h
index d564d0ecd4cd..bf98db844579 100644
--- a/arch/powerpc/include/asm/pgtable.h
+++ b/arch/powerpc/include/asm/pgtable.h
@@ -20,25 +20,6 @@ struct mm_struct;
 #include <asm/nohash/pgtable.h>
 #endif /* !CONFIG_PPC_BOOK3S */
 
-/* Note due to the way vm flags are laid out, the bits are XWR */
-#define __P000	PAGE_NONE
-#define __P001	PAGE_READONLY
-#define __P010	PAGE_COPY
-#define __P011	PAGE_COPY
-#define __P100	PAGE_READONLY_X
-#define __P101	PAGE_READONLY_X
-#define __P110	PAGE_COPY_X
-#define __P111	PAGE_COPY_X
-
-#define __S000	PAGE_NONE
-#define __S001	PAGE_READONLY
-#define __S010	PAGE_SHARED
-#define __S011	PAGE_SHARED
-#define __S100	PAGE_READONLY_X
-#define __S101	PAGE_READONLY_X
-#define __S110	PAGE_SHARED_X
-#define __S111	PAGE_SHARED_X
-
 #ifndef __ASSEMBLY__
 
 #ifndef MAX_PTRS_PER_PGD
@@ -79,6 +60,7 @@ extern void paging_init(void);
 void poking_init(void);
 
 extern unsigned long ioremap_bot;
+extern pgprot_t protection_map[16] __ro_after_init;
 
 /*
  * kern_addr_valid is intended to indicate whether an address is a valid
diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c
index e6166b71d36d..618f30d35b17 100644
--- a/arch/powerpc/mm/pgtable.c
+++ b/arch/powerpc/mm/pgtable.c
@@ -472,3 +472,27 @@ pte_t *__find_linux_pte(pgd_t *pgdir, unsigned long ea,
 	return ret_pte;
 }
 EXPORT_SYMBOL_GPL(__find_linux_pte);
+
+/* Note due to the way vm flags are laid out, the bits are XWR */
+pgprot_t protection_map[16] __ro_after_init = {
+	[VM_NONE]					= PAGE_NONE,
+	[VM_READ]					= PAGE_READONLY,
+	[VM_WRITE]					= PAGE_COPY,
+	[VM_WRITE | VM_READ]				= PAGE_COPY,
+	[VM_EXEC]					= PAGE_READONLY_X,
+	[VM_EXEC | VM_READ]				= PAGE_READONLY_X,
+	[VM_EXEC | VM_WRITE]				= PAGE_COPY_X,
+	[VM_EXEC | VM_WRITE | VM_READ]			= PAGE_COPY_X,
+	[VM_SHARED]					= PAGE_NONE,
+	[VM_SHARED | VM_READ]				= PAGE_READONLY,
+	[VM_SHARED | VM_WRITE]				= PAGE_SHARED,
+	[VM_SHARED | VM_WRITE | VM_READ]		= PAGE_SHARED,
+	[VM_SHARED | VM_EXEC]				= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_READ]			= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE]		= PAGE_SHARED_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE | VM_READ]	= PAGE_SHARED_X
+};
+
+#ifndef CONFIG_PPC_BOOK3S_64
+DECLARE_VM_GET_PAGE_PROT
+#endif
-- 
2.25.1


_______________________________________________
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: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
	Anshuman Khandual <anshuman.khandual@arm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
	x86@kernel.org, openrisc@lists.librecores.org,
	linux-xtensa@linux-xtensa.org, linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org,
	linux-alpha@vger.kernel.org, linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-um@lists.infradead.org, linux-sh@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	Paul Mackerras <paulus@samba.org>,
	Nicholas Piggin <npiggin@gmail.com>
Subject: [PATCH V4 03/26] powerpc/mm: Move protection_map[] inside the platform
Date: Fri, 24 Jun 2022 04:55:16 +0000	[thread overview]
Message-ID: <20220624044339.1533882-4-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20220624044339.1533882-1-anshuman.khandual@arm.com>

This moves protection_map[] inside the platform and while here, also enable
ARCH_HAS_VM_GET_PAGE_PROT on 32 bit platforms via DECLARE_VM_GET_PAGE_PROT.

Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
 arch/powerpc/Kconfig               |  2 +-
 arch/powerpc/include/asm/pgtable.h | 20 +-------------------
 arch/powerpc/mm/pgtable.c          | 24 ++++++++++++++++++++++++
 3 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index c2ce2e60c8f0..1035d172c7dd 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -140,7 +140,7 @@ 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	if PPC_BOOK3S_64
+	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/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h
index d564d0ecd4cd..bf98db844579 100644
--- a/arch/powerpc/include/asm/pgtable.h
+++ b/arch/powerpc/include/asm/pgtable.h
@@ -20,25 +20,6 @@ struct mm_struct;
 #include <asm/nohash/pgtable.h>
 #endif /* !CONFIG_PPC_BOOK3S */
 
-/* Note due to the way vm flags are laid out, the bits are XWR */
-#define __P000	PAGE_NONE
-#define __P001	PAGE_READONLY
-#define __P010	PAGE_COPY
-#define __P011	PAGE_COPY
-#define __P100	PAGE_READONLY_X
-#define __P101	PAGE_READONLY_X
-#define __P110	PAGE_COPY_X
-#define __P111	PAGE_COPY_X
-
-#define __S000	PAGE_NONE
-#define __S001	PAGE_READONLY
-#define __S010	PAGE_SHARED
-#define __S011	PAGE_SHARED
-#define __S100	PAGE_READONLY_X
-#define __S101	PAGE_READONLY_X
-#define __S110	PAGE_SHARED_X
-#define __S111	PAGE_SHARED_X
-
 #ifndef __ASSEMBLY__
 
 #ifndef MAX_PTRS_PER_PGD
@@ -79,6 +60,7 @@ extern void paging_init(void);
 void poking_init(void);
 
 extern unsigned long ioremap_bot;
+extern pgprot_t protection_map[16] __ro_after_init;
 
 /*
  * kern_addr_valid is intended to indicate whether an address is a valid
diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c
index e6166b71d36d..618f30d35b17 100644
--- a/arch/powerpc/mm/pgtable.c
+++ b/arch/powerpc/mm/pgtable.c
@@ -472,3 +472,27 @@ pte_t *__find_linux_pte(pgd_t *pgdir, unsigned long ea,
 	return ret_pte;
 }
 EXPORT_SYMBOL_GPL(__find_linux_pte);
+
+/* Note due to the way vm flags are laid out, the bits are XWR */
+pgprot_t protection_map[16] __ro_after_init = {
+	[VM_NONE]					= PAGE_NONE,
+	[VM_READ]					= PAGE_READONLY,
+	[VM_WRITE]					= PAGE_COPY,
+	[VM_WRITE | VM_READ]				= PAGE_COPY,
+	[VM_EXEC]					= PAGE_READONLY_X,
+	[VM_EXEC | VM_READ]				= PAGE_READONLY_X,
+	[VM_EXEC | VM_WRITE]				= PAGE_COPY_X,
+	[VM_EXEC | VM_WRITE | VM_READ]			= PAGE_COPY_X,
+	[VM_SHARED]					= PAGE_NONE,
+	[VM_SHARED | VM_READ]				= PAGE_READONLY,
+	[VM_SHARED | VM_WRITE]				= PAGE_SHARED,
+	[VM_SHARED | VM_WRITE | VM_READ]		= PAGE_SHARED,
+	[VM_SHARED | VM_EXEC]				= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_READ]			= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE]		= PAGE_SHARED_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE | VM_READ]	= PAGE_SHARED_X
+};
+
+#ifndef CONFIG_PPC_BOOK3S_64
+DECLARE_VM_GET_PAGE_PROT
+#endif
-- 
2.25.1

WARNING: multiple messages have this Message-ID (diff)
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
	Anshuman Khandual <anshuman.khandual@arm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev@lists.ozlabs.org, sparclinux@vger.kernel.org,
	x86@kernel.org, openrisc@lists.librecores.org,
	linux-xtensa@linux-xtensa.org, linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org,
	linux-alpha@vger.kernel.org, linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-mips@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-um@lists.infradead.org, linux-sh@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Michael Ellerman <mpe@ellerman.id.au>,
	Paul Mackerras <paulus@samba.org>
Subject: [PATCH V4 03/26] powerpc/mm: Move protection_map[] inside the platform
Date: Fri, 24 Jun 2022 10:13:16 +0530	[thread overview]
Message-ID: <20220624044339.1533882-4-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20220624044339.1533882-1-anshuman.khandual@arm.com>

This moves protection_map[] inside the platform and while here, also enable
ARCH_HAS_VM_GET_PAGE_PROT on 32 bit platforms via DECLARE_VM_GET_PAGE_PROT.

Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
 arch/powerpc/Kconfig               |  2 +-
 arch/powerpc/include/asm/pgtable.h | 20 +-------------------
 arch/powerpc/mm/pgtable.c          | 24 ++++++++++++++++++++++++
 3 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index c2ce2e60c8f0..1035d172c7dd 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -140,7 +140,7 @@ 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	if PPC_BOOK3S_64
+	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/powerpc/include/asm/pgtable.h b/arch/powerpc/include/asm/pgtable.h
index d564d0ecd4cd..bf98db844579 100644
--- a/arch/powerpc/include/asm/pgtable.h
+++ b/arch/powerpc/include/asm/pgtable.h
@@ -20,25 +20,6 @@ struct mm_struct;
 #include <asm/nohash/pgtable.h>
 #endif /* !CONFIG_PPC_BOOK3S */
 
-/* Note due to the way vm flags are laid out, the bits are XWR */
-#define __P000	PAGE_NONE
-#define __P001	PAGE_READONLY
-#define __P010	PAGE_COPY
-#define __P011	PAGE_COPY
-#define __P100	PAGE_READONLY_X
-#define __P101	PAGE_READONLY_X
-#define __P110	PAGE_COPY_X
-#define __P111	PAGE_COPY_X
-
-#define __S000	PAGE_NONE
-#define __S001	PAGE_READONLY
-#define __S010	PAGE_SHARED
-#define __S011	PAGE_SHARED
-#define __S100	PAGE_READONLY_X
-#define __S101	PAGE_READONLY_X
-#define __S110	PAGE_SHARED_X
-#define __S111	PAGE_SHARED_X
-
 #ifndef __ASSEMBLY__
 
 #ifndef MAX_PTRS_PER_PGD
@@ -79,6 +60,7 @@ extern void paging_init(void);
 void poking_init(void);
 
 extern unsigned long ioremap_bot;
+extern pgprot_t protection_map[16] __ro_after_init;
 
 /*
  * kern_addr_valid is intended to indicate whether an address is a valid
diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c
index e6166b71d36d..618f30d35b17 100644
--- a/arch/powerpc/mm/pgtable.c
+++ b/arch/powerpc/mm/pgtable.c
@@ -472,3 +472,27 @@ pte_t *__find_linux_pte(pgd_t *pgdir, unsigned long ea,
 	return ret_pte;
 }
 EXPORT_SYMBOL_GPL(__find_linux_pte);
+
+/* Note due to the way vm flags are laid out, the bits are XWR */
+pgprot_t protection_map[16] __ro_after_init = {
+	[VM_NONE]					= PAGE_NONE,
+	[VM_READ]					= PAGE_READONLY,
+	[VM_WRITE]					= PAGE_COPY,
+	[VM_WRITE | VM_READ]				= PAGE_COPY,
+	[VM_EXEC]					= PAGE_READONLY_X,
+	[VM_EXEC | VM_READ]				= PAGE_READONLY_X,
+	[VM_EXEC | VM_WRITE]				= PAGE_COPY_X,
+	[VM_EXEC | VM_WRITE | VM_READ]			= PAGE_COPY_X,
+	[VM_SHARED]					= PAGE_NONE,
+	[VM_SHARED | VM_READ]				= PAGE_READONLY,
+	[VM_SHARED | VM_WRITE]				= PAGE_SHARED,
+	[VM_SHARED | VM_WRITE | VM_READ]		= PAGE_SHARED,
+	[VM_SHARED | VM_EXEC]				= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_READ]			= PAGE_READONLY_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE]		= PAGE_SHARED_X,
+	[VM_SHARED | VM_EXEC | VM_WRITE | VM_READ]	= PAGE_SHARED_X
+};
+
+#ifndef CONFIG_PPC_BOOK3S_64
+DECLARE_VM_GET_PAGE_PROT
+#endif
-- 
2.25.1


  parent reply	other threads:[~2022-06-24  4:44 UTC|newest]

Thread overview: 379+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-24  4:43 [PATCH V4 00/26] mm/mmap: Drop __SXXX/__PXXX macros from across platforms Anshuman Khandual
2022-06-24  4:55 ` Anshuman Khandual
2022-06-24  4:43 ` Anshuman Khandual
2022-06-24  4:43 ` Anshuman Khandual
2022-06-24  4:43 ` Anshuman Khandual
2022-06-24  4:43 ` Anshuman Khandual
2022-06-24  4:43 ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 01/26] mm/mmap: Build protect protection_map[] with __P000 Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  5:08   ` Christoph Hellwig
2022-06-24  5:08     ` Christoph Hellwig
2022-06-24  5:08     ` Christoph Hellwig
2022-06-24  5:08     ` Christoph Hellwig
2022-06-24  5:08     ` Christoph Hellwig
2022-06-24  5:08     ` Christoph Hellwig
2022-06-24  5:08     ` Christoph Hellwig
2022-06-27  5:47   ` Christophe Leroy
2022-06-27  5:47     ` Christophe Leroy
2022-06-27  5:47     ` Christophe Leroy
2022-06-27  5:47     ` Christophe Leroy
2022-06-27  5:47     ` Christophe Leroy
2022-06-27  5:47     ` Christophe Leroy
2022-06-27  5:47     ` Christophe Leroy
2022-06-27  5:47     ` Christophe Leroy
2022-06-24  4:43 ` [PATCH V4 02/26] mm/mmap: Define DECLARE_VM_GET_PAGE_PROT Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  5:09   ` Christoph Hellwig
2022-06-24  5:09     ` Christoph Hellwig
2022-06-24  5:09     ` Christoph Hellwig
2022-06-24  5:09     ` Christoph Hellwig
2022-06-24  5:09     ` Christoph Hellwig
2022-06-24  5:09     ` Christoph Hellwig
2022-06-24  5:09     ` Christoph Hellwig
2022-06-24  6:09     ` Anshuman Khandual
2022-06-24  6:21       ` Anshuman Khandual
2022-06-24  6:09       ` Anshuman Khandual
2022-06-24  6:09       ` Anshuman Khandual
2022-06-24  6:09       ` Anshuman Khandual
2022-06-24  6:09       ` Anshuman Khandual
2022-06-24  6:09       ` Anshuman Khandual
2022-06-24  5:28   ` Christophe Leroy
2022-06-24  5:28     ` Christophe Leroy
2022-06-24  5:28     ` Christophe Leroy
2022-06-24  5:28     ` Christophe Leroy
2022-06-24  5:28     ` Christophe Leroy
2022-06-24  5:28     ` Christophe Leroy
2022-06-24  5:28     ` Christophe Leroy
2022-06-24  5:28     ` Christophe Leroy
2022-06-24  6:11     ` Anshuman Khandual
2022-06-24  6:23       ` Anshuman Khandual
2022-06-24  6:11       ` Anshuman Khandual
2022-06-24  6:11       ` Anshuman Khandual
2022-06-24  6:11       ` Anshuman Khandual
2022-06-24  6:11       ` Anshuman Khandual
2022-06-24  6:11       ` Anshuman Khandual
2022-06-24  6:11       ` Anshuman Khandual
2022-06-27  5:47   ` Christophe Leroy
2022-06-27  5:47     ` Christophe Leroy
2022-06-27  5:47     ` Christophe Leroy
2022-06-27  5:47     ` Christophe Leroy
2022-06-27  5:47     ` Christophe Leroy
2022-06-27  5:47     ` Christophe Leroy
2022-06-27  5:47     ` Christophe Leroy
2022-06-27  5:47     ` Christophe Leroy
2022-06-24  4:43 ` Anshuman Khandual [this message]
2022-06-24  4:55   ` [PATCH V4 03/26] powerpc/mm: Move protection_map[] inside the platform Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  5:18   ` Christophe Leroy
2022-06-24  5:18     ` Christophe Leroy
2022-06-24  5:18     ` Christophe Leroy
2022-06-24  5:18     ` Christophe Leroy
2022-06-24  5:18     ` Christophe Leroy
2022-06-24  5:18     ` Christophe Leroy
2022-06-24  5:18     ` Christophe Leroy
2022-06-24  5:18     ` Christophe Leroy
2022-06-24  5:23     ` Anshuman Khandual
2022-06-24  5:35       ` Anshuman Khandual
2022-06-24  5:23       ` Anshuman Khandual
2022-06-24  5:23       ` Anshuman Khandual
2022-06-24  5:23       ` Anshuman Khandual
2022-06-24  5:23       ` Anshuman Khandual
2022-06-24  5:23       ` Anshuman Khandual
2022-06-24  5:23       ` Anshuman Khandual
2022-06-27  5:48   ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-24  4:43 ` [PATCH V4 04/26] sparc/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 05/26] arm64/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24 12:24   ` Catalin Marinas
2022-06-24 12:24     ` Catalin Marinas
2022-06-24 12:24     ` Catalin Marinas
2022-06-24 12:24     ` Catalin Marinas
2022-06-24 12:24     ` Catalin Marinas
2022-06-24 12:24     ` Catalin Marinas
2022-06-24 12:24     ` Catalin Marinas
2022-06-24  4:43 ` [PATCH V4 06/26] x86/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  5:10   ` Christoph Hellwig
2022-06-24  5:10     ` Christoph Hellwig
2022-06-24  5:10     ` Christoph Hellwig
2022-06-24  5:10     ` Christoph Hellwig
2022-06-24  5:10     ` Christoph Hellwig
2022-06-24  5:10     ` Christoph Hellwig
2022-06-24  5:10     ` Christoph Hellwig
2022-06-24  4:43 ` [PATCH V4 07/26] mm/mmap: Build protect protection_map[] with ARCH_HAS_VM_GET_PAGE_PROT Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  5:22   ` Christophe Leroy
2022-06-24  5:22     ` Christophe Leroy
2022-06-24  5:22     ` Christophe Leroy
2022-06-24  5:22     ` Christophe Leroy
2022-06-24  5:22     ` Christophe Leroy
2022-06-24  5:22     ` Christophe Leroy
2022-06-24  5:22     ` Christophe Leroy
2022-06-24  5:22     ` Christophe Leroy
2022-06-24  5:36     ` Anshuman Khandual
2022-06-24  5:48       ` Anshuman Khandual
2022-06-24  5:36       ` Anshuman Khandual
2022-06-24  5:36       ` Anshuman Khandual
2022-06-24  5:36       ` Anshuman Khandual
2022-06-24  5:36       ` Anshuman Khandual
2022-06-24  5:36       ` Anshuman Khandual
2022-06-24  5:36       ` Anshuman Khandual
2022-06-27  5:48   ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-24  4:43 ` [PATCH V4 08/26] microblaze/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  5:24   ` Christophe Leroy
2022-06-24  5:24     ` Christophe Leroy
2022-06-24  5:24     ` Christophe Leroy
2022-06-24  5:24     ` Christophe Leroy
2022-06-24  5:24     ` Christophe Leroy
2022-06-24  5:24     ` Christophe Leroy
2022-06-24  5:24     ` Christophe Leroy
2022-06-24  5:24     ` Christophe Leroy
2022-06-24  4:43 ` [PATCH V4 09/26] loongarch/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 10/26] openrisc/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-25  4:04   ` Stafford Horne
2022-06-25  4:04     ` Stafford Horne
2022-06-25  4:04     ` Stafford Horne
2022-06-25  4:04     ` Stafford Horne
2022-06-25  4:04     ` Stafford Horne
2022-06-25  4:04     ` Stafford Horne
2022-06-25  4:04     ` Stafford Horne
2022-06-24  4:43 ` [PATCH V4 11/26] extensa/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 12/26] hexagon/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 13/26] parisc/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 14/26] alpha/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 15/26] nios2/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 16/26] riscv/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  5:10   ` Christoph Hellwig
2022-06-24  5:10     ` Christoph Hellwig
2022-06-24  5:10     ` Christoph Hellwig
2022-06-24  5:10     ` Christoph Hellwig
2022-06-24  5:10     ` Christoph Hellwig
2022-06-24  5:10     ` Christoph Hellwig
2022-06-24  5:10     ` Christoph Hellwig
2022-06-24  4:43 ` [PATCH V4 17/26] csky/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-25  3:07   ` Guo Ren
2022-06-25  3:07     ` Guo Ren
2022-06-25  3:07     ` Guo Ren
2022-06-25  3:07     ` Guo Ren
2022-06-25  3:07     ` Guo Ren
2022-06-25  3:07     ` Guo Ren
2022-06-25  3:07     ` Guo Ren
2022-06-25  3:07     ` Guo Ren
2022-06-24  4:43 ` [PATCH V4 18/26] s390/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 19/26] ia64/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 20/26] mips/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 21/26] m68k/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 22/26] arc/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 23/26] arm/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 24/26] um/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 25/26] sh/mm: " Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43 ` [PATCH V4 26/26] mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT Anshuman Khandual
2022-06-24  4:55   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  4:43   ` Anshuman Khandual
2022-06-24  5:11   ` Christoph Hellwig
2022-06-24  5:11     ` Christoph Hellwig
2022-06-24  5:11     ` Christoph Hellwig
2022-06-24  5:11     ` Christoph Hellwig
2022-06-24  5:11     ` Christoph Hellwig
2022-06-24  5:11     ` Christoph Hellwig
2022-06-24  5:11     ` Christoph Hellwig
2022-06-24  5:29   ` Christophe Leroy
2022-06-24  5:29     ` Christophe Leroy
2022-06-24  5:29     ` Christophe Leroy
2022-06-24  5:29     ` Christophe Leroy
2022-06-24  5:29     ` Christophe Leroy
2022-06-24  5:29     ` Christophe Leroy
2022-06-24  5:29     ` Christophe Leroy
2022-06-24  5:29     ` Christophe Leroy
2022-06-27  5:48   ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-27  5:48     ` Christophe Leroy
2022-06-24  5:12 ` [PATCH V4 00/26] mm/mmap: Drop __SXXX/__PXXX macros from across platforms Christoph Hellwig
2022-06-24  5:12   ` Christoph Hellwig
2022-06-24  5:12   ` Christoph Hellwig
2022-06-24  5:12   ` Christoph Hellwig
2022-06-24  5:12   ` Christoph Hellwig
2022-06-24  5:12   ` Christoph Hellwig
2022-06-24  5:12   ` Christoph Hellwig
2022-06-24  5:20   ` Anshuman Khandual
2022-06-24  5:32     ` Anshuman Khandual
2022-06-24  5:20     ` Anshuman Khandual
2022-06-24  5:20     ` Anshuman Khandual
2022-06-24  5:20     ` Anshuman Khandual
2022-06-24  5:20     ` Anshuman Khandual
2022-06-24  5:20     ` Anshuman Khandual
2022-06-24  5:21     ` Christoph Hellwig
2022-06-24  5:21       ` Christoph Hellwig
2022-06-24  5:21       ` Christoph Hellwig
2022-06-24  5:21       ` Christoph Hellwig
2022-06-24  5:21       ` Christoph Hellwig
2022-06-24  5:21       ` Christoph Hellwig
2022-06-24  5:21       ` Christoph Hellwig

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=20220624044339.1533882-4-anshuman.khandual@arm.com \
    --to=anshuman.khandual@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=christophe.leroy@csgroup.eu \
    --cc=hch@infradead.org \
    --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=mpe@ellerman.id.au \
    --cc=npiggin@gmail.com \
    --cc=openrisc@lists.librecores.org \
    --cc=paulus@samba.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.