Re: [PATCH 1/6] mm/gup: move gup_can_follow_protnone() to gup.c
"David Hildenbrand (Arm)" <[email protected]>
| Newsgroups | org.kernel.vger.linux-doc,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-trace-kernel,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
On 8/23/26 14:17, Mike Rapoport (Microsoft) wrote: > gup_can_follow_protnone() is defined in include/linux/mm.h but only used > by mm/gup.c. > > First, there is no reason to have it in already gigantic header. Once upon a time there was a user in mm/huge_memory.c, in a beautifully named function called follow_trans_huge_pmd(). > > Next, the upcoming refactoring of userfaultfd flags will make > gup_can_follow_protnone() depend on userfaultfd_k.h which would cause a > cyclic header dependency. > > Move gup_can_follow_protnone() to mm/gup.c. > > No functional change. > > Assisted-by: copilot:claude-opus-5 > Signed-off-by: Mike Rapoport (Microsoft) <[email protected]> > --- [...] > typedef int (*pte_fn_t)(pte_t *pte, unsigned long addr, void *data); > extern int apply_to_page_range(struct mm_struct *mm, unsigned long address, > unsigned long size, pte_fn_t fn, void *data); > diff --git a/mm/gup.c b/mm/gup.c > index eb898ea1ee22..500e2aa99e48 100644 > --- a/mm/gup.c > +++ b/mm/gup.c > @@ -633,6 +633,44 @@ static struct page *no_page_table(struct vm_area_struct *vma, > return NULL; > } > > +/* > + * Indicates whether GUP can follow a PROT_NONE mapped page, or whether > + * a (NUMA hinting or userfaultfd RWP) fault is required. > + */ > +static inline bool gup_can_follow_protnone(const struct vm_area_struct *vma, > + unsigned int flags) While at it, could switch to double-tab here. Acked-by: David Hildenbrand (Arm) <[email protected]> -- Cheers, David