Re: [PATCH 1/2] Undo the split of setup_cpu_entry_area

From: Thomas Gleixner
Date: Sat Dec 02 2017 - 05:47:31 EST


On Sat, 2 Dec 2017, Thomas Gleixner wrote:

> On Fri, 1 Dec 2017, Andy Lutomirski wrote:
>
> > This is obviously a hack. Either the patch should be adjusted back to
> > the version I sent or trap_init should forcibly initialize all PMDs
> > by something like __set_fixmap(..., __mkpte(0)); or however it's spelled.
>
> I split it because the whole thing crashed when I kept the loop you had
> because it tried to allocate stuff. Had no time to figure out why, so I
> went the lazy way of making it "work".

[ 0.000000] dump_stack+0x85/0xc5
[ 0.000000] warn_alloc+0x114/0x1c0
[ 0.000000] __alloc_pages_slowpath+0x1089/0x10d0
[ 0.000000] __alloc_pages_nodemask+0x2e8/0x370
[ 0.000000] __get_free_pages+0x10/0x40
[ 0.000000] kpti_shadow_pagetable_walk+0x2b2/0x3e0
[ 0.000000] kpti_add_user_map+0xfe/0x330
[ 0.000000] kpti_add_mapping_cpu_entry+0x5a/0x100
[ 0.000000] trap_init+0x2c/0x7b
[ 0.000000] start_kernel+0x24c/0x497
[ 0.000000] secondary_startup_64+0xa5/0xb0

Cute, isn't it? And then further down the line it triplefaults of course.