The VMA flags field vma->vm_flags is of type vm_flags_t. Right now this is exactly equivalent to unsigned long, but it should not be assumed to be.
Much code that references vma->vm_flags already correctly uses vm_flags_t, but a fairly large chunk of code simply uses unsigned long and assumes that the two are equivalent. This series corrects that and has us use vm_flags_t consistently. This series is motivated by the desire to, in a future series, adjust vm_flags_t to be a u64 regardless of whether the kernel is 32-bit or 64-bit in order to deal with the VMA flag exhaustion issue and avoid all the various problems that arise from it (being unable to use certain features in 32-bit, being unable to add new flags except for 64-bit, etc.) This is therefore a critical first step towards that goal. At any rate, using the correct type is of value regardless. We additionally take the opportunity to refer to VMA flags as vm_flags where possible to make clear what we're referring to. Overall, this series does not introduce any functional change. Lorenzo Stoakes (3): mm: change vm_get_page_prot() to accept vm_flags_t argument mm: update core kernel code to use vm_flags_t consistently mm: update architecture and driver code to use vm_flags_t arch/arm/mm/fault.c | 2 +- arch/arm64/include/asm/mman.h | 10 +- arch/arm64/mm/fault.c | 2 +- arch/arm64/mm/mmap.c | 2 +- arch/arm64/mm/mmu.c | 2 +- arch/powerpc/include/asm/book3s/64/pkeys.h | 3 +- arch/powerpc/include/asm/mman.h | 2 +- arch/powerpc/include/asm/pkeys.h | 4 +- arch/powerpc/kvm/book3s_hv_uvmem.c | 2 +- arch/sparc/include/asm/mman.h | 4 +- arch/sparc/mm/init_64.c | 2 +- arch/x86/kernel/cpu/sgx/encl.c | 8 +- arch/x86/kernel/cpu/sgx/encl.h | 2 +- arch/x86/mm/pgprot.c | 2 +- fs/exec.c | 2 +- fs/userfaultfd.c | 2 +- include/linux/coredump.h | 2 +- include/linux/huge_mm.h | 12 +- include/linux/khugepaged.h | 4 +- include/linux/ksm.h | 4 +- include/linux/memfd.h | 4 +- include/linux/mm.h | 10 +- include/linux/mm_types.h | 2 +- include/linux/mman.h | 4 +- include/linux/pgtable.h | 2 +- include/linux/rmap.h | 4 +- include/linux/userfaultfd_k.h | 4 +- include/trace/events/fs_dax.h | 6 +- mm/debug.c | 2 +- mm/execmem.c | 8 +- mm/filemap.c | 2 +- mm/gup.c | 2 +- mm/huge_memory.c | 2 +- mm/hugetlb.c | 4 +- mm/internal.h | 4 +- mm/khugepaged.c | 4 +- mm/ksm.c | 2 +- mm/madvise.c | 4 +- mm/mapping_dirty_helpers.c | 2 +- mm/memfd.c | 8 +- mm/memory.c | 4 +- mm/mmap.c | 16 +- mm/mprotect.c | 8 +- mm/mremap.c | 2 +- mm/nommu.c | 12 +- mm/rmap.c | 4 +- mm/shmem.c | 6 +- mm/userfaultfd.c | 14 +- mm/vma.c | 78 +++--- mm/vma.h | 16 +- mm/vmscan.c | 4 +- tools/testing/vma/vma.c | 266 ++++++++++----------- tools/testing/vma/vma_internal.h | 12 +- 53 files changed, 298 insertions(+), 297 deletions(-) -- 2.49.0