linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* KASAN & the vmalloc area
@ 2016-11-08 19:03 Mark Rutland
  2016-11-08 22:09 ` Dmitry Vyukov
  2016-11-09 16:53 ` Andrey Ryabinin
  0 siblings, 2 replies; 8+ messages in thread
From: Mark Rutland @ 2016-11-08 19:03 UTC (permalink / raw)
  To: Dmitry Vyukov, Andy Lutomirski
  Cc: Andrey Ryabinin, Laura Abbott, Ard Biesheuvel, linux-kernel,
	linux-arm-kernel

Hi,

I see a while back [1] there was a discussion of what to do about KASAN
and vmapped stacks, but it doesn't look like that was solved, judging by
the vmapped stacks pull [2] for v4.9.

I wondered whether anyone had looked at that since?

I have an additional reason to want to dynamically allocate the vmalloc
area shadow: it turns out that KASAN currently interacts rather poorly
with the arm64 ptdump code.

When KASAN is selected, we allocate shadow for the whole vmalloc area,
using common zero pte, pmd, pud tables. Walking over these in the ptdump
code takes a *very* long time (I've seen up to 15 minutes with
KASAN_OUTLINE enabled). For DEBUG_WX [3], this means boot hangs for that
long, too.

If I don't allocate vmalloc shadow (and remove the apparently pointlesss
shadow of the shadow area), and only allocate shadow for the image,
fixmap, vmemmap and so on, that delay gets cut to a few seconds, which
is tolerable for a debug configuration...

... however, things blow up when the kernel touches vmalloc'd memory for
the first time, as we don't install shadow for that dynamically.

Thanks,
Mark.

[1] https://lkml.kernel.org/r/CALCETrWucrYp+yq8RHSDqf93xtg793duByirurzJbLRhrz=tcA@mail.gmail.com
[2] https://lkml.kernel.org/r/20161003092940.GA691@gmail.com
[3] http://lists.infradead.org/pipermail/linux-arm-kernel/2016-October/464191.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-11-09 18:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-08 19:03 KASAN & the vmalloc area Mark Rutland
2016-11-08 22:09 ` Dmitry Vyukov
2016-11-09 10:56   ` Mark Rutland
2016-11-09 18:16     ` Dmitry Vyukov
2016-11-09 18:30       ` Mark Rutland
2016-11-09 18:42         ` Dmitry Vyukov
2016-11-09 16:53 ` Andrey Ryabinin
2016-11-09 18:19   ` Dmitry Vyukov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).