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 a64102be2bb0..82c79cab4faf 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 = ¤t->signal->pacct; u64 utime, stime; unsigned long vsize = 0; + MA_STATE(mas, ¤t->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