diff options
Diffstat (limited to 'kexec/kexec-elf.c')
-rw-r--r-- | kexec/kexec-elf.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/kexec/kexec-elf.c b/kexec/kexec-elf.c index 1cdae36..b88aced 100644 --- a/kexec/kexec-elf.c +++ b/kexec/kexec-elf.c @@ -390,11 +390,11 @@ static int build_mem_phdrs(const char *buf, off_t len, struct mem_ehdr *ehdr, phdr_size *= ehdr->e_phnum; if ((uintmax_t)(ehdr->e_phoff + phdr_size) > (uintmax_t)len) { /* The program header did not fit in the file buffer */ - fprintf(stderr, "%d segments require a %ld-byte buffer\n", - ehdr->e_phnum, ehdr->e_phoff + phdr_size); - fprintf(stderr, "KCORE_ELF_HEADERS_SIZE %d too small\n", KCORE_ELF_HEADERS_SIZE); - if (probe_debug) { - fprintf(stderr, "ELF program segment truncated\n"); + if (probe_debug || (flags & ELF_SKIP_FILESZ_CHECK)) { + fprintf(stderr, "ELF program headers truncated" + " have %ju bytes need %ju bytes\n", + (uintmax_t)len, + (uintmax_t)(ehdr->e_phoff + phdr_size)); } return -1; } @@ -507,7 +507,7 @@ static int build_mem_elf32_shdr(const char *buf, struct mem_ehdr *ehdr, int idx) break; } if (!size_ok) { - fprintf(stderr, "Bad section header(%x) entsize: %ld\n", + fprintf(stderr, "Bad section header(%x) entsize: %lld\n", shdr->sh_type, shdr->sh_entsize); return -1; } @@ -576,7 +576,7 @@ static int build_mem_elf64_shdr(const char *buf, struct mem_ehdr *ehdr, int idx) break; } if (!size_ok) { - fprintf(stderr, "Bad section header(%x) entsize: %ld\n", + fprintf(stderr, "Bad section header(%x) entsize: %lld\n", shdr->sh_type, shdr->sh_entsize); return -1; } |