From 58afa4991bf8c655972f9ad0a0adf09883439427 Mon Sep 17 00:00:00 2001 From: Russell King Date: Mon, 6 Jun 2016 17:59:03 +0100 Subject: kdump: fix kdump mapping When kdump tries to map the program header, it fails to take account of ehdr->e_phoff being an offset from the start of the ELF "file", which causes: Cannot mmap /dev/mem offset: 64 size: 392: Invalid argument Ensure that we take account of the start address when mapping this. This fix has been extracted from a larger patch by Vitaly Andrianov adding support for Keystone 2. Signed-off-by: Russell King Reviewed-by: Pratyush Anand Signed-off-by: Simon Horman --- kdump/kdump.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kdump/kdump.c b/kdump/kdump.c index 1f5b984..8f6f2df 100644 --- a/kdump/kdump.c +++ b/kdump/kdump.c @@ -284,7 +284,8 @@ int main(int argc, char **argv) } /* Get the program header */ - phdr = map_addr(fd, sizeof(*phdr)*(ehdr->e_phnum), ehdr->e_phoff); + phdr = map_addr(fd, sizeof(*phdr)*(ehdr->e_phnum), + start_addr + ehdr->e_phoff); /* Collect up the notes */ note_bytes = 0; -- cgit