Lines Matching refs:old_len

572 		unsigned long old_addr, unsigned long old_len,  in move_vma()  argument
577 long to_account = new_len - old_len; in move_vma()
602 if (!err && vma->vm_end != old_addr + old_len) in move_vma()
603 err = vma->vm_ops->may_split(vma, old_addr + old_len); in move_vma()
615 err = ksm_madvise(vma, old_addr, old_addr + old_len, in move_vma()
634 moved_len = move_page_tables(vma, old_addr, new_vma, new_addr, old_len, in move_vma()
636 if (moved_len < old_len) { in move_vma()
651 old_len = new_len; in move_vma()
665 excess = vma->vm_end - vma->vm_start - old_len; in move_vma()
667 old_addr + old_len < vma->vm_end) in move_vma()
696 vma->vm_end == (old_addr + old_len)) in move_vma()
703 if (do_munmap(mm, old_addr, old_len, uf_unmap) < 0) { in move_vma()
706 vm_acct_memory(old_len >> PAGE_SHIFT); in move_vma()
728 unsigned long old_len, unsigned long new_len, unsigned long flags) in vma_to_resize() argument
746 if (!old_len && !(vma->vm_flags & (VM_SHARED | VM_MAYSHARE))) { in vma_to_resize()
756 if (old_len > vma->vm_end - addr) in vma_to_resize()
759 if (new_len == old_len) in vma_to_resize()
771 if (mlock_future_check(mm, vma->vm_flags, new_len - old_len)) in vma_to_resize()
775 (new_len - old_len) >> PAGE_SHIFT)) in vma_to_resize()
781 static unsigned long mremap_to(unsigned long addr, unsigned long old_len, in mremap_to() argument
799 if (addr + old_len > new_addr && new_addr + new_len > addr) in mremap_to()
825 if (old_len > new_len) { in mremap_to()
826 ret = do_munmap(mm, addr+new_len, old_len - new_len, uf_unmap); in mremap_to()
829 old_len = new_len; in mremap_to()
832 vma = vma_to_resize(addr, old_len, new_len, flags); in mremap_to()
840 !may_expand_vm(mm, vma->vm_flags, old_len >> PAGE_SHIFT)) { in mremap_to()
861 ret = move_vma(vma, addr, old_len, new_len, new_addr, locked, flags, uf, in mremap_to()
889 SYSCALL_DEFINE5(mremap, unsigned long, addr, unsigned long, old_len, in SYSCALL_DEFINE5() argument
925 (!(flags & MREMAP_MAYMOVE) || old_len != new_len)) in SYSCALL_DEFINE5()
932 old_len = PAGE_ALIGN(old_len); in SYSCALL_DEFINE5()
954 old_len = ALIGN(old_len, huge_page_size(h)); in SYSCALL_DEFINE5()
967 if (new_len > old_len) in SYSCALL_DEFINE5()
972 ret = mremap_to(addr, old_len, new_addr, new_len, in SYSCALL_DEFINE5()
984 if (old_len >= new_len) { in SYSCALL_DEFINE5()
989 old_len - new_len, &uf_unmap, true); in SYSCALL_DEFINE5()
993 } else if (retval < 0 && old_len != new_len) { in SYSCALL_DEFINE5()
1005 vma = vma_to_resize(addr, old_len, new_len, flags); in SYSCALL_DEFINE5()
1013 if (old_len == vma->vm_end - addr) { in SYSCALL_DEFINE5()
1015 if (vma_expandable(vma, new_len - old_len)) { in SYSCALL_DEFINE5()
1016 long pages = (new_len - old_len) >> PAGE_SHIFT; in SYSCALL_DEFINE5()
1017 unsigned long extension_start = addr + old_len; in SYSCALL_DEFINE5()
1019 pgoff_t extension_pgoff = vma->vm_pgoff + (old_len >> PAGE_SHIFT); in SYSCALL_DEFINE5()
1075 ret = move_vma(vma, addr, old_len, new_len, new_addr, in SYSCALL_DEFINE5()
1085 if (locked && new_len > old_len) in SYSCALL_DEFINE5()
1086 mm_populate(new_addr + old_len, new_len - old_len); in SYSCALL_DEFINE5()
1088 mremap_userfaultfd_complete(&uf, addr, ret, old_len); in SYSCALL_DEFINE5()