if (mm->total_vm + grow > rlim[RLIMIT_AS].rlim_cur >> PAGE_SHIFT) 
if (!may_expand_vm(mm, grow)) 
static int acct_stack_growth(struct vm_area_struct * vma, unsigned long size, unsigned long grow){	struct mm_struct *mm = vma->vm_mm;	struct rlimit *rlim = current->signal->rlim;	/* address space limit tests */	if (mm->total_vm + grow > rlim[RLIMIT_AS].rlim_cur >> PAGE_SHIFT)		return -ENOMEM;	/* Stack limit test */	if (size > rlim[RLIMIT_STACK].rlim_cur)		return -ENOMEM;	/* mlock limit tests */	if (vma->vm_flags & VM_LOCKED) {		unsigned long locked;		unsigned long limit;		locked = mm->locked_vm + grow;		limit = rlim[RLIMIT_MEMLOCK].rlim_cur >> PAGE_SHIFT;		if (locked > limit && !capable(CAP_IPC_LOCK))			return -ENOMEM;	}	/*	 * Overcommit..  This must be the final test, as it will	 * update security statistics.	 */	if (security_vm_enough_memory(grow))		return -ENOMEM;	/* Ok, everything looks good - let it rip */	mm->total_vm += grow;	if (vma->vm_flags & VM_LOCKED)		mm->locked_vm += grow;	__vm_stat_account(mm, vma->vm_flags, vma->vm_file, grow);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/119f657c72fc07d6fd28c61de59cfba1566970a9/mmap.c/clean/mm/mmap.c