Lines Matching refs:new_vma
2919 struct vm_area_struct *new_vma, *prev; in copy_vma() local
2934 new_vma = vma_merge(mm, prev, addr, addr + len, vma->vm_flags, in copy_vma()
2936 if (new_vma) { in copy_vma()
2940 if (unlikely(vma_start >= new_vma->vm_start && in copy_vma()
2941 vma_start < new_vma->vm_end)) { in copy_vma()
2954 VM_BUG_ON_VMA(faulted_in_anon_vma, new_vma); in copy_vma()
2955 *vmap = vma = new_vma; in copy_vma()
2957 *need_rmap_locks = (new_vma->vm_pgoff <= vma->vm_pgoff); in copy_vma()
2959 new_vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL); in copy_vma()
2960 if (new_vma) { in copy_vma()
2961 *new_vma = *vma; in copy_vma()
2962 new_vma->vm_start = addr; in copy_vma()
2963 new_vma->vm_end = addr + len; in copy_vma()
2964 new_vma->vm_pgoff = pgoff; in copy_vma()
2965 if (vma_dup_policy(vma, new_vma)) in copy_vma()
2967 INIT_LIST_HEAD(&new_vma->anon_vma_chain); in copy_vma()
2968 if (anon_vma_clone(new_vma, vma)) in copy_vma()
2970 if (new_vma->vm_file) in copy_vma()
2971 get_file(new_vma->vm_file); in copy_vma()
2972 if (new_vma->vm_ops && new_vma->vm_ops->open) in copy_vma()
2973 new_vma->vm_ops->open(new_vma); in copy_vma()
2974 vma_link(mm, new_vma, prev, rb_link, rb_parent); in copy_vma()
2978 return new_vma; in copy_vma()
2981 mpol_put(vma_policy(new_vma)); in copy_vma()
2983 kmem_cache_free(vm_area_cachep, new_vma); in copy_vma()