• Vasily Gorbik's avatar
    s390/boot: fix mem_detect extended area allocation · 22476f47
    Vasily Gorbik authored
    Allocation of mem_detect extended area was not considered neither
    in commit 9641b8cc ("s390/ipl: read IPL report at early boot")
    nor in commit b2d24b97 ("s390/kernel: add support for kernel address
    space layout randomization (KASLR)"). As a result mem_detect extended
    theoretically may overlap with ipl report or randomized kernel image
    position. But as mem_detect code will allocate extended area only
    upon exceeding 255 online regions (which should alternate with offline
    memory regions) it is not seen in practice.
    
    To make sure mem_detect extended area does not overlap with ipl report
    or randomized kernel position extend usage of "safe_addr". Make initrd
    handling and mem_detect extended area allocation code move it further
    right and make KASLR takes in into consideration as well.
    
    Fixes: 9641b8cc ("s390/ipl: read IPL report at early boot")
    Fixes: b2d24b97 ("s390/kernel: add support for kernel address space layout randomization (KASLR)")
    Reviewed-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
    Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
    Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
    22476f47
mem_detect.c 4.29 KB