Lines Matching refs:new_vma
2934 struct vm_area_struct *new_vma, *prev; in copy_vma() local
2949 new_vma = vma_merge(mm, prev, addr, addr + len, vma->vm_flags, in copy_vma()
2952 if (new_vma) { in copy_vma()
2956 if (unlikely(vma_start >= new_vma->vm_start && in copy_vma()
2957 vma_start < new_vma->vm_end)) { in copy_vma()
2970 VM_BUG_ON_VMA(faulted_in_anon_vma, new_vma); in copy_vma()
2971 *vmap = vma = new_vma; in copy_vma()
2973 *need_rmap_locks = (new_vma->vm_pgoff <= vma->vm_pgoff); in copy_vma()
2975 new_vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL); in copy_vma()
2976 if (!new_vma) in copy_vma()
2978 *new_vma = *vma; in copy_vma()
2979 new_vma->vm_start = addr; in copy_vma()
2980 new_vma->vm_end = addr + len; in copy_vma()
2981 new_vma->vm_pgoff = pgoff; in copy_vma()
2982 if (vma_dup_policy(vma, new_vma)) in copy_vma()
2984 INIT_LIST_HEAD(&new_vma->anon_vma_chain); in copy_vma()
2985 if (anon_vma_clone(new_vma, vma)) in copy_vma()
2987 if (new_vma->vm_file) in copy_vma()
2988 get_file(new_vma->vm_file); in copy_vma()
2989 if (new_vma->vm_ops && new_vma->vm_ops->open) in copy_vma()
2990 new_vma->vm_ops->open(new_vma); in copy_vma()
2991 vma_link(mm, new_vma, prev, rb_link, rb_parent); in copy_vma()
2994 return new_vma; in copy_vma()
2997 mpol_put(vma_policy(new_vma)); in copy_vma()
2999 kmem_cache_free(vm_area_cachep, new_vma); in copy_vma()