From b0a3bb2f5342613e68c6c2bd1f593e1780166e17 Mon Sep 17 00:00:00 2001 From: "Liam R. Howlett" Date: Mon, 4 Jan 2021 15:10:54 -0500 Subject: [PATCH] mm/util: Remove __vma_link_list() and __vma_unlink_list() Signed-off-by: Liam R. Howlett --- mm/mmap.c | 19 ++++--------------- mm/util.c | 40 ---------------------------------------- 2 files changed, 4 insertions(+), 55 deletions(-) diff --git a/mm/mmap.c b/mm/mmap.c index fe02f3200c70..6bceaab553da 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -609,7 +609,6 @@ static void vma_mas_link(struct mm_struct *mm, struct vm_area_struct *vma, } vma_mas_store(vma, mas); - __vma_link_list(mm, vma, prev); __vma_link_file(vma); if (mapping) @@ -630,7 +629,6 @@ static void vma_link(struct mm_struct *mm, struct vm_area_struct *vma, } vma_mt_store(mm, vma); - __vma_link_list(mm, vma, prev); __vma_link_file(vma); if (mapping) @@ -650,7 +648,6 @@ static void __insert_vm_struct(struct mm_struct *mm, struct vm_area_struct *vma) BUG_ON(range_has_overlap(mm, vma->vm_start, vma->vm_end, &prev)); vma_mt_store(mm, vma); - __vma_link_list(mm, vma, prev); mm->map_count++; } @@ -707,13 +704,8 @@ inline int vma_expand(struct ma_state *mas, struct vm_area_struct *vma, } /* Expanding over the next vma */ - if (remove_next) { - /* Remove from mm linked list - also updates highest_vm_end */ - __vma_unlink_list(mm, next); - - if (file) - __remove_shared_vm_struct(next, file, mapping); - + if (remove_next && file) { + __remove_shared_vm_struct(next, file, mapping); } else if (!next) { mm->highest_vm_end = vm_end_gap(vma); } @@ -922,10 +914,8 @@ again: flush_dcache_mmap_unlock(mapping); } - if (remove_next) { - __vma_unlink_list(mm, next); - if (file) - __remove_shared_vm_struct(next, file, mapping); + if (remove_next && file) { + __remove_shared_vm_struct(next, file, mapping); } else if (insert) { /* * split_vma has split insert from vma, and needs @@ -3186,7 +3176,6 @@ static int do_brk_flags(struct ma_state *mas, struct vm_area_struct **brkvma, if (!prev) prev = mas_prev(mas, 0); - __vma_link_list(mm, vma, prev); mm->map_count++; *brkvma = vma; out: diff --git a/mm/util.c b/mm/util.c index f57a76b53b23..b30ceeec55f0 100644 --- a/mm/util.c +++ b/mm/util.c @@ -271,46 +271,6 @@ void *memdup_user_nul(const void __user *src, size_t len) } EXPORT_SYMBOL(memdup_user_nul); -void __vma_link_list(struct mm_struct *mm, struct vm_area_struct *vma, - struct vm_area_struct *prev) -{ - struct vm_area_struct *next; - - vma->vm_prev = prev; - if (prev) { - next = prev->vm_next; - prev->vm_next = vma; - } else { - next = mm->mmap; - mm->mmap = vma; - } - vma->vm_next = next; - if (next) - next->vm_prev = vma; - else - mm->highest_vm_end = vm_end_gap(vma); -} - -void __vma_unlink_list(struct mm_struct *mm, struct vm_area_struct *vma) -{ - struct vm_area_struct *prev, *next; - - next = vma->vm_next; - prev = vma->vm_prev; - if (prev) - prev->vm_next = next; - else - mm->mmap = next; - if (next) - next->vm_prev = prev; - else { - if (prev) - mm->highest_vm_end = vm_end_gap(prev); - else - mm->highest_vm_end = 0; - } -} - /* Check if the vma is being used as a stack by this task */ int vma_is_stack_for_current(struct vm_area_struct *vma) { -- 2.50.1