aboutsummaryrefslogtreecommitdiffstats
path: root/mm/mremap.c
diff options
context:
space:
mode:
authorMiaohe Lin <linmiaohe@huawei.com>2022-04-28 23:16:14 -0700
committerakpm <akpm@linux-foundation.org>2022-04-28 23:16:14 -0700
commitf433195679a9639a3af5be03bcb9c3d933e3b261 (patch)
treef4e6a4f9783db299c4a83ec3f8256d5cef47561c /mm/mremap.c
parentmm/mmap: drop arch_vm_get_page_pgprot() (diff)
downloadlinux-dev-f433195679a9639a3af5be03bcb9c3d933e3b261.tar.xz
linux-dev-f433195679a9639a3af5be03bcb9c3d933e3b261.zip
mm/mremap: use helper mlock_future_check()
Use helper mlock_future_check() to check whether it's safe to resize the locked_vm to simplify the code. Minor readability improvement. Link: https://lkml.kernel.org/r/20220322112004.27380-1-linmiaohe@huawei.com Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> Reviewed-by: Wei Yang <richard.weiyang@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm/mremap.c')
-rw-r--r--mm/mremap.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/mm/mremap.c b/mm/mremap.c
index 303d3290b938..f2a53d53f1b9 100644
--- a/mm/mremap.c
+++ b/mm/mremap.c
@@ -766,14 +766,8 @@ static struct vm_area_struct *vma_to_resize(unsigned long addr,
if (vma->vm_flags & (VM_DONTEXPAND | VM_PFNMAP))
return ERR_PTR(-EFAULT);
- if (vma->vm_flags & VM_LOCKED) {
- unsigned long locked, lock_limit;
- locked = mm->locked_vm << PAGE_SHIFT;
- lock_limit = rlimit(RLIMIT_MEMLOCK);
- locked += new_len - old_len;
- if (locked > lock_limit && !capable(CAP_IPC_LOCK))
- return ERR_PTR(-EAGAIN);
- }
+ if (mlock_future_check(mm, vma->vm_flags, new_len - old_len))
+ return ERR_PTR(-EAGAIN);
if (!may_expand_vm(mm, vma->vm_flags,
(new_len - old_len) >> PAGE_SHIFT))