• Russell King's avatar
    [ARM] Fix slab corruption issues triggered with pud_t integration. · fb5ab0d6
    Russell King authored
    When the page tables are wrapped from 4 levels to 2 levels, the new
    MM code requires PMD_SHIFT to match PUD_SHIFT, which must also
    match PGDIR_SHIFT.  If PMD_SHIFT is smaller than PUD_SHIFT, we risk
    freeing a still-in-use table (== page) which can then get re-used
    for the slab cache.
    
    Testing and inspection shows that there isn't any real benefit from
    keeping PMD_SHIFT set to 20.
    
    In addition, add some comments concerning the granularity of
    alloc_init_section() and fix a missing PMD assignment in the
    rebooting code.  Somehow we managed to get away with that, although
    it is actually wrong.  Maybe I've just been lucky until now.
    Signed-off-by: default avatarRussell King <rmk@arm.linux.org.uk>
    fb5ab0d6
pgtable.h 13.6 KB