hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/arch/m68k/include/asm/mmu_context.h
....@@ -100,6 +100,8 @@
100100 struct mm_struct *mm;
101101 int asid;
102102 pgd_t *pgd;
103
+ p4d_t *p4d;
104
+ pud_t *pud;
103105 pmd_t *pmd;
104106 pte_t *pte;
105107 unsigned long mmuar;
....@@ -127,7 +129,15 @@
127129 if (pgd_none(*pgd))
128130 goto bug;
129131
130
- pmd = pmd_offset(pgd, mmuar);
132
+ p4d = p4d_offset(pgd, mmuar);
133
+ if (p4d_none(*p4d))
134
+ goto bug;
135
+
136
+ pud = pud_offset(p4d, mmuar);
137
+ if (pud_none(*pud))
138
+ goto bug;
139
+
140
+ pmd = pmd_offset(pud, mmuar);
131141 if (pmd_none(*pmd))
132142 goto bug;
133143
....@@ -212,7 +222,7 @@
212222
213223 #include <asm/setup.h>
214224 #include <asm/page.h>
215
-#include <asm/pgalloc.h>
225
+#include <asm/cacheflush.h>
216226
217227 static inline int init_new_context(struct task_struct *tsk,
218228 struct mm_struct *mm)