out:	spin_unlock(&init_mm.page_table_lock); 
out: 
put_kernel_page (struct page *page, unsigned long address, pgprot_t pgprot){	pgd_t *pgd;	pud_t *pud;	pmd_t *pmd;	pte_t *pte;	if (!PageReserved(page))		printk(KERN_ERR "put_kernel_page: page at 0x%p not in reserved memory\n",		       page_address(page));	pgd = pgd_offset_k(address);		/* note: this is NOT pgd_offset()! */	spin_lock(&init_mm.page_table_lock);	{		pud = pud_alloc(&init_mm, pgd, address);		if (!pud)			goto out;		pmd = pmd_alloc(&init_mm, pud, address);		if (!pmd)			goto out;		pte = pte_alloc_map(&init_mm, pmd, address);		if (!pte)			goto out;		if (!pte_none(*pte)) {			pte_unmap(pte);			goto out;		}		set_pte(pte, mk_pte(page, pgprot));		pte_unmap(pte);	}  out:	spin_unlock(&init_mm.page_table_lock);	/* no need for flush_tlb */	return page;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/872fec16d9a0ed3b75b8893aa217e49cca575ee5/init.c/buggy/arch/ia64/mm/init.c