[PATCH 2/2] ARM: kexec: Check segment memory addresses
From: Will Deacon <hidden>
Date: 2012-09-07 10:04:22
On Fri, Sep 07, 2012 at 09:49:38AM +0100, Russell King - ARM Linux wrote:
On Fri, Sep 07, 2012 at 09:41:00AM +0100, Matthew Leach wrote:quoted
Ensure that the memory regions that are set within the segments correspond to physical contiguous memory regions. Reviewed-by: Simon Horman <horms@verge.net.au> Reviewed-by: Will Deacon <redacted> Signed-off-by: Matthew Leach <redacted>What about platforms which pull out bits of physical RAM from memblock via arm_memblock_steal() ? Doesn't this mean such platforms will reduce their available memory on each subsequent kexec?
I don't think that will happen. All that kexec does is check that the location where it wants to load the new kernel is physically contiguous -- the memblock configuration is not inherited by the target kernel. What *might* happen is that a memblock_steal on the host kernel could cause the kexec to fail with -EINVAL if the area removed corresponds to the area where the target kernel wants to be loaded. I think this is correct behaviour, because we have no idea what the stolen region is being used for. Will