>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@xxxxxxx/ This series applies on current mainline and also has been build tested on multiple platforms. Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Heiko Carstens <hca@xxxxxxxxxxxxx> Cc: Vasily Gorbik <gor@xxxxxxxxxxxxx> Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Dinh Nguyen <dinguyen@xxxxxxxxxx> Cc: Jonas Bonn <jonas@xxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: x86@xxxxxxxxxx Cc: openrisc@xxxxxxxxxxxxxxxxxxxx Cc: linux-csky@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: sparclinux@xxxxxxxxxxxxxxx Cc: linux-s390@xxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx 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