On 7/8/2023 1:47 PM, Yu Zhao wrote: > On Fri, Jul 7, 2023 at 10:52 AM Yin Fengwei <fengwei.yin@xxxxxxxxx> wrote: >> >> It will be used to check whether the folio is mapped to specific >> VMA and whether the mapping address of folio is in the range. >> >> Signed-off-by: Yin Fengwei <fengwei.yin@xxxxxxxxx> >> --- >> mm/internal.h | 26 ++++++++++++++++++++++++++ >> 1 file changed, 26 insertions(+) >> >> diff --git a/mm/internal.h b/mm/internal.h >> index f1276d90484ad..66117523d7d71 100644 >> --- a/mm/internal.h >> +++ b/mm/internal.h >> @@ -585,6 +585,32 @@ extern long faultin_vma_page_range(struct vm_area_struct *vma, >> bool write, int *locked); >> extern bool mlock_future_ok(struct mm_struct *mm, unsigned long flags, >> unsigned long bytes); >> + >> +static inline bool >> +folio_in_range(struct folio *folio, struct vm_area_struct *vma, >> + unsigned long start, unsigned long end) > > Is there a caller that's not "folio_in_range(folio, vma, > vma->vm_start, vma->vm_end)"? I believe madvise() will use start/end from user space instead of vma start/end. > > If not, then just "folio_within_vma(folio, vma)" or a wrapper on top > of folio_in_range(). Will add folio_within_vma() based on folio_in_range(). Thanks. Regards Yin, Fengwei