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]>
---
 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


Reply via email to