From: Liam R. Howlett Date: Tue, 9 Feb 2021 19:37:24 +0000 (-0500) Subject: mm/mempolicy: fix adcfbd7698558a X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=6dae27c7629d5c288122afbf3ad0d46441d41b6f;p=users%2Fjedix%2Flinux-maple.git mm/mempolicy: fix adcfbd7698558a When removing the linked list, a bug was introduced in maple state iterator used for the mbind_range() function. Signed-off-by: Liam R. Howlett --- diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 02319f993b1a..ae7ed639ba4b 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -815,7 +815,7 @@ static int mbind_range(struct mm_struct *mm, unsigned long start, vma = mas_find(&mas, -1); VM_BUG_ON(!vma); - prev = vma_mas_prev(&mas); + prev = mas_prev(&mas, 0); if (start > vma->vm_start) prev = vma; @@ -833,6 +833,7 @@ static int mbind_range(struct mm_struct *mm, unsigned long start, new_pol, vma->vm_userfaultfd_ctx); if (prev) { vma = prev; + mas_set(&mas, vma->vm_end); if (mpol_equal(vma_policy(vma), new_pol)) continue; /* vma_merge() joined vma && vma->next, case 8 */ @@ -856,7 +857,7 @@ next: prev = vma; } - out: +out: return err; }