|
@@ -4635,7 +4635,9 @@ pte_t *huge_pte_alloc(struct mm_struct *mm,
|
|
pte_t *pte = NULL;
|
|
pte_t *pte = NULL;
|
|
|
|
|
|
pgd = pgd_offset(mm, addr);
|
|
pgd = pgd_offset(mm, addr);
|
|
- p4d = p4d_offset(pgd, addr);
|
|
|
|
|
|
+ p4d = p4d_alloc(mm, pgd, addr);
|
|
|
|
+ if (!p4d)
|
|
|
|
+ return NULL;
|
|
pud = pud_alloc(mm, p4d, addr);
|
|
pud = pud_alloc(mm, p4d, addr);
|
|
if (pud) {
|
|
if (pud) {
|
|
if (sz == PUD_SIZE) {
|
|
if (sz == PUD_SIZE) {
|