aboutsummaryrefslogtreecommitdiffstats
path: root/mm/mlock.c
diff options
context:
space:
mode:
authorMark Brown <[email protected]>2023-07-23 22:33:05 +0000
committerMark Brown <[email protected]>2023-07-23 22:33:05 +0000
commitde1b43a57aff8b1808bbfe0402932f9e373d1172 (patch)
tree699c828946223aab18a0aab5175e6902a8ce2e42 /mm/mlock.c
parentASoC: wm8960: Add DAC filter characteristics selection (diff)
parentLinux 6.5-rc3 (diff)
downloadkernel-de1b43a57aff8b1808bbfe0402932f9e373d1172.tar.gz
kernel-de1b43a57aff8b1808bbfe0402932f9e373d1172.zip
ASoC: Merge up fixes from mainline
There's several things here that will really help my CI.
Diffstat (limited to 'mm/mlock.c')
-rw-r--r--mm/mlock.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/mm/mlock.c b/mm/mlock.c
index d7db94519884..0a0c996c5c21 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;
}
/*