- pgd = pgd_offset(mm, addr);
- spin_lock(&mm->page_table_lock);
-
- if (!vx_rsspages_avail(mm, 1))
- goto err_unlock;
-
- pud = pud_alloc(mm, pgd, addr);
- if (!pud)
- goto err_unlock;
-
- pmd = pmd_alloc(mm, pud, addr);
- if (!pmd)
- goto err_unlock;
-
- pte = pte_alloc_map(mm, pmd, addr);