diff options
Diffstat (limited to 'kexec/kexec-elf.c')
-rw-r--r-- | kexec/kexec-elf.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/kexec/kexec-elf.c b/kexec/kexec-elf.c index 1cdae36..75396ce 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; } |