On Mon, Jun 29, 2026 at 01:23:29PM +0100, Lorenzo Stoakes wrote:
> This is doing what linear_page_index() does, so eliminate it and replace it
> with linear_page_index().
> 
> Update the VMA userland tests to reflect this change.
> 
> No functional change intended.
> 
> Signed-off-by: Lorenzo Stoakes <[email protected]>

Reviewed-by: Pedro Falcato <[email protected]>

> ---
>  mm/vma.h                        |  9 +--------
>  tools/testing/vma/include/dup.h | 16 ++++++++++++++++
>  2 files changed, 17 insertions(+), 8 deletions(-)
> 
> diff --git a/mm/vma.h b/mm/vma.h
> index 527716c8739d..2342516ce00e 100644
> --- a/mm/vma.h
> +++ b/mm/vma.h
> @@ -247,13 +247,6 @@ static inline pgoff_t vmg_end_pgoff(const struct 
> vma_merge_struct *vmg)
>       return vmg_start_pgoff(vmg) + vmg_pages(vmg);
>  }
>  
> -/* Assumes addr >= vma->vm_start. */
> -static inline pgoff_t vma_pgoff_offset(struct vm_area_struct *vma,
> -                                    unsigned long addr)
> -{
> -     return vma->vm_pgoff + PHYS_PFN(addr - vma->vm_start);
> -}
> -
>  #define VMG_STATE(name, mm_, vmi_, start_, end_, vma_flags_, pgoff_) \
>       struct vma_merge_struct name = {                                \
>               .mm = mm_,                                              \
> @@ -275,7 +268,7 @@ static inline pgoff_t vma_pgoff_offset(struct 
> vm_area_struct *vma,
>               .start = start_,                                \
>               .end = end_,                                    \
>               .vm_flags = vma_->vm_flags,                     \
> -             .pgoff = vma_pgoff_offset(vma_, start_),        \
> +             .pgoff = linear_page_index(vma_, start_),       \
>               .file = vma_->vm_file,                          \
>               .anon_vma = vma_->anon_vma,                     \
>               .policy = vma_policy(vma_),                     \
> diff --git a/tools/testing/vma/include/dup.h b/tools/testing/vma/include/dup.h
> index 535747d7fee4..7ed165c8d9bc 100644
> --- a/tools/testing/vma/include/dup.h
> +++ b/tools/testing/vma/include/dup.h
> @@ -1548,3 +1548,19 @@ static inline pgprot_t vma_get_page_prot(vma_flags_t 
> vma_flags)
>  
>       return vm_get_page_prot(vm_flags);
>  }
> +
> +static inline pgoff_t linear_page_delta(const struct vm_area_struct *vma,
> +                                     const unsigned long address)
> +{
> +     return (address - vma->vm_start) >> PAGE_SHIFT;
> +}
> +
> +static inline pgoff_t linear_page_index(const struct vm_area_struct *vma,
> +                                     const unsigned long address)
> +{
> +     pgoff_t pgoff;
> +
> +     pgoff = linear_page_delta(vma, address);
> +     pgoff += vma_start_pgoff(vma);
> +     return pgoff;
> +}
> -- 
> 2.54.0
> 

-- 
Pedro

Reply via email to