KASAN vs vmapped stacks

From: Andy Lutomirski
Date: Sun Jul 10 2016 - 08:47:35 EST


Hi all-

I found two nasty issues with virtually mapped stacks if KASAN is
enabled. The first issue is a crash: the first non-init stack is
allocated and accessed before KASAN initializes its zero shadow
AFAICT, which means that we switch to that stack and then blow up when
we start recursively faulting on failed accesses to the shadow.

The second issue is that, even if we survive (we initialize the zero
shadow on time), KASAN will fail to protect hte stack.

For now, I just disabled use of virtually mapped stacks if KASAN is
on. Do you have any easy ideas to fix it?

Thanks,
Andy