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
next prev 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.