static pte_t *hugepte_alloc(struct mm_struct *mm, pgd_t *dir, unsigned long addr) 
static pte_t *hugepte_alloc(struct mm_struct *mm, pud_t *dir, unsigned long addr) 
static pte_t *hugepte_alloc(struct mm_struct *mm, pgd_t *dir,			    unsigned long addr){	if (! pgd_present(*dir)) {		pte_t *new;		spin_unlock(&mm->page_table_lock);		new = kmem_cache_alloc(zero_cache, GFP_KERNEL | __GFP_REPEAT);		BUG_ON(memcmp(new, empty_zero_page, PAGE_SIZE));		spin_lock(&mm->page_table_lock);		/*		 * Because we dropped the lock, we should re-check the		 * entry, as somebody else could have populated it..		 */		if (pgd_present(*dir)) {			if (new)				kmem_cache_free(zero_cache, new);		} else {			struct page *ptepage;			if (! new)				return NULL;			ptepage = virt_to_page(new);			ptepage->mapping = (void *) mm;			ptepage->index = addr & HUGEPGDIR_MASK;			pgd_populate(mm, dir, new);		}	}	return hugepte_offset(dir, addr);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/58366af5861eee1479426380e3c91ecb334c301d/hugetlbpage.c/buggy/arch/ppc64/mm/hugetlbpage.c