linux/init
Haren Myneni 9c15e852a5 [PATCH] kexec: fix in free initrd when overlapped with crashkernel region
It is possible that the reserved crashkernel region can be overlapped with
initrd since the bootloader sets the initrd location.  When the initrd
region is freed, the second kernel memory will not be contiguous.  The
Kexec_load can cause an oops since there is no contiguous memory to write
the second kernel or this memory could be used in the first kernel itself
and may not be part of the dump.  For example, on powerpc, the initrd is
located at 36MB and the crashkernel starts at 32MB.  The kexec_load caused
panic since writing into non-allocated memory (after 36MB).  We could see
the similar issue even on other archs.

One possibility is to move the initrd outside of crashkernel region.  But,
the initrd region will be freed anyway before the system is up.  This patch
fixes this issue and frees only regions that are not part of crashkernel
memory in case overlaps.

Signed-off-by: Haren Myneni <haren@us.ibm.com>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-10 08:13:12 -08:00
..
calibrate.c [PATCH] Platform SMIs and their interferance with tsc based delay calibration 2005-06-23 09:45:08 -07:00
do_mounts_devfs.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
do_mounts_initrd.c [PATCH] Improper initrd failure message at boot time 2005-06-30 08:45:12 -07:00
do_mounts_md.c [PATCH] md: remove personality numbering from md 2006-01-06 08:34:06 -08:00
do_mounts_rd.c [PATCH] s390: cleanup Kconfig 2006-01-06 08:33:53 -08:00
do_mounts.c [PATCH] remove driverfs references from init/do_mounts.c 2005-09-02 00:57:31 -07:00
do_mounts.h [PATCH] name_to_dev_t warning fix 2005-07-12 16:00:58 -07:00
initramfs.c [PATCH] kexec: fix in free initrd when overlapped with crashkernel region 2006-02-10 08:13:12 -08:00
Kconfig [PATCH] selinux: require AUDIT 2006-02-07 16:12:33 -08:00
main.c [PATCH] abandon gcc 295x main.c tidy 2006-01-14 18:27:12 -08:00
Makefile kbuild: "PREEMPT" in UTS_VERSION 2005-07-14 20:18:07 +00:00
version.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00