forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 9999e48639b3cecb08ffb37358bcba3b48161b29
kernel/arch/sh/mm/tlbex_32.c
....@@ -23,6 +23,7 @@
2323 unsigned long address)
2424 {
2525 pgd_t *pgd;
26
+ p4d_t *p4d;
2627 pud_t *pud;
2728 pmd_t *pmd;
2829 pte_t *pte;
....@@ -42,7 +43,10 @@
4243 pgd = pgd_offset(current->mm, address);
4344 }
4445
45
- pud = pud_offset(pgd, address);
46
+ p4d = p4d_offset(pgd, address);
47
+ if (p4d_none_or_clear_bad(p4d))
48
+ return 1;
49
+ pud = pud_offset(p4d, address);
4650 if (pud_none_or_clear_bad(pud))
4751 return 1;
4852 pmd = pmd_offset(pud, address);