[PATCH v2 00/13] mm: convert more vm_flags_t users to vma_flags_t
From: Lorenzo Stoakes <ljs@kernel.org>
Date: 2026-07-11 18:45:42
Also in:
dri-devel, intel-gfx, intel-xe, linux-arm-msm, linux-fsdevel, linux-mips, linux-mm, linux-samsung-soc, linux-sound, linux-tegra, linuxppc-dev, lkml, nouveau, virtualization, xen-devel
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/20260710-b4-pre-scalable-cow-v2-0-2a5aa403d977@kernel.org/ (local) Signed-off-by: Lorenzo Stoakes <ljs@kernel.org> --- Changes in v2: * Rebased on to mm-new that has the 33 patch rework dependency in it. * Distributed tags, thanks everybody! * Moved VMA_STACK_INCOMPLETE_SETUP and VMA_STACK_EARLY VMA userland test defines from 1/13 to 9/13 as per Zi. * Fixed whitespace in 3/13 as per Zi. * Updated 5/13 to use %*pb formatter for VMA flags (to match mm flags formatter) in dump_mm(), as per Lance. * Updated 8/13 to update panthor_gem.c to vma_get_page_prot() as per Lance. * Fixed up comment type in 11/13 as per Lance. * Fixed bug of using VMA_GROWSUP_BIT rather than VMA_GROWSUP as per Lance in 12/13. * Added detail about when we are and are not required to open code vma_write_lock() for VMA flag mutators in the commit message for 13/13 as per Lance and Zi. v1: https://patch.msgid.link/cover.1782760670.git.ljs@kernel.org To: Andrew Morton <akpm@linux-foundation.org> To: David Hildenbrand <david@kernel.org> To: "Liam R. Howlett" <liam@infradead.org> To: Vlastimil Babka <vbabka@kernel.org> To: Mike Rapoport <rppt@kernel.org> To: Suren Baghdasaryan <surenb@google.com> To: Michal Hocko <mhocko@suse.com> To: Thomas Bogendoerfer <tsbogend@alpha.franken.de> To: Benjamin LaHaise <bcrl@kvack.org> To: Alexander Viro <viro@zeniv.linux.org.uk> To: Christian Brauner <brauner@kernel.org> To: Jan Kara <jack@suse.cz> To: Hugh Dickins <hughd@google.com> To: Baolin Wang <baolin.wang@linux.alibaba.com> To: Jann Horn <jannh@google.com> To: Pedro Falcato <pfalcato@suse.de> To: Muchun Song <muchun.song@linux.dev> To: Oscar Salvador <osalvador@suse.de> To: Zi Yan <ziy@nvidia.com> To: Nico Pache <npache@redhat.com> To: Ryan Roberts <ryan.roberts@arm.com> To: Dev Jain <dev.jain@arm.com> To: Barry Song <baohua@kernel.org> To: Lance Yang <lance.yang@linux.dev> To: Usama Arif <usama.arif@linux.dev> To: Madhavan Srinivasan <maddy@linux.ibm.com> To: Michael Ellerman <mpe@ellerman.id.au> To: Nicholas Piggin <npiggin@gmail.com> To: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org> To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> To: Maxime Ripard <mripard@kernel.org> To: Thomas Zimmermann <tzimmermann@suse.de> To: David Airlie <airlied@gmail.com> To: Simona Vetter <simona@ffwll.ch> To: Lucas Stach <l.stach@pengutronix.de> To: Russell King <linux+etnaviv@armlinux.org.uk> To: Christian Gmeiner <christian.gmeiner@gmail.com> To: Inki Dae <inki.dae@samsung.com> To: Seung-Woo Kim <sw0312.kim@samsung.com> To: Kyungmin Park <kyungmin.park@samsung.com> To: Krzysztof Kozlowski <krzk@kernel.org> To: Peter Griffin <peter.griffin@linaro.org> To: Alim Akhtar <alim.akhtar@samsung.com> To: Jani Nikula <jani.nikula@linux.intel.com> To: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> To: Rodrigo Vivi <rodrigo.vivi@intel.com> To: Tvrtko Ursulin <tursulin@ursulin.net> To: Rob Clark <robin.clark@oss.qualcomm.com> To: Dmitry Baryshkov <lumag@kernel.org> To: Abhinav Kumar <abhinav.kumar@linux.dev> To: Jessica Zhang <jesszhan0024@gmail.com> To: Sean Paul <sean@poorly.run> To: Marijn Suijten <marijn.suijten@somainline.org> To: Lyude Paul <lyude@redhat.com> To: Danilo Krummrich <dakr@kernel.org> To: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> To: Sandy Huang <hjc@rock-chips.com> To: Heiko Stübner <heiko@sntech.de> To: Andy Yan <andy.yan@rock-chips.com> To: Thierry Reding <thierry.reding@kernel.org> To: Mikko Perttunen <mperttunen@nvidia.com> To: Jonathan Hunter <jonathanh@nvidia.com> To: Gerd Hoffmann <kraxel@redhat.com> To: Dmitry Osipenko <dmitry.osipenko@collabora.com> To: Gurchetan Singh <gurchetansingh@chromium.org> To: Chia-I Wu <olvaffe@gmail.com> To: Zack Rusin <zack.rusin@broadcom.com> To: Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com> To: Matthew Brost <matthew.brost@intel.com> To: Thomas Hellström <thomas.hellstrom@linux.intel.com> To: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com> To: Helge Deller <deller@gmx.de> To: Kees Cook <kees@kernel.org> To: Jaroslav Kysela <perex@perex.cz> To: Takashi Iwai <tiwai@suse.com> To: Boris Brezillon <boris.brezillon@collabora.com> To: Steven Price <steven.price@arm.com> To: Liviu Dudau <liviu.dudau@arm.com> Cc: ljs@kernel.org Cc: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org Cc: linux-mips@vger.kernel.org Cc: linux-aio@kvack.org Cc: linux-fsdevel@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: dri-devel@lists.freedesktop.org Cc: etnaviv@lists.freedesktop.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Cc: intel-gfx@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org Cc: freedreno@lists.freedesktop.org Cc: nouveau@lists.freedesktop.org Cc: linux-rockchip@lists.infradead.org Cc: linux-tegra@vger.kernel.org Cc: virtualization@lists.linux.dev Cc: intel-xe@lists.freedesktop.org Cc: xen-devel@lists.xenproject.org Cc: linux-fbdev@vger.kernel.org Cc: linux-sound@vger.kernel.org --- 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/panthor/panthor_gem.c | 2 +- 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 | 52 +++++++-- include/linux/sched/mm.h | 13 +-- ipc/shm.c | 3 +- mm/debug.c | 5 +- mm/huge_memory.c | 21 ++-- mm/memfd.c | 15 +-- mm/mlock.c | 99 +++++++++-------- mm/mmap.c | 164 +++++++++++++++------------- mm/mprotect.c | 16 +-- mm/mremap.c | 38 ++++--- mm/nommu.c | 3 +- mm/util.c | 10 +- mm/vma.c | 26 +++-- mm/vma.h | 8 +- mm/vma_exec.c | 20 ++-- sound/core/memalloc.c | 2 +- tools/testing/vma/include/dup.h | 23 ++-- 42 files changed, 341 insertions(+), 264 deletions(-) --- base-commit: 61cccb8363fcc282d4ae0555b8739dd227f5ad0b change-id: 20260711-b4-vma-flags-mm-bd05385df9fc Cheers, -- Lorenzo Stoakes [off-list ref]