[PATCH 0/6] mm/mmap: Enable more platforms with ARCH_HAS_VM_GET_PAGE_PROT

Anshuman Khandual
2022-06-03T10:14:30Z

From the last discussion [1], some more platforms (s390, mips, csky, nios2,
openrisc) were willing to enable ARCH_HAS_VM_GET_PAGE_PROT and also provide
custom vm_get_page_prot() via switch case statement implementation without
any objection. All those platform specific patches have already been acked.

This series makes protection_map[] array private on platforms which define
their own vm_get_page_prot() via ARCH_HAS_VM_GET_PAGE_PROT, and also drops
off their __PXXX/__SXXX macros. This also enables new platforms as in this
series, to drop off their __PXXX/__SXXX macros as generic protection_map[]
is no longer visible to them.

[1] https://lore.kernel.org/all/1646045273-9343-2-git-send-email-anshuman.khandual@arm.com/

This series applies on current mainline and also has been build tested on
multiple platforms.

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Paul Mackerras <paulus@samba.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Dinh Nguyen <dinguyen@kernel.org>
Cc: Jonas Bonn <jonas@southpole.se>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: x86@kernel.org
Cc: openrisc@lists.librecores.org
Cc: linux-csky@vger.kernel.org
Cc: linux-mips@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: sparclinux@vger.kernel.org
Cc: linux-s390@vger.kernel.org
Cc: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org

Anshuman Khandual (6):
mm/mmap: Restrict generic protection_map[] array visibility
s390/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
mips/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
csky/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
nios2/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT
openrisc/mm: Enable ARCH_HAS_VM_GET_PAGE_PROT

arch/arm64/include/asm/pgtable-prot.h | 18 --------
arch/arm64/mm/mmap.c | 21 ++++++++++
arch/csky/Kconfig | 1 +
arch/csky/include/asm/pgtable.h | 18 --------
arch/csky/mm/init.c | 32 ++++++++++++++
arch/mips/Kconfig | 1 +
arch/mips/include/asm/pgtable.h | 22 ----------
arch/mips/mm/cache.c | 60 ++++++++++++++++-----------
arch/nios2/Kconfig | 1 +
arch/nios2/include/asm/pgtable.h | 24 -----------
arch/nios2/mm/init.c | 47 +++++++++++++++++++++
arch/openrisc/Kconfig | 1 +
arch/openrisc/include/asm/pgtable.h | 18 --------
arch/openrisc/mm/init.c | 41 ++++++++++++++++++
arch/powerpc/include/asm/pgtable.h | 2 +
arch/powerpc/mm/book3s64/pgtable.c | 20 +++++++++
arch/s390/Kconfig | 1 +
arch/s390/include/asm/pgtable.h | 17 --------
arch/s390/mm/mmap.c | 33 +++++++++++++++
arch/sparc/include/asm/pgtable_32.h | 2 +
arch/sparc/include/asm/pgtable_64.h | 19 ---------
arch/sparc/mm/init_64.c | 20 +++++++++
arch/x86/include/asm/pgtable_types.h | 19 ---------
arch/x86/mm/pgprot.c | 19 +++++++++
include/linux/mm.h | 2 +
mm/mmap.c | 2 +-
26 files changed, 280 insertions(+), 181 deletions(-)

--
2.25.1