Re: [PATCH] UML: add support for KASAN under x86_64
From: Johannes Berg
Date: Tue Mar 31 2020 - 03:44:13 EST
On Mon, 2020-03-30 at 23:14 -0700, David Gow wrote:
>
> I spent a little time playing around with this, and was able to get
> mac80211
mac80211, or mac80211-hwsim? I can load a few modules, but then it
crashes on say the third (usually, but who knows what this depends on).
> loading if I force-enabled CONFIG_KASAN_VMALLOC (alongside
> bumping up the shadow memory address).
Not sure I tried that combination though.
> The test-bpf module was still failing, though â which may or may not
> have been related to how bpf uses vmalloc().
I think I got some trouble also with just stack unwinding and other
random things faulting in the vmalloc and/or shadow space ...
> I do like the idea of trying to push the shadow memory allocation
> through UML's PTE code, but confess to not understanding it
> particularly well.
Me neither. I just noticed that all the vmalloc and kasan-vmalloc do all
the PTE handling, so things might easily clash if you have
CONFIG_KASAN_VMALLOC, which we do want eventually.
> I imagine it'd require pushing the KASAN
> initialisation back until after init_physmem, and having the shadow
> memory be backed by the physmem file? Unless there's a clever way of
> allocating the shadow memory early, and then hooking it into the page
> tables/etc when those are initialised (akin to how on x86 there's a
> separate early shadow memory stage while things are still being set
> up, maybe?)
Pretty sure we should be able to hook it up later, but I haven't really
dug deeply yet.
johannes