if ((vma->vm_flags & VM_ACCOUNT) && security_vm_enough_memory(vma_pages(vma))) return -ENOMEM; 
int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma){	struct vm_area_struct * __vma, * prev;	struct rb_node ** rb_link, * rb_parent;	/*	 * The vm_pgoff of a purely anonymous vma should be irrelevant	 * until its first write fault, when page's anon_vma and index	 * are set.  But now set the vm_pgoff it will almost certainly	 * end up with (unless mremap moves it elsewhere before that	 * first wfault), so /proc/pid/maps tells a consistent story.	 *	 * By setting it to reflect the virtual start address of the	 * vma, merges and splits can happen in a seamless way, just	 * using the existing file pgoff checks and manipulations.	 * Similarly in do_mmap_pgoff and in do_brk.	 */	if (!vma->vm_file) {		BUG_ON(vma->anon_vma);		vma->vm_pgoff = vma->vm_start >> PAGE_SHIFT;	}	__vma = find_vma_prepare(mm,vma->vm_start,&prev,&rb_link,&rb_parent);	if (__vma && __vma->vm_start < vma->vm_end)		return -ENOMEM;	vma_link(mm, vma, prev, rb_link, rb_parent);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2fd4ef85e0db9ed75c98e13953257a967ea55e03/mmap.c/clean/mm/mmap.c