if (atomic_read(&vm_committed_space) < allowed) 
/* * cast `allowed' as a signed long because vm_committed_space * sometimes has a negative value */ if (atomic_read(&vm_committed_space) < (long)allowed) 
int __vm_enough_memory(long pages, int cap_sys_admin){	unsigned long free, allowed;	vm_acct_memory(pages);	/*	 * Sometimes we want to use more memory than we have	 */	if (sysctl_overcommit_memory == OVERCOMMIT_ALWAYS)		return 0;	if (sysctl_overcommit_memory == OVERCOMMIT_GUESS) {		unsigned long n;		free = get_page_cache_size();		free += nr_swap_pages;		/*		 * Any slabs which are created with the		 * SLAB_RECLAIM_ACCOUNT flag claim to have contents		 * which are reclaimable, under pressure.  The dentry		 * cache and most inode caches should fall into this		 */		free += atomic_read(&slab_reclaim_pages);		/*		 * Leave the last 3% for root		 */		if (!cap_sys_admin)			free -= free / 32;		if (free > pages)			return 0;		/*		 * nr_free_pages() is very expensive on large systems,		 * only call if we're about to fail.		 */		n = nr_free_pages();		if (!cap_sys_admin)			n -= n / 32;		free += n;		if (free > pages)			return 0;		vm_unacct_memory(pages);		return -ENOMEM;	}	allowed = (totalram_pages - hugetlb_total_pages())	       	* sysctl_overcommit_ratio / 100;	/*	 * Leave the last 3% for root	 */	if (!cap_sys_admin)		allowed -= allowed / 32;	allowed += total_swap_pages;	/* Don't let a single process grow too big:	   leave 3% of the size of this process for other processes */	allowed -= current->mm->total_vm / 32;	if (atomic_read(&vm_committed_space) < allowed)		return 0;	vm_unacct_memory(pages);	return -ENOMEM;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2f60f8d3573ff90fe5d75a6d11fd2add1248e7d6/mmap.c/clean/mm/mmap.c