[PATCH 00/13] convert more vm_flags_t users to vma_flags_t

From: Lorenzo Stoakes

Date: Mon Jun 29 2026 - 15:26:38 EST


This series makes further progress in converting usage of the deprecated
vm_flags_t type to its replacement, vma_flags_t.

It focuses on mm, though updates some users of mm APIs also.

It updates:

* The core do_mmap() code path for VMA mapping.
* Unmapped area logic.
* The usage of mm->def_vma_flags.
* VMA page protection bit logic.
* General usage of VMA flags in core mm code, mlock, mprotect, mremap.


REVIEWER/MERGER NOTE: This is dependent on [0], which must be merged before
this.

[0]:https://lore.kernel.org/linux-mm/cover.1782735110.git.ljs@xxxxxxxxxx/

Lorenzo Stoakes (13):
mm: introduce vma_flags_can_grow() and vma_can_grow()
mm/vma: update do_mmap() to use vma_flags_t
mm: convert __get_unmapped_area() to use vma_flags_t
mm: update generic_get_unmapped_area[_topdown]() to use vma_flags_t
mm: prefer mm->def_vma_flags in mm logic
mm/vma: convert vm_pgprot_modify() to use vma_flags_t and rename
mm/vma: rename vma_get_page_prot to vma_flags_to_page_prot
mm: introduce vma_get_page_prot() and use it
mm/vma: update create_init_stack_vma() to use vma_flags_t
mm/vma: convert miscellaneous uses of VMA flags in core mm
mm/mlock: convert mlock code to use vma_flags_t
mm/mprotect: convert mprotect code to use vma_flags_t
mm/mremap: convert mremap code to use vma_flags_t

arch/mips/kernel/vdso.c | 4 +-
arch/powerpc/mm/book3s64/slice.c | 6 +-
drivers/gpu/drm/drm_gem.c | 2 +-
drivers/gpu/drm/drm_gem_dma_helper.c | 2 +-
drivers/gpu/drm/drm_gem_shmem_helper.c | 2 +-
drivers/gpu/drm/etnaviv/etnaviv_gem.c | 2 +-
drivers/gpu/drm/exynos/exynos_drm_gem.c | 6 +-
drivers/gpu/drm/i915/gem/i915_gem_mman.c | 12 +-
drivers/gpu/drm/msm/msm_gem.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_gem.c | 2 +-
drivers/gpu/drm/omapdrm/omap_fbdev.c | 2 +-
drivers/gpu/drm/omapdrm/omap_gem.c | 6 +-
drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 2 +-
drivers/gpu/drm/tegra/gem.c | 2 +-
drivers/gpu/drm/virtio/virtgpu_vram.c | 2 +-
drivers/gpu/drm/vmwgfx/vmwgfx_page_dirty.c | 2 +-
drivers/gpu/drm/xe/xe_device.c | 2 +-
drivers/gpu/drm/xe/xe_mmio_gem.c | 2 +-
drivers/gpu/drm/xen/xen_drm_front_gem.c | 2 +-
drivers/video/fbdev/core/fb_io_fops.c | 2 +-
fs/aio.c | 2 +-
fs/hugetlbfs/inode.c | 3 +-
include/linux/huge_mm.h | 10 +-
include/linux/memfd.h | 6 +-
include/linux/mm.h | 51 ++++--
include/linux/sched/mm.h | 16 +-
ipc/shm.c | 3 +-
mm/debug.c | 2 +-
mm/huge_memory.c | 21 +--
mm/memfd.c | 15 +-
mm/mlock.c | 97 ++++++------
mm/mmap.c | 164 +++++++++++---------
mm/mprotect.c | 16 +-
mm/mremap.c | 38 ++---
mm/nommu.c | 3 +-
mm/util.c | 10 +-
mm/vma.c | 27 ++--
mm/vma.h | 8 +-
mm/vma_exec.c | 20 ++-
sound/core/memalloc.c | 2 +-
tools/testing/vma/include/dup.h | 22 ++-
41 files changed, 339 insertions(+), 261 deletions(-)

--
2.54.0