Re: [PATCH v3 1/3] x86/64: Make kernel text mapping always take one whole page table in early boot code

From: Baoquan He
Date: Wed Jan 04 2017 - 22:28:49 EST


On 01/04/17 at 03:00pm, Boris Petkov wrote:
> On January 4, 2017 10:37:31 AM GMT+02:00, Baoquan He <bhe@xxxxxxxxxx> wrote:
> >In early boot code level2_kernel_pgt is used to map kernel text. And
> >its
> >size varies with KERNEL_IMAGE_SIZE and fixed at compiling time. In fact
> >we can make it always take 512 entries of one whole page table, because
> >later function cleanup_highmap will clean up the unused entries. With
> >the
> >help of this change kernel text mapping size can be decided at runtime
> >later, 512M if kaslr is disabled, 1G if kaslr is enabled.

> Question: so why are we even having that distinction? Why aren't we making
> text mapping size 1G by default and be done with it?

Yes, good question, thanks!

Possibly people worry more that no enough space left for kernel modules
mapping whthin 1G, just a guess. I am fine with making text mapping size
1G by default. Kees must know more about the 1G only if kaslr enabled.

Hi Kees,

Could you help check if there is any risk making kernel mapping size 1G by
default as Boris suggested?

Thanks
Baoquan