X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=mm%2Fmlock.c;h=0a0c996c5c21403a2dd91d0f6fdd4bf5064ca247;hb=eb605fa6c97730e69daeb4381b43dd921250386a;hp=d7db94519884dc0da985c7ab8d0d6dc3cd081df3;hpb=8066178f530898e4be07406a4c359a2cd14754e8;p=platform%2Fkernel%2Flinux-starfive.git diff --git a/mm/mlock.c b/mm/mlock.c index d7db945..0a0c996 100644 --- a/mm/mlock.c +++ b/mm/mlock.c @@ -477,7 +477,6 @@ static int apply_vma_lock_flags(unsigned long start, size_t len, { unsigned long nstart, end, tmp; struct vm_area_struct *vma, *prev; - int error; VMA_ITERATOR(vmi, current->mm, start); VM_BUG_ON(offset_in_page(start)); @@ -498,6 +497,7 @@ static int apply_vma_lock_flags(unsigned long start, size_t len, nstart = start; tmp = vma->vm_start; for_each_vma_range(vmi, vma, end) { + int error; vm_flags_t newflags; if (vma->vm_start != tmp) @@ -511,14 +511,15 @@ static int apply_vma_lock_flags(unsigned long start, size_t len, tmp = end; error = mlock_fixup(&vmi, vma, &prev, nstart, tmp, newflags); if (error) - break; + return error; + tmp = vma_iter_end(&vmi); nstart = tmp; } - if (vma_iter_end(&vmi) < end) + if (tmp < end) return -ENOMEM; - return error; + return 0; } /*