Lines Matching refs:addr
96 static void __ref zero_pte_populate(pmd_t *pmd, unsigned long addr,
99 pte_t *pte = pte_offset_kernel(pmd, addr);
106 while (addr + PAGE_SIZE <= end) {
107 set_pte_at(&init_mm, addr, pte, zero_pte);
108 addr += PAGE_SIZE;
109 pte = pte_offset_kernel(pmd, addr);
113 static int __ref zero_pmd_populate(pud_t *pud, unsigned long addr,
116 pmd_t *pmd = pmd_offset(pud, addr);
120 next = pmd_addr_end(addr, end);
122 if (IS_ALIGNED(addr, PMD_SIZE) && end - addr >= PMD_SIZE) {
140 zero_pte_populate(pmd, addr, next);
141 } while (pmd++, addr = next, addr != end);
146 static int __ref zero_pud_populate(p4d_t *p4d, unsigned long addr,
149 pud_t *pud = pud_offset(p4d, addr);
153 next = pud_addr_end(addr, end);
154 if (IS_ALIGNED(addr, PUD_SIZE) && end - addr >= PUD_SIZE) {
159 pmd = pmd_offset(pud, addr);
169 p = pmd_alloc(&init_mm, pud, addr);
180 zero_pmd_populate(pud, addr, next);
181 } while (pud++, addr = next, addr != end);
186 static int __ref zero_p4d_populate(pgd_t *pgd, unsigned long addr,
189 p4d_t *p4d = p4d_offset(pgd, addr);
193 next = p4d_addr_end(addr, end);
194 if (IS_ALIGNED(addr, P4D_SIZE) && end - addr >= P4D_SIZE) {
200 pud = pud_offset(p4d, addr);
203 pmd = pmd_offset(pud, addr);
213 p = pud_alloc(&init_mm, p4d, addr);
224 zero_pud_populate(p4d, addr, next);
225 } while (p4d++, addr = next, addr != end);
239 unsigned long addr = (unsigned long)shadow_start;
241 pgd_t *pgd = pgd_offset_k(addr);
245 next = pgd_addr_end(addr, end);
247 if (IS_ALIGNED(addr, PGDIR_SIZE) && end - addr >= PGDIR_SIZE) {
262 p4d = p4d_offset(pgd, addr);
265 pud = pud_offset(p4d, addr);
268 pmd = pmd_offset(pud, addr);
278 p = p4d_alloc(&init_mm, pgd, addr);
286 zero_p4d_populate(pgd, addr, next);
287 } while (pgd++, addr = next, addr != end);
352 static void kasan_remove_pte_table(pte_t *pte, unsigned long addr,
357 for (; addr < end; addr = next, pte++) {
358 next = (addr + PAGE_SIZE) & PAGE_MASK;
367 pte_clear(&init_mm, addr, pte);
371 static void kasan_remove_pmd_table(pmd_t *pmd, unsigned long addr,
376 for (; addr < end; addr = next, pmd++) {
379 next = pmd_addr_end(addr, end);
385 if (IS_ALIGNED(addr, PMD_SIZE) &&
391 pte = pte_offset_kernel(pmd, addr);
392 kasan_remove_pte_table(pte, addr, next);
397 static void kasan_remove_pud_table(pud_t *pud, unsigned long addr,
402 for (; addr < end; addr = next, pud++) {
405 next = pud_addr_end(addr, end);
411 if (IS_ALIGNED(addr, PUD_SIZE) &&
417 pmd = pmd_offset(pud, addr);
419 kasan_remove_pmd_table(pmd, addr, next);
424 static void kasan_remove_p4d_table(p4d_t *p4d, unsigned long addr,
429 for (; addr < end; addr = next, p4d++) {
432 next = p4d_addr_end(addr, end);
438 if (IS_ALIGNED(addr, P4D_SIZE) &&
444 pud = pud_offset(p4d, addr);
445 kasan_remove_pud_table(pud, addr, next);
452 unsigned long addr, end, next;
455 addr = (unsigned long)kasan_mem_to_shadow(start);
456 end = addr + (size >> KASAN_SHADOW_SCALE_SHIFT);
463 for (; addr < end; addr = next) {
466 next = pgd_addr_end(addr, end);
468 pgd = pgd_offset_k(addr);
473 if (IS_ALIGNED(addr, PGDIR_SIZE) &&
480 p4d = p4d_offset(pgd, addr);
481 kasan_remove_p4d_table(p4d, addr, next);