The motivation here is to consolidate VMA flag combinations commonly used across platforms and reduce code duplication while making it uncluttered in general. This first introduces a default VM_DATA_DEFAULT_FLAGS which platforms can easily fall back on without requiring to define any similar data flag combinations as they currently do. This also adds some more common data flag combinations which are generally used when the platforms decide to override the default. The second patch consolidates VM_READ, VM_WRITE, VM_EXEC as VM_ACCESS_FLAGS extending the existing VMA accessibility concept via vma_is_accessibility(). VM_ACCESS_FLAGS replaces many other instances which used check all three VMA access flags simultaneously. This series is based on v5.6-rc4 after applying these. 1. https://patchwork.kernel.org/cover/11399319/ 2. https://patchwork.kernel.org/patch/11399379/ Changes in V1: - Dropped the [PATCH 3/3] which was adding more vma_is_* wrappers - Used VM_DATA_FLAGS_EXEC for VM_DATA_DEFAULT_FLAGS instead per Vlastimil - Dropped init use cases for VM_ACCESS_FLAGS as suggested by Vlastimil Changes in RFC: (https://patchwork.kernel.org/project/linux-mm/list/?series=249733) Cc: linux****@vger***** Cc: linux****@vger***** Cc: linux****@lists***** Cc: linux****@lists***** Cc: linux****@linux***** Cc: uclin****@lists***** Cc: linux****@vger***** Cc: linux****@vger***** Cc: linux****@lists***** Cc: linux****@vger***** Cc: nios2****@lists***** Cc: openr****@lists***** Cc: linux****@vger***** Cc: linux****@lists***** Cc: linux****@lists***** Cc: linux****@vger***** Cc: linux****@vger***** Cc: sparc****@vger***** Cc: linux****@lists***** Cc: linux****@linux***** Cc: linux****@kvack***** Anshuman Khandual (2): mm/vma: Define a default value for VM_DATA_DEFAULT_FLAGS mm/vma: Introduce VM_ACCESS_FLAGS arch/alpha/include/asm/page.h | 3 --- arch/arc/include/asm/page.h | 2 +- arch/arm/include/asm/page.h | 4 +--- arch/arm/mm/fault.c | 2 +- arch/arm64/include/asm/page.h | 4 +--- arch/arm64/mm/fault.c | 2 +- arch/c6x/include/asm/page.h | 5 +---- arch/csky/include/asm/page.h | 3 --- arch/h8300/include/asm/page.h | 2 -- arch/hexagon/include/asm/page.h | 3 +-- arch/ia64/include/asm/page.h | 5 +---- arch/m68k/include/asm/page.h | 3 --- arch/microblaze/include/asm/page.h | 2 -- arch/mips/include/asm/page.h | 5 +---- arch/nds32/include/asm/page.h | 3 --- arch/nds32/mm/fault.c | 2 +- arch/nios2/include/asm/page.h | 3 +-- arch/openrisc/include/asm/page.h | 5 ----- arch/parisc/include/asm/page.h | 3 --- arch/powerpc/include/asm/page.h | 9 ++------- arch/powerpc/include/asm/page_64.h | 7 ++----- arch/powerpc/mm/book3s64/pkeys.c | 2 +- arch/riscv/include/asm/page.h | 3 +-- arch/s390/include/asm/page.h | 3 +-- arch/s390/mm/fault.c | 2 +- arch/sh/include/asm/page.h | 3 --- arch/sparc/include/asm/page_32.h | 3 --- arch/sparc/include/asm/page_64.h | 3 --- arch/unicore32/include/asm/page.h | 3 --- arch/unicore32/mm/fault.c | 2 +- arch/x86/include/asm/page_types.h | 4 +--- arch/x86/mm/pkeys.c | 2 +- arch/x86/um/asm/vm-flags.h | 10 ++-------- arch/xtensa/include/asm/page.h | 3 --- drivers/staging/gasket/gasket_core.c | 2 +- include/linux/mm.h | 20 +++++++++++++++++++- mm/mmap.c | 2 +- mm/mprotect.c | 4 ++-- 38 files changed, 47 insertions(+), 101 deletions(-) -- 2.20.1