[PATCH] [PPC64] Fix memory corruption when using realloc_memory_ranges()

Simon Horman horms at verge.net.au
Sun Jan 18 20:17:18 EST 2009


On Fri, Jan 16, 2009 at 07:11:34PM +0100, Bernhard Walle wrote:
> Because realloc_memory_ranges() makes the old memory invalid, and we return
> a pointer to memory_range in get_memory_ranges(), we need to copy the contents
> in get_memory_ranges().
> 
> Some code that calls realloc_memory_ranges() may be triggered by
> get_base_ranges() which is called after get_memory_ranges().
> 
> Yes, the memory needs to be deleted somewhere, but I don't know currently
> where it's the best, and since it's not in a loop and memory is deleted
> anyway after program termination I don't want to introduce unneccessary
> complexity. The problem is that get_base_ranges() gets called from
> architecture independent code and that allocation is PPC64-specific here.

Thanks, this sounds like a bit of a mess, but I think that your
patch does improve the situation.

Applied.

-- 
Simon Horman
  VA Linux Systems Japan K.K., Sydney, Australia Satellite Office
  H: www.vergenet.net/~horms/             W: www.valinux.co.jp/en




More information about the kexec mailing list