Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
if (mm == NULL)
mm = current->mm;
+ rcu_read_lock();
mas_for_each(&mas, vma, start + len) {
if (start >= vma->vm_end)
continue;
count += vma->vm_end - vma->vm_start;
}
}
+ rcu_read_unlock();
return count >> PAGE_SHIFT;
}
to_add |= VM_LOCKONFAULT;
}
+ rcu_read_lock();
mas_for_each(&mas, vma, ULONG_MAX) {
vm_flags_t newflags;
/* Ignore errors */
mlock_fixup(vma, &prev, vma->vm_start, vma->vm_end, newflags);
+ rcu_read_unlock();
mas_pause(&mas);
cond_resched();
+ rcu_read_lock();
}
+ rcu_read_unlock();
out:
return 0;
}