From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org, akpm@linux-foundation.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
Anshuman Khandual <anshuman.khandual@arm.com>,
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,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>
Subject: [PATCH V7 16/26] riscv/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
Date: Mon, 11 Jul 2022 12:35:50 +0530 [thread overview]
Message-ID: <20220711070600.2378316-17-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20220711070600.2378316-1-anshuman.khandual@arm.com>
This enables ARCH_HAS_VM_GET_PAGE_PROT on the platform and exports standard
vm_get_page_prot() implementation via DECLARE_VM_GET_PAGE_PROT, which looks
up a private and static protection_map[] array. Subsequently all __SXXX and
__PXXX macros can be dropped which are no longer needed.
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: linux-riscv@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
arch/riscv/Kconfig | 1 +
arch/riscv/include/asm/pgtable.h | 20 --------------------
arch/riscv/mm/init.c | 20 ++++++++++++++++++++
3 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 32ffef9f6e5b..583389d4e43a 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -32,6 +32,7 @@ config RISCV
select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
select ARCH_HAS_UBSAN_SANITIZE_ALL
+ select ARCH_HAS_VM_GET_PAGE_PROT
select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
select ARCH_STACKWALK
diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h
index 1d1be9d9419c..23e643db6575 100644
--- a/arch/riscv/include/asm/pgtable.h
+++ b/arch/riscv/include/asm/pgtable.h
@@ -186,26 +186,6 @@ extern struct pt_alloc_ops pt_ops __initdata;
extern pgd_t swapper_pg_dir[];
-/* MAP_PRIVATE permissions: xwr (copy-on-write) */
-#define __P000 PAGE_NONE
-#define __P001 PAGE_READ
-#define __P010 PAGE_COPY
-#define __P011 PAGE_COPY
-#define __P100 PAGE_EXEC
-#define __P101 PAGE_READ_EXEC
-#define __P110 PAGE_COPY_EXEC
-#define __P111 PAGE_COPY_READ_EXEC
-
-/* MAP_SHARED permissions: xwr */
-#define __S000 PAGE_NONE
-#define __S001 PAGE_READ
-#define __S010 PAGE_SHARED
-#define __S011 PAGE_SHARED
-#define __S100 PAGE_EXEC
-#define __S101 PAGE_READ_EXEC
-#define __S110 PAGE_SHARED_EXEC
-#define __S111 PAGE_SHARED_EXEC
-
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
static inline int pmd_present(pmd_t pmd)
{
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index d466ec670e1f..a88b7dc31a68 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -288,6 +288,26 @@ static pmd_t __maybe_unused early_dtb_pmd[PTRS_PER_PMD] __initdata __aligned(PAG
#define early_pg_dir ((pgd_t *)XIP_FIXUP(early_pg_dir))
#endif /* CONFIG_XIP_KERNEL */
+static const pgprot_t protection_map[16] = {
+ [VM_NONE] = PAGE_NONE,
+ [VM_READ] = PAGE_READ,
+ [VM_WRITE] = PAGE_COPY,
+ [VM_WRITE | VM_READ] = PAGE_COPY,
+ [VM_EXEC] = PAGE_EXEC,
+ [VM_EXEC | VM_READ] = PAGE_READ_EXEC,
+ [VM_EXEC | VM_WRITE] = PAGE_COPY_EXEC,
+ [VM_EXEC | VM_WRITE | VM_READ] = PAGE_COPY_READ_EXEC,
+ [VM_SHARED] = PAGE_NONE,
+ [VM_SHARED | VM_READ] = PAGE_READ,
+ [VM_SHARED | VM_WRITE] = PAGE_SHARED,
+ [VM_SHARED | VM_WRITE | VM_READ] = PAGE_SHARED,
+ [VM_SHARED | VM_EXEC] = PAGE_EXEC,
+ [VM_SHARED | VM_EXEC | VM_READ] = PAGE_READ_EXEC,
+ [VM_SHARED | VM_EXEC | VM_WRITE] = PAGE_SHARED_EXEC,
+ [VM_SHARED | VM_EXEC | VM_WRITE | VM_READ] = PAGE_SHARED_EXEC
+};
+DECLARE_VM_GET_PAGE_PROT
+
void __set_fixmap(enum fixed_addresses idx, phys_addr_t phys, pgprot_t prot)
{
unsigned long addr = __fix_to_virt(idx);
--
2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org, akpm@linux-foundation.org
Cc: linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org,
linux-kernel@vger.kernel.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, 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, linux-m68k@lists.linux-m68k.org,
openrisc@lists.librecores.org,
Paul Walmsley <paul.walmsley@sifive.com>,
linux-arm-kernel@lists.infradead.org,
linux-parisc@vger.kernel.org, linux-mips@vger.kernel.org,
Palmer Dabbelt <palmer@dabbelt.com>,
linux-alpha@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
Subject: [PATCH V7 16/26] riscv/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
Date: Mon, 11 Jul 2022 12:35:50 +0530 [thread overview]
Message-ID: <20220711070600.2378316-17-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20220711070600.2378316-1-anshuman.khandual@arm.com>
This enables ARCH_HAS_VM_GET_PAGE_PROT on the platform and exports standard
vm_get_page_prot() implementation via DECLARE_VM_GET_PAGE_PROT, which looks
up a private and static protection_map[] array. Subsequently all __SXXX and
__PXXX macros can be dropped which are no longer needed.
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: linux-riscv@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
arch/riscv/Kconfig | 1 +
arch/riscv/include/asm/pgtable.h | 20 --------------------
arch/riscv/mm/init.c | 20 ++++++++++++++++++++
3 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 32ffef9f6e5b..583389d4e43a 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -32,6 +32,7 @@ config RISCV
select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
select ARCH_HAS_UBSAN_SANITIZE_ALL
+ select ARCH_HAS_VM_GET_PAGE_PROT
select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
select ARCH_STACKWALK
diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h
index 1d1be9d9419c..23e643db6575 100644
--- a/arch/riscv/include/asm/pgtable.h
+++ b/arch/riscv/include/asm/pgtable.h
@@ -186,26 +186,6 @@ extern struct pt_alloc_ops pt_ops __initdata;
extern pgd_t swapper_pg_dir[];
-/* MAP_PRIVATE permissions: xwr (copy-on-write) */
-#define __P000 PAGE_NONE
-#define __P001 PAGE_READ
-#define __P010 PAGE_COPY
-#define __P011 PAGE_COPY
-#define __P100 PAGE_EXEC
-#define __P101 PAGE_READ_EXEC
-#define __P110 PAGE_COPY_EXEC
-#define __P111 PAGE_COPY_READ_EXEC
-
-/* MAP_SHARED permissions: xwr */
-#define __S000 PAGE_NONE
-#define __S001 PAGE_READ
-#define __S010 PAGE_SHARED
-#define __S011 PAGE_SHARED
-#define __S100 PAGE_EXEC
-#define __S101 PAGE_READ_EXEC
-#define __S110 PAGE_SHARED_EXEC
-#define __S111 PAGE_SHARED_EXEC
-
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
static inline int pmd_present(pmd_t pmd)
{
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index d466ec670e1f..a88b7dc31a68 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -288,6 +288,26 @@ static pmd_t __maybe_unused early_dtb_pmd[PTRS_PER_PMD] __initdata __aligned(PAG
#define early_pg_dir ((pgd_t *)XIP_FIXUP(early_pg_dir))
#endif /* CONFIG_XIP_KERNEL */
+static const pgprot_t protection_map[16] = {
+ [VM_NONE] = PAGE_NONE,
+ [VM_READ] = PAGE_READ,
+ [VM_WRITE] = PAGE_COPY,
+ [VM_WRITE | VM_READ] = PAGE_COPY,
+ [VM_EXEC] = PAGE_EXEC,
+ [VM_EXEC | VM_READ] = PAGE_READ_EXEC,
+ [VM_EXEC | VM_WRITE] = PAGE_COPY_EXEC,
+ [VM_EXEC | VM_WRITE | VM_READ] = PAGE_COPY_READ_EXEC,
+ [VM_SHARED] = PAGE_NONE,
+ [VM_SHARED | VM_READ] = PAGE_READ,
+ [VM_SHARED | VM_WRITE] = PAGE_SHARED,
+ [VM_SHARED | VM_WRITE | VM_READ] = PAGE_SHARED,
+ [VM_SHARED | VM_EXEC] = PAGE_EXEC,
+ [VM_SHARED | VM_EXEC | VM_READ] = PAGE_READ_EXEC,
+ [VM_SHARED | VM_EXEC | VM_WRITE] = PAGE_SHARED_EXEC,
+ [VM_SHARED | VM_EXEC | VM_WRITE | VM_READ] = PAGE_SHARED_EXEC
+};
+DECLARE_VM_GET_PAGE_PROT
+
void __set_fixmap(enum fixed_addresses idx, phys_addr_t phys, pgprot_t prot)
{
unsigned long addr = __fix_to_virt(idx);
--
2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org, akpm@linux-foundation.org
Cc: linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org,
linux-kernel@vger.kernel.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, linux-m68k@lists.linux-m68k.org,
openrisc@lists.librecores.org,
Paul Walmsley <paul.walmsley@sifive.com>,
linux-arm-kernel@lists.infradead.org,
linux-parisc@vger.kernel.org, linux-mips@vger.kernel.org,
Palmer Dabbelt <palmer@dabbelt.com>,
linux-alpha@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
Subject: [PATCH V7 16/26] riscv/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
Date: Mon, 11 Jul 2022 12:35:50 +0530 [thread overview]
Message-ID: <20220711070600.2378316-17-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20220711070600.2378316-1-anshuman.khandual@arm.com>
This enables ARCH_HAS_VM_GET_PAGE_PROT on the platform and exports standard
vm_get_page_prot() implementation via DECLARE_VM_GET_PAGE_PROT, which looks
up a private and static protection_map[] array. Subsequently all __SXXX and
__PXXX macros can be dropped which are no longer needed.
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: linux-riscv@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
arch/riscv/Kconfig | 1 +
arch/riscv/include/asm/pgtable.h | 20 --------------------
arch/riscv/mm/init.c | 20 ++++++++++++++++++++
3 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 32ffef9f6e5b..583389d4e43a 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -32,6 +32,7 @@ config RISCV
select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
select ARCH_HAS_UBSAN_SANITIZE_ALL
+ select ARCH_HAS_VM_GET_PAGE_PROT
select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
select ARCH_STACKWALK
diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h
index 1d1be9d9419c..23e643db6575 100644
--- a/arch/riscv/include/asm/pgtable.h
+++ b/arch/riscv/include/asm/pgtable.h
@@ -186,26 +186,6 @@ extern struct pt_alloc_ops pt_ops __initdata;
extern pgd_t swapper_pg_dir[];
-/* MAP_PRIVATE permissions: xwr (copy-on-write) */
-#define __P000 PAGE_NONE
-#define __P001 PAGE_READ
-#define __P010 PAGE_COPY
-#define __P011 PAGE_COPY
-#define __P100 PAGE_EXEC
-#define __P101 PAGE_READ_EXEC
-#define __P110 PAGE_COPY_EXEC
-#define __P111 PAGE_COPY_READ_EXEC
-
-/* MAP_SHARED permissions: xwr */
-#define __S000 PAGE_NONE
-#define __S001 PAGE_READ
-#define __S010 PAGE_SHARED
-#define __S011 PAGE_SHARED
-#define __S100 PAGE_EXEC
-#define __S101 PAGE_READ_EXEC
-#define __S110 PAGE_SHARED_EXEC
-#define __S111 PAGE_SHARED_EXEC
-
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
static inline int pmd_present(pmd_t pmd)
{
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index d466ec670e1f..a88b7dc31a68 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -288,6 +288,26 @@ static pmd_t __maybe_unused early_dtb_pmd[PTRS_PER_PMD] __initdata __aligned(PAG
#define early_pg_dir ((pgd_t *)XIP_FIXUP(early_pg_dir))
#endif /* CONFIG_XIP_KERNEL */
+static const pgprot_t protection_map[16] = {
+ [VM_NONE] = PAGE_NONE,
+ [VM_READ] = PAGE_READ,
+ [VM_WRITE] = PAGE_COPY,
+ [VM_WRITE | VM_READ] = PAGE_COPY,
+ [VM_EXEC] = PAGE_EXEC,
+ [VM_EXEC | VM_READ] = PAGE_READ_EXEC,
+ [VM_EXEC | VM_WRITE] = PAGE_COPY_EXEC,
+ [VM_EXEC | VM_WRITE | VM_READ] = PAGE_COPY_READ_EXEC,
+ [VM_SHARED] = PAGE_NONE,
+ [VM_SHARED | VM_READ] = PAGE_READ,
+ [VM_SHARED | VM_WRITE] = PAGE_SHARED,
+ [VM_SHARED | VM_WRITE | VM_READ] = PAGE_SHARED,
+ [VM_SHARED | VM_EXEC] = PAGE_EXEC,
+ [VM_SHARED | VM_EXEC | VM_READ] = PAGE_READ_EXEC,
+ [VM_SHARED | VM_EXEC | VM_WRITE] = PAGE_SHARED_EXEC,
+ [VM_SHARED | VM_EXEC | VM_WRITE | VM_READ] = PAGE_SHARED_EXEC
+};
+DECLARE_VM_GET_PAGE_PROT
+
void __set_fixmap(enum fixed_addresses idx, phys_addr_t phys, pgprot_t prot)
{
unsigned long addr = __fix_to_virt(idx);
--
2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Anshuman Khandual <anshuman.khandual@arm.com>
To: linux-mm@kvack.org, akpm@linux-foundation.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
Anshuman Khandual <anshuman.khandual@arm.com>,
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,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>
Subject: [PATCH V7 16/26] riscv/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
Date: Mon, 11 Jul 2022 12:35:50 +0530 [thread overview]
Message-ID: <20220711070600.2378316-17-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20220711070600.2378316-1-anshuman.khandual@arm.com>
This enables ARCH_HAS_VM_GET_PAGE_PROT on the platform and exports standard
vm_get_page_prot() implementation via DECLARE_VM_GET_PAGE_PROT, which looks
up a private and static protection_map[] array. Subsequently all __SXXX and
__PXXX macros can be dropped which are no longer needed.
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: linux-riscv@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
arch/riscv/Kconfig | 1 +
arch/riscv/include/asm/pgtable.h | 20 --------------------
arch/riscv/mm/init.c | 20 ++++++++++++++++++++
3 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 32ffef9f6e5b..583389d4e43a 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -32,6 +32,7 @@ config RISCV
select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
select ARCH_HAS_UBSAN_SANITIZE_ALL
+ select ARCH_HAS_VM_GET_PAGE_PROT
select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
select ARCH_STACKWALK
diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h
index 1d1be9d9419c..23e643db6575 100644
--- a/arch/riscv/include/asm/pgtable.h
+++ b/arch/riscv/include/asm/pgtable.h
@@ -186,26 +186,6 @@ extern struct pt_alloc_ops pt_ops __initdata;
extern pgd_t swapper_pg_dir[];
-/* MAP_PRIVATE permissions: xwr (copy-on-write) */
-#define __P000 PAGE_NONE
-#define __P001 PAGE_READ
-#define __P010 PAGE_COPY
-#define __P011 PAGE_COPY
-#define __P100 PAGE_EXEC
-#define __P101 PAGE_READ_EXEC
-#define __P110 PAGE_COPY_EXEC
-#define __P111 PAGE_COPY_READ_EXEC
-
-/* MAP_SHARED permissions: xwr */
-#define __S000 PAGE_NONE
-#define __S001 PAGE_READ
-#define __S010 PAGE_SHARED
-#define __S011 PAGE_SHARED
-#define __S100 PAGE_EXEC
-#define __S101 PAGE_READ_EXEC
-#define __S110 PAGE_SHARED_EXEC
-#define __S111 PAGE_SHARED_EXEC
-
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
static inline int pmd_present(pmd_t pmd)
{
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index d466ec670e1f..a88b7dc31a68 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -288,6 +288,26 @@ static pmd_t __maybe_unused early_dtb_pmd[PTRS_PER_PMD] __initdata __aligned(PAG
#define early_pg_dir ((pgd_t *)XIP_FIXUP(early_pg_dir))
#endif /* CONFIG_XIP_KERNEL */
+static const pgprot_t protection_map[16] = {
+ [VM_NONE] = PAGE_NONE,
+ [VM_READ] = PAGE_READ,
+ [VM_WRITE] = PAGE_COPY,
+ [VM_WRITE | VM_READ] = PAGE_COPY,
+ [VM_EXEC] = PAGE_EXEC,
+ [VM_EXEC | VM_READ] = PAGE_READ_EXEC,
+ [VM_EXEC | VM_WRITE] = PAGE_COPY_EXEC,
+ [VM_EXEC | VM_WRITE | VM_READ] = PAGE_COPY_READ_EXEC,
+ [VM_SHARED] = PAGE_NONE,
+ [VM_SHARED | VM_READ] = PAGE_READ,
+ [VM_SHARED | VM_WRITE] = PAGE_SHARED,
+ [VM_SHARED | VM_WRITE | VM_READ] = PAGE_SHARED,
+ [VM_SHARED | VM_EXEC] = PAGE_EXEC,
+ [VM_SHARED | VM_EXEC | VM_READ] = PAGE_READ_EXEC,
+ [VM_SHARED | VM_EXEC | VM_WRITE] = PAGE_SHARED_EXEC,
+ [VM_SHARED | VM_EXEC | VM_WRITE | VM_READ] = PAGE_SHARED_EXEC
+};
+DECLARE_VM_GET_PAGE_PROT
+
void __set_fixmap(enum fixed_addresses idx, phys_addr_t phys, pgprot_t prot)
{
unsigned long addr = __fix_to_virt(idx);
--
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, akpm@linux-foundation.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
Anshuman Khandual <anshuman.khandual@arm.com>,
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,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>
Subject: [PATCH V7 16/26] riscv/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
Date: Mon, 11 Jul 2022 12:35:50 +0530 [thread overview]
Message-ID: <20220711070600.2378316-17-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20220711070600.2378316-1-anshuman.khandual@arm.com>
This enables ARCH_HAS_VM_GET_PAGE_PROT on the platform and exports standard
vm_get_page_prot() implementation via DECLARE_VM_GET_PAGE_PROT, which looks
up a private and static protection_map[] array. Subsequently all __SXXX and
__PXXX macros can be dropped which are no longer needed.
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: linux-riscv@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
arch/riscv/Kconfig | 1 +
arch/riscv/include/asm/pgtable.h | 20 --------------------
arch/riscv/mm/init.c | 20 ++++++++++++++++++++
3 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 32ffef9f6e5b..583389d4e43a 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -32,6 +32,7 @@ config RISCV
select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
select ARCH_HAS_UBSAN_SANITIZE_ALL
+ select ARCH_HAS_VM_GET_PAGE_PROT
select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
select ARCH_STACKWALK
diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h
index 1d1be9d9419c..23e643db6575 100644
--- a/arch/riscv/include/asm/pgtable.h
+++ b/arch/riscv/include/asm/pgtable.h
@@ -186,26 +186,6 @@ extern struct pt_alloc_ops pt_ops __initdata;
extern pgd_t swapper_pg_dir[];
-/* MAP_PRIVATE permissions: xwr (copy-on-write) */
-#define __P000 PAGE_NONE
-#define __P001 PAGE_READ
-#define __P010 PAGE_COPY
-#define __P011 PAGE_COPY
-#define __P100 PAGE_EXEC
-#define __P101 PAGE_READ_EXEC
-#define __P110 PAGE_COPY_EXEC
-#define __P111 PAGE_COPY_READ_EXEC
-
-/* MAP_SHARED permissions: xwr */
-#define __S000 PAGE_NONE
-#define __S001 PAGE_READ
-#define __S010 PAGE_SHARED
-#define __S011 PAGE_SHARED
-#define __S100 PAGE_EXEC
-#define __S101 PAGE_READ_EXEC
-#define __S110 PAGE_SHARED_EXEC
-#define __S111 PAGE_SHARED_EXEC
-
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
static inline int pmd_present(pmd_t pmd)
{
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index d466ec670e1f..a88b7dc31a68 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -288,6 +288,26 @@ static pmd_t __maybe_unused early_dtb_pmd[PTRS_PER_PMD] __initdata __aligned(PAG
#define early_pg_dir ((pgd_t *)XIP_FIXUP(early_pg_dir))
#endif /* CONFIG_XIP_KERNEL */
+static const pgprot_t protection_map[16] = {
+ [VM_NONE] = PAGE_NONE,
+ [VM_READ] = PAGE_READ,
+ [VM_WRITE] = PAGE_COPY,
+ [VM_WRITE | VM_READ] = PAGE_COPY,
+ [VM_EXEC] = PAGE_EXEC,
+ [VM_EXEC | VM_READ] = PAGE_READ_EXEC,
+ [VM_EXEC | VM_WRITE] = PAGE_COPY_EXEC,
+ [VM_EXEC | VM_WRITE | VM_READ] = PAGE_COPY_READ_EXEC,
+ [VM_SHARED] = PAGE_NONE,
+ [VM_SHARED | VM_READ] = PAGE_READ,
+ [VM_SHARED | VM_WRITE] = PAGE_SHARED,
+ [VM_SHARED | VM_WRITE | VM_READ] = PAGE_SHARED,
+ [VM_SHARED | VM_EXEC] = PAGE_EXEC,
+ [VM_SHARED | VM_EXEC | VM_READ] = PAGE_READ_EXEC,
+ [VM_SHARED | VM_EXEC | VM_WRITE] = PAGE_SHARED_EXEC,
+ [VM_SHARED | VM_EXEC | VM_WRITE | VM_READ] = PAGE_SHARED_EXEC
+};
+DECLARE_VM_GET_PAGE_PROT
+
void __set_fixmap(enum fixed_addresses idx, phys_addr_t phys, pgprot_t prot)
{
unsigned long addr = __fix_to_virt(idx);
--
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, akpm@linux-foundation.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
Anshuman Khandual <anshuman.khandual@arm.com>,
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,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>
Subject: [PATCH V7 16/26] riscv/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
Date: Mon, 11 Jul 2022 12:35:50 +0530 [thread overview]
Message-ID: <20220711070600.2378316-17-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20220711070600.2378316-1-anshuman.khandual@arm.com>
This enables ARCH_HAS_VM_GET_PAGE_PROT on the platform and exports standard
vm_get_page_prot() implementation via DECLARE_VM_GET_PAGE_PROT, which looks
up a private and static protection_map[] array. Subsequently all __SXXX and
__PXXX macros can be dropped which are no longer needed.
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: linux-riscv@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
arch/riscv/Kconfig | 1 +
arch/riscv/include/asm/pgtable.h | 20 --------------------
arch/riscv/mm/init.c | 20 ++++++++++++++++++++
3 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 32ffef9f6e5b..583389d4e43a 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -32,6 +32,7 @@ config RISCV
select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
select ARCH_HAS_UBSAN_SANITIZE_ALL
+ select ARCH_HAS_VM_GET_PAGE_PROT
select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
select ARCH_STACKWALK
diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h
index 1d1be9d9419c..23e643db6575 100644
--- a/arch/riscv/include/asm/pgtable.h
+++ b/arch/riscv/include/asm/pgtable.h
@@ -186,26 +186,6 @@ extern struct pt_alloc_ops pt_ops __initdata;
extern pgd_t swapper_pg_dir[];
-/* MAP_PRIVATE permissions: xwr (copy-on-write) */
-#define __P000 PAGE_NONE
-#define __P001 PAGE_READ
-#define __P010 PAGE_COPY
-#define __P011 PAGE_COPY
-#define __P100 PAGE_EXEC
-#define __P101 PAGE_READ_EXEC
-#define __P110 PAGE_COPY_EXEC
-#define __P111 PAGE_COPY_READ_EXEC
-
-/* MAP_SHARED permissions: xwr */
-#define __S000 PAGE_NONE
-#define __S001 PAGE_READ
-#define __S010 PAGE_SHARED
-#define __S011 PAGE_SHARED
-#define __S100 PAGE_EXEC
-#define __S101 PAGE_READ_EXEC
-#define __S110 PAGE_SHARED_EXEC
-#define __S111 PAGE_SHARED_EXEC
-
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
static inline int pmd_present(pmd_t pmd)
{
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index d466ec670e1f..a88b7dc31a68 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -288,6 +288,26 @@ static pmd_t __maybe_unused early_dtb_pmd[PTRS_PER_PMD] __initdata __aligned(PAG
#define early_pg_dir ((pgd_t *)XIP_FIXUP(early_pg_dir))
#endif /* CONFIG_XIP_KERNEL */
+static const pgprot_t protection_map[16] = {
+ [VM_NONE] = PAGE_NONE,
+ [VM_READ] = PAGE_READ,
+ [VM_WRITE] = PAGE_COPY,
+ [VM_WRITE | VM_READ] = PAGE_COPY,
+ [VM_EXEC] = PAGE_EXEC,
+ [VM_EXEC | VM_READ] = PAGE_READ_EXEC,
+ [VM_EXEC | VM_WRITE] = PAGE_COPY_EXEC,
+ [VM_EXEC | VM_WRITE | VM_READ] = PAGE_COPY_READ_EXEC,
+ [VM_SHARED] = PAGE_NONE,
+ [VM_SHARED | VM_READ] = PAGE_READ,
+ [VM_SHARED | VM_WRITE] = PAGE_SHARED,
+ [VM_SHARED | VM_WRITE | VM_READ] = PAGE_SHARED,
+ [VM_SHARED | VM_EXEC] = PAGE_EXEC,
+ [VM_SHARED | VM_EXEC | VM_READ] = PAGE_READ_EXEC,
+ [VM_SHARED | VM_EXEC | VM_WRITE] = PAGE_SHARED_EXEC,
+ [VM_SHARED | VM_EXEC | VM_WRITE | VM_READ] = PAGE_SHARED_EXEC
+};
+DECLARE_VM_GET_PAGE_PROT
+
void __set_fixmap(enum fixed_addresses idx, phys_addr_t phys, pgprot_t prot)
{
unsigned long addr = __fix_to_virt(idx);
--
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, akpm@linux-foundation.org
Cc: hch@infradead.org, christophe.leroy@csgroup.eu,
Anshuman Khandual <anshuman.khandual@arm.com>,
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,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>
Subject: [PATCH V7 16/26] riscv/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
Date: Mon, 11 Jul 2022 07:17:50 +0000 [thread overview]
Message-ID: <20220711070600.2378316-17-anshuman.khandual@arm.com> (raw)
In-Reply-To: <20220711070600.2378316-1-anshuman.khandual@arm.com>
This enables ARCH_HAS_VM_GET_PAGE_PROT on the platform and exports standard
vm_get_page_prot() implementation via DECLARE_VM_GET_PAGE_PROT, which looks
up a private and static protection_map[] array. Subsequently all __SXXX and
__PXXX macros can be dropped which are no longer needed.
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: linux-riscv@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
---
arch/riscv/Kconfig | 1 +
arch/riscv/include/asm/pgtable.h | 20 --------------------
arch/riscv/mm/init.c | 20 ++++++++++++++++++++
3 files changed, 21 insertions(+), 20 deletions(-)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
index 32ffef9f6e5b..583389d4e43a 100644
--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -32,6 +32,7 @@ config RISCV
select ARCH_HAS_STRICT_MODULE_RWX if MMU && !XIP_KERNEL
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
select ARCH_HAS_UBSAN_SANITIZE_ALL
+ select ARCH_HAS_VM_GET_PAGE_PROT
select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT
select ARCH_STACKWALK
diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h
index 1d1be9d9419c..23e643db6575 100644
--- a/arch/riscv/include/asm/pgtable.h
+++ b/arch/riscv/include/asm/pgtable.h
@@ -186,26 +186,6 @@ extern struct pt_alloc_ops pt_ops __initdata;
extern pgd_t swapper_pg_dir[];
-/* MAP_PRIVATE permissions: xwr (copy-on-write) */
-#define __P000 PAGE_NONE
-#define __P001 PAGE_READ
-#define __P010 PAGE_COPY
-#define __P011 PAGE_COPY
-#define __P100 PAGE_EXEC
-#define __P101 PAGE_READ_EXEC
-#define __P110 PAGE_COPY_EXEC
-#define __P111 PAGE_COPY_READ_EXEC
-
-/* MAP_SHARED permissions: xwr */
-#define __S000 PAGE_NONE
-#define __S001 PAGE_READ
-#define __S010 PAGE_SHARED
-#define __S011 PAGE_SHARED
-#define __S100 PAGE_EXEC
-#define __S101 PAGE_READ_EXEC
-#define __S110 PAGE_SHARED_EXEC
-#define __S111 PAGE_SHARED_EXEC
-
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
static inline int pmd_present(pmd_t pmd)
{
diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index d466ec670e1f..a88b7dc31a68 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -288,6 +288,26 @@ static pmd_t __maybe_unused early_dtb_pmd[PTRS_PER_PMD] __initdata __aligned(PAG
#define early_pg_dir ((pgd_t *)XIP_FIXUP(early_pg_dir))
#endif /* CONFIG_XIP_KERNEL */
+static const pgprot_t protection_map[16] = {
+ [VM_NONE] = PAGE_NONE,
+ [VM_READ] = PAGE_READ,
+ [VM_WRITE] = PAGE_COPY,
+ [VM_WRITE | VM_READ] = PAGE_COPY,
+ [VM_EXEC] = PAGE_EXEC,
+ [VM_EXEC | VM_READ] = PAGE_READ_EXEC,
+ [VM_EXEC | VM_WRITE] = PAGE_COPY_EXEC,
+ [VM_EXEC | VM_WRITE | VM_READ] = PAGE_COPY_READ_EXEC,
+ [VM_SHARED] = PAGE_NONE,
+ [VM_SHARED | VM_READ] = PAGE_READ,
+ [VM_SHARED | VM_WRITE] = PAGE_SHARED,
+ [VM_SHARED | VM_WRITE | VM_READ] = PAGE_SHARED,
+ [VM_SHARED | VM_EXEC] = PAGE_EXEC,
+ [VM_SHARED | VM_EXEC | VM_READ] = PAGE_READ_EXEC,
+ [VM_SHARED | VM_EXEC | VM_WRITE] = PAGE_SHARED_EXEC,
+ [VM_SHARED | VM_EXEC | VM_WRITE | VM_READ] = PAGE_SHARED_EXEC
+};
+DECLARE_VM_GET_PAGE_PROT
+
void __set_fixmap(enum fixed_addresses idx, phys_addr_t phys, pgprot_t prot)
{
unsigned long addr = __fix_to_virt(idx);
--
2.25.1
next prev parent reply other threads:[~2022-07-11 7:10 UTC|newest]
Thread overview: 210+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-11 7:05 [PATCH V7 00/26] mm/mmap: Drop __SXXX/__PXXX macros from across platforms Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 01/26] mm/mmap: Build protect protection_map[] with __P000 Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 02/26] mm/mmap: Define DECLARE_VM_GET_PAGE_PROT Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 03/26] powerpc/mm: Move protection_map[] inside the platform Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 04/26] sparc/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 05/26] arm64/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 06/26] x86/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 07/26] mm/mmap: Build protect protection_map[] with ARCH_HAS_VM_GET_PAGE_PROT Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 08/26] microblaze/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 09/26] loongarch/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 10/26] openrisc/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 11/26] xtensa/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 12/26] hexagon/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 13/26] parisc/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 14/26] alpha/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 15/26] nios2/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 20:43 ` Dinh Nguyen
2022-07-11 20:43 ` Dinh Nguyen
2022-07-11 20:43 ` Dinh Nguyen
2022-07-11 20:43 ` Dinh Nguyen
2022-07-11 20:43 ` Dinh Nguyen
2022-07-11 20:43 ` Dinh Nguyen
2022-07-11 20:43 ` Dinh Nguyen
2022-07-11 7:05 ` Anshuman Khandual [this message]
2022-07-11 7:17 ` [PATCH V7 16/26] riscv/mm: " Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 17/26] csky/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 18/26] s390/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 19/26] ia64/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 20/26] mips/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 21/26] m68k/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 22/26] arc/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 23/26] arm/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 24/26] um/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` [PATCH V7 25/26] sh/mm: " Anshuman Khandual
2022-07-11 7:17 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:05 ` Anshuman Khandual
2022-07-11 7:06 ` [PATCH V7 26/26] mm/mmap: Drop ARCH_HAS_VM_GET_PAGE_PROT Anshuman Khandual
2022-07-11 7:18 ` Anshuman Khandual
2022-07-11 7:06 ` Anshuman Khandual
2022-07-11 7:06 ` Anshuman Khandual
2022-07-11 7:06 ` Anshuman Khandual
2022-07-11 7:06 ` Anshuman Khandual
2022-07-11 7:06 ` Anshuman Khandual
2022-07-11 20:14 ` [PATCH V7 00/26] mm/mmap: Drop __SXXX/__PXXX macros from across platforms Andrew Morton
2022-07-11 20:14 ` Andrew Morton
2022-07-11 20:14 ` Andrew Morton
2022-07-11 20:14 ` Andrew Morton
2022-07-11 20:14 ` Andrew Morton
2022-07-11 20:14 ` Andrew Morton
2022-07-11 20:14 ` Andrew Morton
2022-07-12 2:39 ` Anshuman Khandual
2022-07-12 2:51 ` Anshuman Khandual
2022-07-12 2:39 ` Anshuman Khandual
2022-07-12 2:39 ` Anshuman Khandual
2022-07-12 2:39 ` Anshuman Khandual
2022-07-12 2:39 ` Anshuman Khandual
2022-07-12 2:39 ` Anshuman Khandual
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=20220711070600.2378316-17-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=openrisc@lists.librecores.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--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.