On Thu, Feb 18, 2021 at 11:46 AM Catalin Marinas <catalin.marinas@xxxxxxx> wrote: > > The approach looks fine to me. If you don't like the trade-off, I think > you could still leave the kasan poisoning in if CONFIG_DEBUG_KERNEL. This won't work, Android enables CONFIG_DEBUG_KERNEL in GKI as it turns out :) > Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> > > Just curious, have you noticed any issue booting a KASAN_SW_TAGS-enabled > kernel on a system with sufficiently large RAM? Is the boot slow-down > significant? When booting KASAN_SW_TAGS in QEMU with 40G there's a noticeable start-up delay compared to 2G, but it doesn't seem to be caused by this memblock->page_alloc poisoning, as removing it makes no noticeable difference. I also don't see a noticeable "hang" when booting KASAN_SW_TAGS in FVP, compared to the one I see with KASAN_HW_TAGS. But I do see a "hang" in QEMU when going from 2G to 40G with KASAN_HW_TAGS. It seems that doing STG is much more expensive than writing to the shadow memory. > For MTE, we could look at optimising the poisoning code for page size to > use STGM or DC GZVA but I don't think we can make it unnoticeable for > large systems (especially with DC GZVA, that's like zeroing the whole > RAM at boot). https://bugzilla.kernel.org/show_bug.cgi?id=211817