diff options
Diffstat (limited to 'arch/riscv/mm')
| -rw-r--r-- | arch/riscv/mm/kasan_init.c | 14 | 
1 files changed, 3 insertions, 11 deletions
| diff --git a/arch/riscv/mm/kasan_init.c b/arch/riscv/mm/kasan_init.c index d7189c8714a9..54294f83513d 100644 --- a/arch/riscv/mm/kasan_init.c +++ b/arch/riscv/mm/kasan_init.c @@ -17,6 +17,9 @@ asmlinkage void __init kasan_early_init(void)  	uintptr_t i;  	pgd_t *pgd = early_pg_dir + pgd_index(KASAN_SHADOW_START); +	BUILD_BUG_ON(KASAN_SHADOW_OFFSET != +		KASAN_SHADOW_END - (1UL << (64 - KASAN_SHADOW_SCALE_SHIFT))); +  	for (i = 0; i < PTRS_PER_PTE; ++i)  		set_pte(kasan_early_shadow_pte + i,  			mk_pte(virt_to_page(kasan_early_shadow_page), @@ -172,21 +175,10 @@ void __init kasan_init(void)  	phys_addr_t p_start, p_end;  	u64 i; -	/* -	 * Populate all kernel virtual address space with kasan_early_shadow_page -	 * except for the linear mapping and the modules/kernel/BPF mapping. -	 */ -	kasan_populate_early_shadow((void *)KASAN_SHADOW_START, -				    (void *)kasan_mem_to_shadow((void *) -								VMEMMAP_END));  	if (IS_ENABLED(CONFIG_KASAN_VMALLOC))  		kasan_shallow_populate(  			(void *)kasan_mem_to_shadow((void *)VMALLOC_START),  			(void *)kasan_mem_to_shadow((void *)VMALLOC_END)); -	else -		kasan_populate_early_shadow( -			(void *)kasan_mem_to_shadow((void *)VMALLOC_START), -			(void *)kasan_mem_to_shadow((void *)VMALLOC_END));  	/* Populate the linear mapping */  	for_each_mem_range(i, &p_start, &p_end) { |