Re: [PATCH v3 40/40] mm/vma: introduce and use vma[_flags]_can_gup()

From: Zi Yan

Date: Thu Oct 01 2026 - 12:03:20 EST


On Thu Sep 17, 2026 at 12:22 PM EDT, Lorenzo Stoakes (ARM) wrote:
> GUP cannot be used for VMAs which set VMA_IO_BIT - because memory-mapped
> I/O must not be accessed on the user's behalf - or VMA_PFNMAP_BIT - because
> PFN maps have no folios which the kernel is permitted to access.
>
> Rather than keeping these checks open-coded, abstract them to
> vma_flags_can_gup() and its VMA wrapper vma_can_gup().
>
> A number of other places make the same check to decide whether a mapping
> can be populated or accessed as GUP would, so update those too.
>
> While here, drop a reference to 'special' and replace a use of the
> deprecated VMA flags API in vma_dump_size().
>
> No functional change intended.
>
> Signed-off-by: Lorenzo Stoakes (ARM) <ljs@xxxxxxxxxx>
> ---
> fs/coredump.c | 4 ++--
> include/linux/mm.h | 29 +++++++++++++++++++++++++++++
> mm/gup.c | 7 +++----
> mm/hmm.c | 3 +--
> mm/memory.c | 14 ++++++++------
> mm/mempolicy.c | 3 ++-
> 6 files changed, 45 insertions(+), 15 deletions(-)
>
Makes sense.

Reviewed-by: Zi Yan <ziy@xxxxxxxxxx>

--
Best Regards,
Yan, Zi