]> www.infradead.org Git - users/willy/linux.git/commitdiff
kernel/acct: Use maple tree iterators instead of linked list
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Mon, 4 Jan 2021 19:52:15 +0000 (14:52 -0500)
committerMatthew Wilcox (Oracle) <willy@infradead.org>
Wed, 20 Oct 2021 20:00:33 +0000 (16:00 -0400)
Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
kernel/acct.c

index 23a7ab8e6cbc8bdf68c0f46d8d09dfce07c5a6f5..32343edc7330bf6b324f5e237aa3dcb54010f90c 100644 (file)
@@ -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);
        }