Re: [PATCH 10/28] i386: map enough initial memory to create lowmem mappings

H. Peter Anvin
2007-04-23T16:43:41Z

Jeremy Fitzhardinge wrote:
> Eric W. Biederman wrote:
>> The only way to ensure this will not happen is to do what we do
>> on x86_64 and map the new page table page into our address space
>> before we write to it. Assuming the page we allocate is already
>> mapped is simply not robust.
>>
>
> So you mean make alloc_bootmem make sure there's a mapping for the
> returned page? That would be simple enough, though it might interact
> strangely with the actual construction of the memory mappings (what if
> the page alloc_bootmem just allocated for the pagetable is the page
> pagetable_init is actually trying to map?).
>
> I'm not sure about the issue with holes. I assume you mean that just
> because head.S maps a chunk of memory, it isn't necessarily available
> for allocation because its a hole. But does alloc_bootmem know to avoid
> them anyway? Has it already parsed e820 at that point?
>

Since we allocate the maximum possible memory statically, I fail to see
how holes could make the situation any worse, or better.

-hpa