Re: [PATCH 1/1] x86_64: fix KASan shadow region page tables

From: Alexander Popov
Date: Mon May 25 2015 - 09:42:24 EST


On 25.05.2015 11:12, Andrey Ryabinin wrote:
> On 05/22/2015 07:03 PM, Alexander Popov wrote:
>> Physical addresses in KASan shadow region page tables need fixup:
>> kernel halts without it if phys_base is not zero.
>>
>
> Indeed.
> Since we have to patch page tables anyway, compile-time created kasan
> page tables become pointless.
> So, I'd suggest to create them in runtime. This could be done in plain C
> in kasan_map_early_shadow().
>

Thanks for your reply, Andrey.

Creating kasan_zero_pud, kasan_zero_pmd and kasan_zero_pte in
kasan_map_early_shadow() doesn't look handy for me because this function
is called twice in x86_64_start_kernel().

What do you think about leaving the initialization of KASan shadow region
page tables in arch/x86/kernel/head_64.S and calling something like
kasan_fixup_early_shadow() before calling kasan_map_early_shadow()
for the first time?

Best regards,
Alexander

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/