[PATCH] Revert "kexec: use mmap instead of read for slurp_file()"
Simon Horman
horms at verge.net.au
Sun Oct 25 21:30:11 PDT 2015
On Fri, Oct 23, 2015 at 11:10:00AM +0800, Dave Young wrote:
> This reverts commit 7ab842d8a004f6cd75a9d7b3528e4a70819ce4ef.
>
> using mmap by default in slurp_file cause segment fault while later
> reallocing dtb_buf during my arm kexec test.
>
> Signed-off-by: Dave Young <dyoung at redhat.com>
Thanks, applied.
> ---
> kexec/kexec.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> --- kexec-tools.orig/kexec/kexec.c
> +++ kexec-tools/kexec/kexec.c
> @@ -26,7 +26,6 @@
> #include <stdlib.h>
> #include <errno.h>
> #include <limits.h>
> -#include <sys/mman.h>
> #include <sys/types.h>
> #include <sys/stat.h>
> #include <sys/reboot.h>
> @@ -553,12 +552,11 @@ char *slurp_file(const char *filename, o
> if (err < 0)
> die("Can not seek to the begin of file %s: %s\n",
> filename, strerror(errno));
> - buf = slurp_fd(fd, filename, size, &nread);
> } else {
> - size = nread = stats.st_size;
> - buf = mmap(NULL, size,
> - PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
> + size = stats.st_size;
> }
> +
> + buf = slurp_fd(fd, filename, size, &nread);
> if (!buf)
> die("Cannot read %s", filename);
>
>
More information about the kexec
mailing list