diff options
Diffstat (limited to 'drivers/misc/sgi-gru/grufault.c')
-rw-r--r-- | drivers/misc/sgi-gru/grufault.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/misc/sgi-gru/grufault.c b/drivers/misc/sgi-gru/grufault.c index 6fb773dbcd0c..93be82fc338a 100644 --- a/drivers/misc/sgi-gru/grufault.c +++ b/drivers/misc/sgi-gru/grufault.c | |||
@@ -219,15 +219,20 @@ static int atomic_pte_lookup(struct vm_area_struct *vma, unsigned long vaddr, | |||
219 | int write, unsigned long *paddr, int *pageshift) | 219 | int write, unsigned long *paddr, int *pageshift) |
220 | { | 220 | { |
221 | pgd_t *pgdp; | 221 | pgd_t *pgdp; |
222 | pmd_t *pmdp; | 222 | p4d_t *p4dp; |
223 | pud_t *pudp; | 223 | pud_t *pudp; |
224 | pmd_t *pmdp; | ||
224 | pte_t pte; | 225 | pte_t pte; |
225 | 226 | ||
226 | pgdp = pgd_offset(vma->vm_mm, vaddr); | 227 | pgdp = pgd_offset(vma->vm_mm, vaddr); |
227 | if (unlikely(pgd_none(*pgdp))) | 228 | if (unlikely(pgd_none(*pgdp))) |
228 | goto err; | 229 | goto err; |
229 | 230 | ||
230 | pudp = pud_offset(pgdp, vaddr); | 231 | p4dp = p4d_offset(pgdp, vaddr); |
232 | if (unlikely(p4d_none(*p4dp))) | ||
233 | goto err; | ||
234 | |||
235 | pudp = pud_offset(p4dp, vaddr); | ||
231 | if (unlikely(pud_none(*pudp))) | 236 | if (unlikely(pud_none(*pudp))) |
232 | goto err; | 237 | goto err; |
233 | 238 | ||