Re: [tip:x86/mm] x86/kasan: Panic if there is not enough memory to boot

From: Thomas Gleixner
Date: Sun Jan 14 2018 - 09:38:25 EST


On Sun, 14 Jan 2018, Ingo Molnar wrote:

>
> * tip-bot for Andrey Ryabinin <tipbot@xxxxxxxxx> wrote:
>
> > Commit-ID: 74b61d1fb59bed3a6608161b05f2c0f5cb71acf6
> > Gitweb: https://git.kernel.org/tip/74b61d1fb59bed3a6608161b05f2c0f5cb71acf6
> > Author: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>
> > AuthorDate: Wed, 10 Jan 2018 18:36:02 +0300
> > Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > CommitDate: Sun, 14 Jan 2018 12:59:51 +0100
> >
> > x86/kasan: Panic if there is not enough memory to boot
> >
> > Currently KASAN doesn't panic in case it don't have enough memory
> > to boot. Instead, it crashes in some random place:
> >
> > kernel BUG at arch/x86/mm/physaddr.c:27!
> >
> > RIP: 0010:__phys_addr+0x268/0x276
> > Call Trace:
> > kasan_populate_shadow+0x3f2/0x497
> > kasan_init+0x12e/0x2b2
> > setup_arch+0x2825/0x2a2c
> > start_kernel+0xc8/0x15f4
> > x86_64_start_reservations+0x2a/0x2c
> > x86_64_start_kernel+0x72/0x75
> > secondary_startup_64+0xa5/0xb0
> >
> > Use memblock_virt_alloc_try_nid() for allocations without failure
> > fallback. It will panic with an out of memory message.
> >
> > Reported-by: kernel test robot <xiaolong.ye@xxxxxxxxx>
> > Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>
> > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > Acked-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx>
> > Cc: kasan-dev@xxxxxxxxxxxxxxxx
> > Cc: Alexander Potapenko <glider@xxxxxxxxxx>
> > Cc: lkp@xxxxxx
> > Link: https://lkml.kernel.org/r/20180110153602.18919-1-aryabinin@xxxxxxxxxxxxx
>
> I think this commit should be in tip:x86/pti for dependency reasons, to get
> backported automatically. I suspect we want the same KASAN robustness in -stable.
>
> If this patch is too high risk and should be in x86/mm, then it should still be
> x86/pti based, to allow later merging into x86/pti.
>
> The latest already-upstream commit of x86/pti is de791821c295, and this commit
> applies cleanly to that base.

makes sense. I'll move it to x86/pti ...