 free_unused_memmap_node(node, &meminfo); 
void __init mem_init(void){	unsigned int codepages, datapages, initpages;	int i, node;	codepages = &_etext - &_text;	datapages = &_end - &__data_start;	initpages = &__init_end - &__init_begin;#ifndef CONFIG_DISCONTIGMEM	max_mapnr   = virt_to_page(high_memory) - mem_map;#endif	/*	 * We may have non-contiguous memory.	 */	if (meminfo.nr_banks != 1)		create_memmap_holes(&meminfo);	/* this will put all unused low memory onto the freelists */	for_each_online_node(node) {		pg_data_t *pgdat = NODE_DATA(node);		if (pgdat->node_spanned_pages != 0)			totalram_pages += free_all_bootmem_node(pgdat);	}#ifdef CONFIG_SA1111	/* now that our DMA memory is actually so designated, we can free it */	free_area(PAGE_OFFSET, (unsigned long)swapper_pg_dir, NULL);#endif	/*	 * Since our memory may not be contiguous, calculate the	 * real number of pages we have in this system	 */	printk(KERN_INFO "Memory:");	num_physpages = 0;	for (i = 0; i < meminfo.nr_banks; i++) {		num_physpages += meminfo.bank[i].size >> PAGE_SHIFT;		printk(" %ldMB", meminfo.bank[i].size >> 20);	}	printk(" = %luMB total\n", num_physpages >> (20 - PAGE_SHIFT));	printk(KERN_NOTICE "Memory: %luKB available (%dK code, "		"%dK data, %dK init)\n",		(unsigned long) nr_free_pages() << (PAGE_SHIFT-10),		codepages >> 10, datapages >> 10, initpages >> 10);	if (PAGE_SIZE >= 16384 && num_physpages <= 128) {		extern int sysctl_overcommit_memory;		/*		 * On a machine this small we won't get		 * anywhere without overcommit, so turn		 * it on by default.		 */		sysctl_overcommit_memory = OVERCOMMIT_ALWAYS;	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/a013053d4965d9a45300938e713a4b512e0257d8/init.c/buggy/arch/arm/mm/init.c