[RFC PATCH] ARM: mm: Fix alloc_init_section bug on LPAE

Christoffer Dall chris at cloudcar.com
Sat Jan 26 01:15:02 EST 2013

On Fri, Jan 25, 2013 at 11:50 PM, Santosh Shilimkar
<santosh.shilimkar at ti.com> wrote:
> Hi Christoffer,
> On Saturday 26 January 2013 06:01 AM, Christoffer Dall wrote:
>> When using LPAE the call to alloc_init_pte is passed then end address
>> for the entire 1st level page table region, and the code unluckily ends
>> up going over the bounds of the single allocated PTE, which is sad.
>> This caused LPAE boot on omap5 to crash.
>> There may be some hidden mystery in the boot code that I'm unaware of
>> or it may be assumed that all mappings are always mappable as sections
>> on LPAE and therefore omap5 just does something bad, in which case this
>> patch isn't the right fix, but I'd be happy to be told the reason.
>> Cc: Tony Lindgren <tony at atomide.com>
>> Cc: Jeremy C. Andrus <jeremya at cs.columbia.edu>
>> Signed-off-by: Christoffer Dall <chris at cloudcar.com>
>> ---
> I was about to reply on the LPAE boot issue you mentioned in other
> email. We have seen couple of issues with LPAE on OMAP5 and sent the
> fixes.
> [1] ARM: LPAE: Fix alloc_init_section to flush all the pmd entries
> [2] ARM: LPAE: Fix mapping in alloc_init_pte for unaligned addresses
> Both needs ack from Catalin and RMK's ok to get into the patch system.
> Can you please check if they work for you ?  I expect the [1] should
> make your board boot on OMAP5.

yeah, that patch had the same effect as my patch (with the extra waste
of memory for the ptes as Russell pointed out).

My googling of fixes for this completely failed somehow.

Thanks for pointing it out.

More information about the linux-arm-kernel mailing list