summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrandon Maier <brandon.maier@rockwellcollins.com>2019-11-08 12:08:54 -0600
committerSimon Horman <horms@verge.net.au>2020-01-03 09:47:43 +0100
commit66b151d3ab7dc6bb35f589a4596c426fdb3e4370 (patch)
treebb36e3f729e949e9af89dab562d43a3f2c2bf385
parent2572b8d702e452624bdb8d7b7c39f458e7dcf2ce (diff)
downloadkexec-tools-66b151d3ab7dc6bb35f589a4596c426fdb3e4370.tar.gz
ARM: Use mmap for zImage initrd
We use a large initrd that maxes out our available RAM when loading kexec. The problem can be mitigated by using slurp_file_mmap(), which avoids creating a copy of the initrd. The initrd does not use free, realloc, etc, so it should be safe to use. Signed-off-by: Brandon Maier <brandon.maier@rockwellcollins.com> Signed-off-by: Simon Horman <horms@verge.net.au>
-rw-r--r--kexec/arch/arm/kexec-zImage-arm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kexec/arch/arm/kexec-zImage-arm.c b/kexec/arch/arm/kexec-zImage-arm.c
index 2a7eea90..f9d452fb 100644
--- a/kexec/arch/arm/kexec-zImage-arm.c
+++ b/kexec/arch/arm/kexec-zImage-arm.c
@@ -478,7 +478,7 @@ int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
command_line_len = COMMAND_LINE_SIZE;
}
if (ramdisk)
- ramdisk_buf = slurp_file(ramdisk, &initrd_size);
+ ramdisk_buf = slurp_file_mmap(ramdisk, &initrd_size);
if (dtb_file)
dtb_buf = slurp_file(dtb_file, &dtb_length);