diff options
author | Vivek Goyal <vgoyal@in.ibm.com> | 2005-06-25 14:57:55 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-25 16:24:48 -0700 |
commit | 50cccc699ed849d31c9e3f7643db33edade20e4e (patch) | |
tree | 7cd6e1adfa7b42a7be2815361e5d41c2fd89ee48 /kernel | |
parent | dc009d92435f99498cbc579ce76bf28e837e2c14 (diff) | |
download | linux-50cccc699ed849d31c9e3f7643db33edade20e4e.tar.gz linux-50cccc699ed849d31c9e3f7643db33edade20e4e.tar.bz2 linux-50cccc699ed849d31c9e3f7643db33edade20e4e.zip |
[PATCH] Kexec on panic vmlinux initrd fix
This is a minor bug fix in kexec to resolve the problem of loading panic
kernel with initrd.
o Problem: Loading a capture kenrel fails if initrd is also being loaded.
This has been observed for vmlinux image for kexec on panic case.
o This patch fixes the problem. In segment location and size verification
logic, minor correction has been done. Segment memory end (mend) should be
mstart + memsz - 1. This one byte offset was source of failure for initrd
loading which was being loaded at hole boundary.
Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/kexec.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/kexec.c b/kernel/kexec.c index def9c73ec9a6..a0411b3bd54a 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c @@ -264,7 +264,7 @@ static int kimage_crash_alloc(struct kimage **rimage, unsigned long entry, for (i = 0; i < nr_segments; i++) { unsigned long mstart, mend; mstart = image->segment[i].mem; - mend = mstart + image->segment[i].memsz; + mend = mstart + image->segment[i].memsz - 1; /* Ensure we are within the crash kernel limits */ if ((mstart < crashk_res.start) || (mend > crashk_res.end)) goto out; |