Re: 2.6.10-rc1-mm3

Russell King
2004-11-05T11:21:15Z

On Fri, Nov 05, 2004 at 12:09:51PM +0100, Ingo Molnar wrote:
> due to the PML4 feature, the clear_page_tables() function changed to
> clear_page_range(), changing its (first,size) argument to (first,last).
> Normally it's called with (0,TASK_SIZE) which normally is PML4-aligned,
> but in the (relatively rare) do_munmap() use this is not the case. We
> correctly calculate the range that could be cleared, but it's not
> PML4_SIZE aligned.

If PML4 is the outer page table (god I hate that confusing name) then
this is going to break ARM.

"first" needs to be able to handle being set to virtual address 0x8000
since, for some CPUs, it is absolutely vital that we keep the first
_page_ of memory mapped, but user executables are loaded at 0x8000.

Note that the PGD increment is 2MB on ARM.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core