mm/mremap: use helper mlock_future_check()
authorMiaohe Lin <linmiaohe@huawei.com>
Fri, 29 Apr 2022 06:16:14 +0000 (23:16 -0700)
committerakpm <akpm@linux-foundation.org>
Fri, 29 Apr 2022 06:16:14 +0000 (23:16 -0700)
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>
mm/mremap.c

index 303d329..f2a53d5 100644 (file)
@@ -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))