[PATCH v2 0/2] kexec: Limit the crash memory ranges according to first kernel's memory limit.

Mahesh J Salgaonkar mahesh at linux.vnet.ibm.com
Tue Feb 12 05:46:50 EST 2013


So far powerpc kernel never exported memory limit information which is
reflected by mem= kernel cmdline option. Hence, kexec-tools always use
to build ELF header for entire system RAM generating a dump bigger than
the actual memory used by the first kernel.

The following upstream kernel commits now exports memory limit information
through /proc/device-tree file:
  4bc77a5ed - powerpc: Export memory limit via device tree
  a84fcd468 - powerpc: Change memory_limit from phys_addr_t to unsigned
	      long long

This patch series now reads the memory limit information from
device-tree file if present and limits the crash memory ranges accordingly.

Tested these patches on ppc32(ppc440) and ppc64 with a kernel patch by Suzuki.

Changes in v2:
- Fixed few formatting and coding style issues.
- Fixed error handling path and possible buffer overflow issue in patch 1/2.
- Fixed an issue where an additional PT_LOAD section, representing zero size
  memory segment (with start address == memory_limit), was getting added to ELF
  section.

Signed-off-by: Mahesh Salgaonkar <mahesh at linux.vnet.ibm.com>
Tested-by: Suzuki K. Poulose <suzuki at in.ibm.com>
---

Mahesh Salgaonkar (2):
      kexec: Respect memory limit while building crash memory ranges on ppc32.
      kexec: Respect memory limit while building crash memory ranges on ppc64


 kexec/arch/ppc/crashdump-powerpc.c |   14 ++++++++--
 kexec/arch/ppc/crashdump-powerpc.h |    1 +
 kexec/arch/ppc/kexec-ppc.c         |   51 ++++++++++++++++++++++++++++++++++++
 kexec/arch/ppc64/crashdump-ppc64.c |   11 +++++++-
 kexec/arch/ppc64/crashdump-ppc64.h |    1 +
 kexec/arch/ppc64/kexec-ppc64.c     |   27 +++++++++++++++++++
 6 files changed, 101 insertions(+), 4 deletions(-)

-- 
-Mahesh




More information about the kexec mailing list