[PATCH 08/30] mm/rmap: rename vma_interval_tree_*() to mapping_interval_tree_*()

From: Lorenzo Stoakes

Date: Mon Jun 29 2026 - 08:45:43 EST


The family of vma_interval_tree_() functions manipulate the
address_space (which, of course, is generally referred to as 'mapping')
reverse mapping, but are named the 'VMA' interval tree.

VMAs may be mapped by an anon_vma, an address_space, or both. Therefore
calling the mapping interval tree a 'VMA' interval tree is rather
confusing.

This is also inconsistent with the anon_vma_interval_tree_*() functions
which explicitly reference the rmap object to which they pertain.

Rename the vma_interval_tree_*() functions to mapping_interval_tree_*() to
correct this.

No functional change intended.

Signed-off-by: Lorenzo Stoakes <ljs@xxxxxxxxxx>
---
arch/arm/mm/fault-armv.c | 2 +-
arch/arm/mm/flush.c | 2 +-
arch/nios2/mm/cacheflush.c | 2 +-
arch/parisc/kernel/cache.c | 2 +-
fs/dax.c | 2 +-
fs/hugetlbfs/inode.c | 6 +++---
include/linux/mm.h | 34 +++++++++++++++----------------
kernel/events/uprobes.c | 2 +-
mm/hugetlb.c | 4 ++--
mm/interval_tree.c | 22 ++++++++++----------
mm/khugepaged.c | 4 ++--
mm/memory-failure.c | 6 +++---
mm/memory.c | 2 +-
mm/mmap.c | 2 +-
mm/nommu.c | 8 ++++----
mm/pagewalk.c | 4 ++--
mm/rmap.c | 2 +-
mm/vma.c | 12 +++++------
tools/testing/vma/include/stubs.h | 8 ++++----
19 files changed, 63 insertions(+), 63 deletions(-)

diff --git a/arch/arm/mm/fault-armv.c b/arch/arm/mm/fault-armv.c
index cd52cf7f8874..bd1ad4181a53 100644
--- a/arch/arm/mm/fault-armv.c
+++ b/arch/arm/mm/fault-armv.c
@@ -140,7 +140,7 @@ make_coherent(struct address_space *mapping, struct vm_area_struct *vma,
* cache coherency.
*/
flush_dcache_mmap_lock(mapping);
- vma_interval_tree_foreach(mpnt, mapping, pgoff, pgoff) {
+ mapping_interval_tree_foreach(mpnt, mapping, pgoff, pgoff) {
/*
* If we are using split PTE locks, then we need to take the pte
* lock. Otherwise we are using shared mm->page_table_lock which
diff --git a/arch/arm/mm/flush.c b/arch/arm/mm/flush.c
index 8c593e9898ee..153132eaa120 100644
--- a/arch/arm/mm/flush.c
+++ b/arch/arm/mm/flush.c
@@ -251,7 +251,7 @@ static void __flush_dcache_aliases(struct address_space *mapping, struct folio *
pgoff_end = pgoff + folio_nr_pages(folio) - 1;

flush_dcache_mmap_lock(mapping);
- vma_interval_tree_foreach(vma, mapping, pgoff, pgoff_end) {
+ mapping_interval_tree_foreach(vma, mapping, pgoff, pgoff_end) {
unsigned long start, offset, pfn;
unsigned int nr;

diff --git a/arch/nios2/mm/cacheflush.c b/arch/nios2/mm/cacheflush.c
index 42e3bf892316..f73406365e8b 100644
--- a/arch/nios2/mm/cacheflush.c
+++ b/arch/nios2/mm/cacheflush.c
@@ -82,7 +82,7 @@ static void flush_aliases(struct address_space *mapping, struct folio *folio)
pgoff = folio->index;

flush_dcache_mmap_lock_irqsave(mapping, flags);
- vma_interval_tree_foreach(vma, mapping, pgoff, pgoff + nr - 1) {
+ mapping_interval_tree_foreach(vma, mapping, pgoff, pgoff + nr - 1) {
unsigned long start;

if (vma->vm_mm != mm)
diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c
index f28aa7884cbf..3c25adc2379e 100644
--- a/arch/parisc/kernel/cache.c
+++ b/arch/parisc/kernel/cache.c
@@ -503,7 +503,7 @@ void flush_dcache_folio(struct folio *folio)
* on machines that support equivalent aliasing
*/
flush_dcache_mmap_lock_irqsave(mapping, flags);
- vma_interval_tree_foreach(vma, mapping, pgoff, pgoff + nr - 1) {
+ mapping_interval_tree_foreach(vma, mapping, pgoff, pgoff + nr - 1) {
unsigned long offset = pgoff - vma->vm_pgoff;
unsigned long pfn = folio_pfn(folio);

diff --git a/fs/dax.c b/fs/dax.c
index 2f0818a68a7f..91943fb43c92 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -1201,7 +1201,7 @@ static int dax_writeback_one(struct xa_state *xas, struct dax_device *dax_dev,

/* Walk all mappings of a given index of a file and writeprotect them */
i_mmap_lock_read(mapping);
- vma_interval_tree_foreach(vma, mapping, index, end) {
+ mapping_interval_tree_foreach(vma, mapping, index, end) {
pfn_mkclean_range(pfn, count, index, vma);
cond_resched();
}
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 4ea1798f1ffb..894d02e73302 100644
--- a/fs/hugetlbfs/inode.c
+++ b/fs/hugetlbfs/inode.c
@@ -393,7 +393,7 @@ static void hugetlb_unmap_file_folio(struct hstate *h,
i_mmap_lock_write(mapping);
retry:
vma_lock = NULL;
- vma_interval_tree_foreach(vma, mapping, start, end - 1) {
+ mapping_interval_tree_foreach(vma, mapping, start, end - 1) {
v_start = vma_offset_start(vma, start);
v_end = vma_offset_end(vma, end);

@@ -469,8 +469,8 @@ hugetlb_vmdelete_list(struct address_space *mapping, pgoff_t start,
* unmapped. Note, end is exclusive, whereas the interval tree takes
* an inclusive "last".
*/
- vma_interval_tree_foreach(vma, mapping, start,
- end ? end - 1 : ULONG_MAX) {
+ mapping_interval_tree_foreach(vma, mapping, start,
+ end ? end - 1 : ULONG_MAX) {
unsigned long v_start;
unsigned long v_end;

diff --git a/include/linux/mm.h b/include/linux/mm.h
index bdba25491b0e..703e07ff7d12 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -4061,25 +4061,25 @@ extern atomic_long_t mmap_pages_allocated;
extern int nommu_shrink_inode_mappings(struct inode *, size_t, size_t);

/* interval_tree.c */
-void vma_interval_tree_insert(struct vm_area_struct *vma,
- struct address_space *mapping);
-void vma_interval_tree_insert_after(struct vm_area_struct *vma,
- struct vm_area_struct *prev,
- struct address_space *mapping);
-void vma_interval_tree_remove(struct vm_area_struct *vma,
- struct address_space *mapping);
+void mapping_interval_tree_insert(struct vm_area_struct *vma,
+ struct address_space *mapping);
+void mapping_interval_tree_insert_after(struct vm_area_struct *vma,
+ struct vm_area_struct *prev,
+ struct address_space *mapping);
+void mapping_interval_tree_remove(struct vm_area_struct *vma,
+ struct address_space *mapping);
struct vm_area_struct *
-vma_interval_tree_iter_first(struct address_space *mapping,
- pgoff_t pgoff_start, pgoff_t pgoff_last);
+mapping_interval_tree_iter_first(struct address_space *mapping,
+ pgoff_t pgoff_start, pgoff_t pgoff_last);
struct vm_area_struct *
-vma_interval_tree_iter_next(struct vm_area_struct *vma,
- pgoff_t pgoff_start, pgoff_t pgoff_last);
-
-#define vma_interval_tree_foreach(vma, mapping, pgoff_start, pgoff_last) \
- for (vma = vma_interval_tree_iter_first(mapping, pgoff_start, \
- pgoff_last); \
- vma; vma = vma_interval_tree_iter_next(vma, pgoff_start, \
- pgoff_last))
+mapping_interval_tree_iter_next(struct vm_area_struct *vma,
+ pgoff_t pgoff_start, pgoff_t pgoff_last);
+
+#define mapping_interval_tree_foreach(vma, mapping, pgoff_start, pgoff_last) \
+ for (vma = mapping_interval_tree_iter_first(mapping, pgoff_start, \
+ pgoff_last); \
+ vma; vma = mapping_interval_tree_iter_next(vma, pgoff_start, \
+ pgoff_last))

void anon_vma_interval_tree_insert(struct anon_vma_chain *node,
struct rb_root_cached *root);
diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c
index 50a96a4d812d..f23cebacbc6d 100644
--- a/kernel/events/uprobes.c
+++ b/kernel/events/uprobes.c
@@ -1210,7 +1210,7 @@ build_map_info(struct address_space *mapping, loff_t offset, bool is_register)

again:
i_mmap_lock_read(mapping);
- vma_interval_tree_foreach(vma, mapping, pgoff, pgoff) {
+ mapping_interval_tree_foreach(vma, mapping, pgoff, pgoff) {
if (!valid_vma(vma, is_register))
continue;

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 1e1fbf348c51..f45000149a78 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -5382,7 +5382,7 @@ static void unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma,
* __unmap_hugepage_range() is called as the lock is already held
*/
i_mmap_lock_write(mapping);
- vma_interval_tree_foreach(iter_vma, mapping, pgoff, pgoff) {
+ mapping_interval_tree_foreach(iter_vma, mapping, pgoff, pgoff) {
/* Do not unmap the current VMA */
if (iter_vma == vma)
continue;
@@ -6864,7 +6864,7 @@ pte_t *huge_pmd_share(struct mm_struct *mm, struct vm_area_struct *vma,
pte_t *pte;

i_mmap_lock_read(mapping);
- vma_interval_tree_foreach(svma, mapping, idx, idx) {
+ mapping_interval_tree_foreach(svma, mapping, idx, idx) {
if (svma == vma)
continue;

diff --git a/mm/interval_tree.c b/mm/interval_tree.c
index b387d39e0547..cbd3038e46a9 100644
--- a/mm/interval_tree.c
+++ b/mm/interval_tree.c
@@ -18,16 +18,16 @@ INTERVAL_TREE_DEFINE(struct vm_area_struct, shared.rb,
vma_start_pgoff, vma_last_pgoff, static,
__vma_interval_tree)

-void vma_interval_tree_insert(struct vm_area_struct *vma,
- struct address_space *mapping)
+void mapping_interval_tree_insert(struct vm_area_struct *vma,
+ struct address_space *mapping)
{
__vma_interval_tree_insert(vma, &mapping->i_mmap);
}

/* Insert vma immediately after prev in the interval tree */
-void vma_interval_tree_insert_after(struct vm_area_struct *vma,
- struct vm_area_struct *prev,
- struct address_space *mapping)
+void mapping_interval_tree_insert_after(struct vm_area_struct *vma,
+ struct vm_area_struct *prev,
+ struct address_space *mapping)
{
struct rb_node **link;
struct vm_area_struct *parent;
@@ -58,23 +58,23 @@ void vma_interval_tree_insert_after(struct vm_area_struct *vma,
&__vma_interval_tree_augment);
}

-void vma_interval_tree_remove(struct vm_area_struct *vma,
- struct address_space *mapping)
+void mapping_interval_tree_remove(struct vm_area_struct *vma,
+ struct address_space *mapping)
{
__vma_interval_tree_remove(vma, &mapping->i_mmap);
}

struct vm_area_struct *
-vma_interval_tree_iter_first(struct address_space *mapping,
- pgoff_t pgoff_start, pgoff_t pgoff_last)
+mapping_interval_tree_iter_first(struct address_space *mapping,
+ pgoff_t pgoff_start, pgoff_t pgoff_last)
{
return __vma_interval_tree_iter_first(&mapping->i_mmap,
pgoff_start, pgoff_last);
}

struct vm_area_struct *
-vma_interval_tree_iter_next(struct vm_area_struct *vma,
- pgoff_t pgoff_start, pgoff_t pgoff_last)
+mapping_interval_tree_iter_next(struct vm_area_struct *vma,
+ pgoff_t pgoff_start, pgoff_t pgoff_last)
{
return __vma_interval_tree_iter_next(vma, pgoff_start, pgoff_last);
}
diff --git a/mm/khugepaged.c b/mm/khugepaged.c
index 9dcf38dc0f8c..bd5f86cf4bd8 100644
--- a/mm/khugepaged.c
+++ b/mm/khugepaged.c
@@ -2136,7 +2136,7 @@ static void retract_page_tables(struct address_space *mapping, pgoff_t pgoff)
struct vm_area_struct *vma;

i_mmap_lock_read(mapping);
- vma_interval_tree_foreach(vma, mapping, pgoff, pgoff) {
+ mapping_interval_tree_foreach(vma, mapping, pgoff, pgoff) {
struct mmu_notifier_range range;
struct mm_struct *mm;
unsigned long addr;
@@ -2568,7 +2568,7 @@ static enum scan_result collapse_file(struct mm_struct *mm, unsigned long addr,
* not be able to observe any missing pages due to the
* previously inserted retry entries.
*/
- vma_interval_tree_foreach(vma, mapping, start, end) {
+ mapping_interval_tree_foreach(vma, mapping, start, end) {
if (userfaultfd_missing(vma)) {
result = SCAN_EXCEED_NONE_PTE;
goto immap_locked;
diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index 3c842b472a75..5b97d26ee9b6 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -586,7 +586,7 @@ static void collect_procs_file(const struct folio *folio,

if (!t)
continue;
- vma_interval_tree_foreach(vma, mapping, pgoff, pgoff) {
+ mapping_interval_tree_foreach(vma, mapping, pgoff, pgoff) {
/*
* Send early kill signal to tasks where a vma covers
* the page but the corrupted page is not necessarily
@@ -637,7 +637,7 @@ static void collect_procs_fsdax(const struct page *page,
t = task_early_kill(tsk, true);
if (!t)
continue;
- vma_interval_tree_foreach(vma, mapping, pgoff, pgoff) {
+ mapping_interval_tree_foreach(vma, mapping, pgoff, pgoff) {
if (vma->vm_mm == t->mm)
add_to_kill_fsdax(t, page, vma, to_kill, pgoff);
}
@@ -2238,7 +2238,7 @@ static void collect_procs_pfn(struct pfn_address_space *pfn_space,
t = task_early_kill(tsk, true);
if (!t)
continue;
- vma_interval_tree_foreach(vma, mapping, 0, ULONG_MAX) {
+ mapping_interval_tree_foreach(vma, mapping, 0, ULONG_MAX) {
pgoff_t pgoff;

if (vma->vm_mm == t->mm &&
diff --git a/mm/memory.c b/mm/memory.c
index 1cf59041600c..98c1a245f45a 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -4345,7 +4345,7 @@ static inline void unmap_mapping_range_tree(struct address_space *mapping,
unsigned long start, size;
struct mmu_gather tlb;

- vma_interval_tree_foreach(vma, mapping, first_index, last_index) {
+ mapping_interval_tree_foreach(vma, mapping, first_index, last_index) {
const pgoff_t start_idx = max(first_index, vma->vm_pgoff);
const pgoff_t end_idx = min(last_index, vma_last_pgoff(vma)) + 1;

diff --git a/mm/mmap.c b/mm/mmap.c
index 2f22fb0d068d..2d09a57e3620 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -1830,7 +1830,7 @@ __latent_entropy int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm)
mapping_allow_writable(mapping);
flush_dcache_mmap_lock(mapping);
/* insert tmp into the share list, just after mpnt */
- vma_interval_tree_insert_after(tmp, mpnt, mapping);
+ mapping_interval_tree_insert_after(tmp, mpnt, mapping);
flush_dcache_mmap_unlock(mapping);
i_mmap_unlock_write(mapping);
}
diff --git a/mm/nommu.c b/mm/nommu.c
index 9a01b01ba8ed..6d168f69763f 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -569,7 +569,7 @@ static void setup_vma_to_mm(struct vm_area_struct *vma, struct mm_struct *mm)

i_mmap_lock_write(mapping);
flush_dcache_mmap_lock(mapping);
- vma_interval_tree_insert(vma, mapping);
+ mapping_interval_tree_insert(vma, mapping);
flush_dcache_mmap_unlock(mapping);
i_mmap_unlock_write(mapping);
}
@@ -585,7 +585,7 @@ static void cleanup_vma_from_mm(struct vm_area_struct *vma)

i_mmap_lock_write(mapping);
flush_dcache_mmap_lock(mapping);
- vma_interval_tree_remove(vma, mapping);
+ mapping_interval_tree_remove(vma, mapping);
flush_dcache_mmap_unlock(mapping);
i_mmap_unlock_write(mapping);
}
@@ -1816,7 +1816,7 @@ int nommu_shrink_inode_mappings(struct inode *inode, size_t size,
i_mmap_lock_read(inode->i_mapping);

/* search for VMAs that fall within the dead zone */
- vma_interval_tree_foreach(vma, inode->i_mapping, low, high) {
+ mapping_interval_tree_foreach(vma, inode->i_mapping, low, high) {
/* found one - only interested if it's shared out of the page
* cache */
if (vma->vm_flags & VM_SHARED) {
@@ -1832,7 +1832,7 @@ int nommu_shrink_inode_mappings(struct inode *inode, size_t size,
* we don't check for any regions that start beyond the EOF as there
* shouldn't be any
*/
- vma_interval_tree_foreach(vma, inode->i_mapping, 0, ULONG_MAX) {
+ mapping_interval_tree_foreach(vma, inode->i_mapping, 0, ULONG_MAX) {
if (!(vma->vm_flags & VM_SHARED))
continue;

diff --git a/mm/pagewalk.c b/mm/pagewalk.c
index 490a14691660..98d090ede077 100644
--- a/mm/pagewalk.c
+++ b/mm/pagewalk.c
@@ -810,8 +810,8 @@ int walk_page_mapping(struct address_space *mapping, pgoff_t first_index,
return -EINVAL;

lockdep_assert_held(&mapping->i_mmap_rwsem);
- vma_interval_tree_foreach(vma, mapping, first_index,
- first_index + nr - 1) {
+ mapping_interval_tree_foreach(vma, mapping, first_index,
+ first_index + nr - 1) {
/* Clip to the vma */
vba = vma->vm_pgoff;
vea = vba + vma_pages(vma);
diff --git a/mm/rmap.c b/mm/rmap.c
index 13ffa71bd20d..567e46799c64 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -3051,7 +3051,7 @@ static void __rmap_walk_file(struct folio *folio, struct address_space *mapping,
i_mmap_lock_read(mapping);
}
lookup:
- vma_interval_tree_foreach(vma, mapping, pgoff_start, pgoff_end) {
+ mapping_interval_tree_foreach(vma, mapping, pgoff_start, pgoff_end) {
unsigned long address = vma_address(vma, pgoff_start, nr_pages);

VM_BUG_ON_VMA(address == -EFAULT, vma);
diff --git a/mm/vma.c b/mm/vma.c
index ce4ec4b71138..7dc9d087c2c7 100644
--- a/mm/vma.c
+++ b/mm/vma.c
@@ -234,7 +234,7 @@ static void __vma_link_file(struct vm_area_struct *vma,
mapping_allow_writable(mapping);

flush_dcache_mmap_lock(mapping);
- vma_interval_tree_insert(vma, mapping);
+ mapping_interval_tree_insert(vma, mapping);
flush_dcache_mmap_unlock(mapping);
}

@@ -248,7 +248,7 @@ static void __remove_shared_vm_struct(struct vm_area_struct *vma,
mapping_unmap_writable(mapping);

flush_dcache_mmap_lock(mapping);
- vma_interval_tree_remove(vma, mapping);
+ mapping_interval_tree_remove(vma, mapping);
flush_dcache_mmap_unlock(mapping);
}

@@ -319,9 +319,9 @@ static void vma_prepare(struct vma_prepare *vp)

if (vp->file) {
flush_dcache_mmap_lock(vp->mapping);
- vma_interval_tree_remove(vp->vma, vp->mapping);
+ mapping_interval_tree_remove(vp->vma, vp->mapping);
if (vp->adj_next)
- vma_interval_tree_remove(vp->adj_next, vp->mapping);
+ mapping_interval_tree_remove(vp->adj_next, vp->mapping);
}

}
@@ -339,8 +339,8 @@ static void vma_complete(struct vma_prepare *vp, struct vma_iterator *vmi,
{
if (vp->file) {
if (vp->adj_next)
- vma_interval_tree_insert(vp->adj_next, vp->mapping);
- vma_interval_tree_insert(vp->vma, vp->mapping);
+ mapping_interval_tree_insert(vp->adj_next, vp->mapping);
+ mapping_interval_tree_insert(vp->vma, vp->mapping);
flush_dcache_mmap_unlock(vp->mapping);
}

diff --git a/tools/testing/vma/include/stubs.h b/tools/testing/vma/include/stubs.h
index 94442b29458d..9c151b860f36 100644
--- a/tools/testing/vma/include/stubs.h
+++ b/tools/testing/vma/include/stubs.h
@@ -257,13 +257,13 @@ static inline void vm_acct_memory(long pages)
{
}

-static inline void vma_interval_tree_insert(struct vm_area_struct *vma,
- struct address_space *mapping)
+static inline void mapping_interval_tree_insert(struct vm_area_struct *vma,
+ struct address_space *mapping)
{
}

-static inline void vma_interval_tree_remove(struct vm_area_struct *vma,
- struct address_space *mapping)
+static inline void mapping_interval_tree_remove(struct vm_area_struct *vma,
+ struct address_space *mapping)
{
}

--
2.54.0