[PATCH v3 41/66] kernel/acct: Use maple tree iterators instead of linked list

From: Liam Howlett
Date: Mon Oct 04 2021 - 21:32:29 EST


From: "Liam R. Howlett" <Liam.Howlett@xxxxxxxxxx>

Signed-off-by: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx>
---
kernel/acct.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/kernel/acct.c b/kernel/acct.c
index 23a7ab8e6cbc..32343edc7330 100644
--- a/kernel/acct.c
+++ b/kernel/acct.c
@@ -534,16 +534,16 @@ void acct_collect(long exitcode, int group_dead)
struct pacct_struct *pacct = &current->signal->pacct;
u64 utime, stime;
unsigned long vsize = 0;
+ MA_STATE(mas, &current->mm->mm_mt, 0, 0);

if (group_dead && current->mm) {
struct vm_area_struct *vma;

mmap_read_lock(current->mm);
- vma = current->mm->mmap;
- while (vma) {
+ rcu_read_lock();
+ mas_for_each(&mas, vma, ULONG_MAX)
vsize += vma->vm_end - vma->vm_start;
- vma = vma->vm_next;
- }
+ rcu_read_unlock();
mmap_read_unlock(current->mm);
}

--
2.30.2