aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/sgi-gru/grufault.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/sgi-gru/grufault.c')
-rw-r--r--drivers/misc/sgi-gru/grufault.c9
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