pud_t *new;  if (mm != &init_mm)		 spin_unlock(&mm->page_table_lock); new = pud_alloc_one(mm, address); if (!new) { if (mm != &init_mm)	 spin_lock(&mm->page_table_lock);
pud_t *new = pud_alloc_one(mm, address); if (!new)
int __pud_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address){	pud_t *new;	if (mm != &init_mm)		/* Temporary bridging hack */		spin_unlock(&mm->page_table_lock);	new = pud_alloc_one(mm, address);	if (!new) {		if (mm != &init_mm)	/* Temporary bridging hack */			spin_lock(&mm->page_table_lock);		return -ENOMEM;	}	spin_lock(&mm->page_table_lock);	if (pgd_present(*pgd))		/* Another has populated it */		pud_free(new);	else		pgd_populate(mm, pgd, new);	if (mm == &init_mm)		/* Temporary bridging hack */		spin_unlock(&mm->page_table_lock);	return 0;}