Signed-off-by: Liam R. Howlett <[email protected]>
---
 mm/swapfile.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mm/swapfile.c b/mm/swapfile.c
index d58361109066d..10e1d60ff6f89 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -2104,9 +2104,10 @@ static int unuse_mm(struct mm_struct *mm, unsigned int 
type,
 {
        struct vm_area_struct *vma;
        int ret = 0;
+       MA_STATE(mas, &mm->mm_mt, 0, 0);
 
        mmap_read_lock(mm);
-       for (vma = mm->mmap; vma; vma = vma->vm_next) {
+       mas_for_each(&mas, vma, ULONG_MAX) {
                if (vma->anon_vma) {
                        ret = unuse_vma(vma, type, frontswap,
                                        fs_pages_to_unuse);
-- 
2.28.0

Reply via email to