[PATCH v2 1/3] Ramdisk address was not copied correctly on kexec'ed kernel
Matthew McClintock
msm at freescale.com
Thu Aug 19 00:56:49 EDT 2010
Signed-off-by: Matthew McClintock <msm at freescale.com>
---
kexec/arch/ppc/fixup_dtb.c | 2 +-
kexec/arch/ppc/kexec-ppc.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/kexec/arch/ppc/fixup_dtb.c b/kexec/arch/ppc/fixup_dtb.c
index 26c23a3..09f9ac1 100644
--- a/kexec/arch/ppc/fixup_dtb.c
+++ b/kexec/arch/ppc/fixup_dtb.c
@@ -311,7 +311,7 @@ static void fixup_initrd(char *blob_buf)
return;
}
- tmp = ramdisk_base + ramdisk_size + 1;
+ tmp = ramdisk_base + ramdisk_size;
err = fdt_setprop(blob_buf, nodeoffset,
"linux,initrd-end", &tmp, sizeof(tmp));
if (err < 0) {
diff --git a/kexec/arch/ppc/kexec-ppc.c b/kexec/arch/ppc/kexec-ppc.c
index c36c7b3..ab76d6f 100644
--- a/kexec/arch/ppc/kexec-ppc.c
+++ b/kexec/arch/ppc/kexec-ppc.c
@@ -481,7 +481,7 @@ static int get_devtree_details(unsigned long kexec_flags)
if ((initrd_end - initrd_start) != 0 ) {
initrd_base = initrd_start;
- initrd_size = initrd_end - initrd_start + 1;
+ initrd_size = initrd_end - initrd_start;
}
if (reuse_initrd) {
--
1.6.0.6
More information about the kexec
mailing list