Re: [PATCH v2 1/6] riscv: Split early and final KASAN population functions

From: Conor Dooley
Date: Mon Jan 23 2023 - 17:16:11 EST


Hey Alex,

FYI this patch has a couple places with spaces used rather than tabs for
indent.

> static void __init kasan_populate_p4d(pgd_t *pgd,
> - unsigned long vaddr, unsigned long end,
> - bool early)
> + unsigned long vaddr, unsigned long end)
> {
> phys_addr_t phys_addr;
> p4d_t *p4dp, *base_p4d;
> unsigned long next;
>
> - if (early) {
> - /*
> - * We can't use pgd_page_vaddr here as it would return a linear
> - * mapping address but it is not mapped yet, but when populating
> - * early_pg_dir, we need the physical address and when populating
> - * swapper_pg_dir, we need the kernel virtual address so use
> - * pt_ops facility.
> - */
> - base_p4d = pt_ops.get_p4d_virt(pfn_to_phys(_pgd_pfn(*pgd)));
> - } else {
> - base_p4d = (p4d_t *)pgd_page_vaddr(*pgd);
> - if (base_p4d == lm_alias(kasan_early_shadow_p4d)) {
> - base_p4d = memblock_alloc(PTRS_PER_PUD * sizeof(p4d_t), PAGE_SIZE);
> - memcpy(base_p4d, (void *)kasan_early_shadow_p4d,
> - sizeof(p4d_t) * PTRS_PER_P4D);
> - }
> - }
> + base_p4d = (p4d_t *)pgd_page_vaddr(*pgd);
> + if (base_p4d == lm_alias(kasan_early_shadow_p4d)) {
> + base_p4d = memblock_alloc(PTRS_PER_PUD * sizeof(p4d_t), PAGE_SIZE);
> + memcpy(base_p4d, (void *)kasan_early_shadow_p4d,
> + sizeof(p4d_t) * PTRS_PER_P4D);
> + }

^^ here.

Thanks,
Conor.

Attachment: signature.asc
Description: PGP signature