On Wed, Jun 18, 2025 at 08:42:51PM +0100, Lorenzo Stoakes wrote: > 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
For the series Acked-by: Mike Rapoport (Microsoft) <r...@kernel.org> > 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 -- Sincerely yours, Mike.