Re: [PATCH v1 2/4] x86/xen: add basic KASAN support for PV kernel

From: Sergey Dyasli
Date: Fri Jan 10 2020 - 06:46:52 EST


On 09/01/2020 23:27, Boris Ostrovsky wrote:
>
>
> On 1/8/20 10:20 AM, Sergey Dyasli wrote:
>> @@ -1943,6 +1973,15 @@ void __init xen_setup_kernel_pagetable(pgd_t *pgd, unsigned long max_pfn)
>> ÂÂÂÂÂ if (i && i < pgd_index(__START_KERNEL_map))
>> ÂÂÂÂÂÂÂÂÂ init_top_pgt[i] = ((pgd_t *)xen_start_info->pt_base)[i];
>> Â +#ifdef CONFIG_KASAN
>> +ÂÂÂ /*
>> +ÂÂÂÂ * Copy KASAN mappings
>> +ÂÂÂÂ * ffffec0000000000 - fffffbffffffffff (=44 bits) kasan shadow memory (16TB)
>> +ÂÂÂÂ */
>> +ÂÂÂ for (i = 0xec0 >> 3; i < 0xfc0 >> 3; i++)
>
> Are you referring here to KASAN_SHADOW_START and KASAN_SHADOW_END? If so, can you use them instead?

Indeed, the following macros make the code neater:

#ifdef CONFIG_KASAN
/* Copy KASAN mappings */
for (i = pgd_index(KASAN_SHADOW_START);
i < pgd_index(KASAN_SHADOW_END);
i++)
init_top_pgt[i] = ((pgd_t *)xen_start_info->pt_base)[i];
#endif /* ifdef CONFIG_KASAN */

--
Thanks,
Sergey