[PATCH 2/2] kexec: Use err() instead of fprintf()
Zhang Yanfei
zhangyanfei.yes at gmail.com
Wed Mar 20 09:17:51 EDT 2013
From: Zhang Yanfei <zhangyanfei at cn.fujitsu.com>
Since we have the err() interface, so replace the error printing
function with err().
Signed-off-by: Zhang Yanfei <zhangyanfei at cn.fujitsu.com>
---
kexec/arch/arm/kexec-arm.c | 3 +-
kexec/arch/arm/kexec-zImage-arm.c | 18 ++++-----
kexec/arch/i386/crashdump-x86.c | 37 ++++++++---------
kexec/arch/i386/kexec-bzImage.c | 18 ++++----
kexec/arch/i386/kexec-elf-x86.c | 4 +-
kexec/arch/i386/kexec-multiboot-x86.c | 11 ++---
kexec/arch/i386/kexec-nbi.c | 14 +++---
kexec/arch/i386/kexec-x86-common.c | 27 ++++++-------
kexec/arch/i386/kexec-x86.c | 9 +---
kexec/arch/i386/x86-linux-setup.c | 19 ++++-----
kexec/arch/ia64/crashdump-ia64.c | 5 +-
kexec/arch/ia64/kexec-elf-ia64.c | 12 +++---
kexec/arch/ia64/kexec-ia64.c | 3 +-
kexec/arch/mips/crashdump-mips.c | 11 ++---
kexec/arch/mips/kexec-elf-mips.c | 2 +-
kexec/arch/mips/kexec-mips.c | 4 +-
kexec/arch/ppc/crashdump-powerpc.c | 5 +-
kexec/arch/ppc/fixup_dtb.c | 3 +-
kexec/arch/ppc/kexec-dol-ppc.c | 14 +++----
kexec/arch/ppc/kexec-elf-ppc.c | 4 +-
kexec/arch/ppc/kexec-ppc.c | 36 ++++++++--------
kexec/arch/ppc/kexec-uImage-ppc.c | 2 +-
kexec/arch/ppc64/crashdump-ppc64.c | 10 ++---
kexec/arch/ppc64/fs2dt.c | 2 +-
kexec/arch/ppc64/kexec-elf-ppc64.c | 17 ++++----
kexec/arch/ppc64/kexec-ppc64.c | 6 +-
kexec/arch/ppc64/kexec-zImage-ppc64.c | 18 +++-----
kexec/arch/s390/kexec-image.c | 4 +-
kexec/arch/s390/kexec-s390.c | 2 +-
kexec/arch/sh/kexec-sh.c | 2 +-
kexec/arch/x86_64/kexec-bzImage64.c | 16 ++++----
kexec/arch/x86_64/kexec-elf-x86_64.c | 6 +-
kexec/arch/x86_64/kexec-x86_64.c | 5 +-
kexec/crashdump-xen.c | 8 ++--
kexec/firmware_memmap.c | 12 ++---
kexec/fs2dt.c | 2 +-
kexec/kernel_version.c | 17 +++-----
kexec/kexec-elf-exec.c | 8 ++--
kexec/kexec-elf-rel.c | 10 ++--
kexec/kexec-elf.c | 70 ++++++++++++++++-----------------
kexec/kexec.c | 64 ++++++++++++------------------
kexec/phys_arch.c | 6 +--
kexec/zlib.c | 2 +-
43 files changed, 249 insertions(+), 299 deletions(-)
diff --git a/kexec/arch/arm/kexec-arm.c b/kexec/arch/arm/kexec-arm.c
index 8646833..c1aac4e 100644
--- a/kexec/arch/arm/kexec-arm.c
+++ b/kexec/arch/arm/kexec-arm.c
@@ -31,8 +31,7 @@ int get_memory_ranges(struct memory_range **range, int *ranges,
FILE *fp;
fp = fopen(iomem, "r");
if (!fp) {
- fprintf(stderr, "Cannot open %s: %s\n",
- iomem, strerror(errno));
+ err("Cannot open %s: %s\n", iomem, strerror(errno));
return -1;
}
diff --git a/kexec/arch/arm/kexec-zImage-arm.c b/kexec/arch/arm/kexec-zImage-arm.c
index dd2e06f..d653832 100644
--- a/kexec/arch/arm/kexec-zImage-arm.c
+++ b/kexec/arch/arm/kexec-zImage-arm.c
@@ -114,8 +114,7 @@ struct tag * atag_read_tags(void)
FILE *fp;
fp = fopen(fn, "r");
if (!fp) {
- fprintf(stderr, "Cannot open %s: %s\n",
- fn, strerror(errno));
+ err("Cannot open %s: %s\n", fn, strerror(errno));
return NULL;
}
@@ -125,8 +124,7 @@ struct tag * atag_read_tags(void)
}
if (ferror(fp)) {
- fprintf(stderr, "Cannot read %s: %s\n",
- fn, strerror(errno));
+ err("Cannot read %s: %s\n", fn, strerror(errno));
fclose(fp);
return NULL;
}
@@ -149,7 +147,7 @@ int atag_arm_load(struct kexec_info *info, unsigned long base,
buf = xmalloc(getpagesize());
if (!buf) {
- fprintf(stderr, "Compiling ATAGs: out of memory\n");
+ err("Compiling ATAGs: out of memory\n");
return -1;
}
@@ -282,7 +280,7 @@ int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
}
if (use_atags && dtb_file) {
- fprintf(stderr, "You can only use ATAGs if you don't specify a "
+ err("You can only use ATAGs if you don't specify a "
"dtb file.\n");
return -1;
}
@@ -361,7 +359,7 @@ int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
dtb_buf = slurp_file(dtb_file, &dtb_length);
if (fdt_check_header(dtb_buf) != 0) {
- fprintf(stderr, "Invalid FDT buffer.\n");
+ err("Invalid FDT buffer.\n");
return -1;
}
@@ -382,13 +380,13 @@ int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
off = fdt_add_subnode(dtb_buf, off, node_name);
if (off < 0) {
- fprintf(stderr, "FDT: Error adding %s node.\n", node_name);
+ err("FDT: Error adding %s node.\n", node_name);
return -1;
}
if (fdt_setprop(dtb_buf, off, prop_name,
command_line, strlen(command_line) + 1) != 0) {
- fprintf(stderr, "FDT: Error setting %s/%s property.\n",
+ err("FDT: Error setting %s/%s property.\n",
node_name, prop_name);
return -1;
}
@@ -401,7 +399,7 @@ int zImage_arm_load(int argc, char **argv, const char *buf, off_t len,
}
if (base + atag_offset + dtb_length > base + offset) {
- fprintf(stderr, "DTB too large!\n");
+ err("DTB too large!\n");
return -1;
}
diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c
index 31748c2..b5b483e 100644
--- a/kexec/arch/i386/crashdump-x86.c
+++ b/kexec/arch/i386/crashdump-x86.c
@@ -101,7 +101,7 @@ static int get_kernel_paddr(struct kexec_info *UNUSED(info),
return 0;
}
- fprintf(stderr, "Cannot determine kernel physical load addr\n");
+ err("Cannot determine kernel physical load addr\n");
return -1;
}
@@ -134,7 +134,7 @@ static int get_kernel_vaddr_and_size(struct kexec_info *UNUSED(info),
size = KCORE_ELF_HEADERS_SIZE;
buf = slurp_file_len(kcore, size);
if (!buf) {
- fprintf(stderr, "Cannot read %s: %s\n", kcore, strerror(errno));
+ err("Cannot read %s: %s\n", kcore, strerror(errno));
return -1;
}
@@ -147,7 +147,7 @@ static int get_kernel_vaddr_and_size(struct kexec_info *UNUSED(info),
result = build_elf_core_info(buf, size, &ehdr, elf_flags);
if (result < 0) {
/* Perhaps KCORE_ELF_HEADERS_SIZE is too small? */
- fprintf(stderr, "ELF core (kcore) parse failed\n");
+ err("ELF core (kcore) parse failed\n");
return -1;
}
@@ -175,7 +175,7 @@ static int get_kernel_vaddr_and_size(struct kexec_info *UNUSED(info),
}
}
}
- fprintf(stderr, "Can't find kernel text map area from kcore\n");
+ err("Can't find kernel text map area from kcore\n");
return -1;
}
@@ -215,8 +215,7 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges,
fp = fopen(iomem, "r");
if (!fp) {
- fprintf(stderr, "Cannot open %s: %s\n",
- iomem, strerror(errno));
+ err("Cannot open %s: %s\n", iomem, strerror(errno));
return -1;
}
@@ -277,8 +276,7 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges,
}
}
if (crash_reserved_mem.start >= mem_max) {
- fprintf(stderr, "Too small mem_max: 0x%llx.\n",
- mem_max);
+ err("Too small mem_max: 0x%llx.\n", mem_max);
return -1;
}
crash_reserved_mem.end = mem_max;
@@ -320,14 +318,14 @@ static int get_crash_memory_ranges_xen(struct memory_range **range,
xc = xc_interface_open(NULL, NULL, 0);
if (!xc) {
- fprintf(stderr, "%s: Failed to open Xen control interface\n", __func__);
+ err("%s: Failed to open Xen control interface\n", __func__);
goto err;
}
#else
xc = xc_interface_open();
if (xc == -1) {
- fprintf(stderr, "%s: Failed to open Xen control interface\n", __func__);
+ err("%s: Failed to open Xen control interface\n", __func__);
goto err;
}
#endif
@@ -335,7 +333,7 @@ static int get_crash_memory_ranges_xen(struct memory_range **range,
rc = xc_get_machine_memory_map(xc, e820entries, CRASH_MAX_MEMORY_RANGES);
if (rc < 0) {
- fprintf(stderr, "%s: xc_get_machine_memory_map: %s\n", __func__, strerror(-rc));
+ err("%s: xc_get_machine_memory_map: %s\n", __func__, strerror(-rc));
goto err;
}
@@ -375,7 +373,7 @@ static int get_crash_memory_ranges_xen(struct memory_range **range,
fd = open("/proc/xen/privcmd", O_RDWR);
if (fd == -1) {
- fprintf(stderr, "%s: open(/proc/xen/privcmd): %m\n", __func__);
+ err("%s: open(/proc/xen/privcmd): %m\n", __func__);
goto err;
}
@@ -383,7 +381,7 @@ static int get_crash_memory_ranges_xen(struct memory_range **range,
sizeof(struct e820entry) * CRASH_MAX_MEMORY_RANGES);
if (rc) {
- fprintf(stderr, "%s: posix_memalign(e820entries): %s\n", __func__, strerror(rc));
+ err("%s: posix_memalign(e820entries): %s\n", __func__, strerror(rc));
e820entries = NULL;
goto err;
}
@@ -392,18 +390,18 @@ static int get_crash_memory_ranges_xen(struct memory_range **range,
sizeof(struct xen_memory_map));
if (rc) {
- fprintf(stderr, "%s: posix_memalign(xen_memory_map): %s\n", __func__, strerror(rc));
+ err("%s: posix_memalign(xen_memory_map): %s\n", __func__, strerror(rc));
xen_memory_map = NULL;
goto err;
}
if (mlock(e820entries, sizeof(struct e820entry) * CRASH_MAX_MEMORY_RANGES) == -1) {
- fprintf(stderr, "%s: mlock(e820entries): %m\n", __func__);
+ err("%s: mlock(e820entries): %m\n", __func__);
goto err;
}
if (mlock(xen_memory_map, sizeof(struct xen_memory_map)) == -1) {
- fprintf(stderr, "%s: mlock(xen_memory_map): %m\n", __func__);
+ err("%s: mlock(xen_memory_map): %m\n", __func__);
goto err;
}
@@ -417,7 +415,7 @@ static int get_crash_memory_ranges_xen(struct memory_range **range,
rc = ioctl(fd, IOCTL_PRIVCMD_HYPERCALL, &hypercall);
if (rc == -1) {
- fprintf(stderr, "%s: ioctl(IOCTL_PRIVCMD_HYPERCALL): %m\n", __func__);
+ err("%s: ioctl(IOCTL_PRIVCMD_HYPERCALL): %m\n", __func__);
goto err;
}
@@ -513,7 +511,7 @@ static int exclude_region(int *nr_ranges, uint64_t start, uint64_t end)
if (tidx >= 0) {
if (*nr_ranges == CRASH_MAX_MEMORY_RANGES) {
/* No space to insert another element. */
- fprintf(stderr, "Error: Number of crash memory ranges"
+ err("Error: Number of crash memory ranges"
" excedeed the max limit\n");
return -1;
}
@@ -970,8 +968,7 @@ int load_crashdump_segments(struct kexec_info *info, char* mod_cmdline,
elf_info.get_note_info = get_crash_notes;
break;
default:
- fprintf(stderr, "unsupported crashdump architecture: %04x\n",
- kexec_arch);
+ err("unsupported crashdump architecture: %04x\n", kexec_arch);
return -1;
}
diff --git a/kexec/arch/i386/kexec-bzImage.c b/kexec/arch/i386/kexec-bzImage.c
index 99fd790..d80edee 100644
--- a/kexec/arch/i386/kexec-bzImage.c
+++ b/kexec/arch/i386/kexec-bzImage.c
@@ -46,41 +46,41 @@ int bzImage_probe(const char *buf, off_t len)
const struct x86_linux_header *header;
if ((uintmax_t)len < (uintmax_t)(2 * 512)) {
if (probe_debug) {
- fprintf(stderr, "File is too short to be a bzImage!\n");
+ err("File is too short to be a bzImage!\n");
}
return -1;
}
header = (const struct x86_linux_header *)buf;
if (memcmp(header->header_magic, "HdrS", 4) != 0) {
if (probe_debug) {
- fprintf(stderr, "Not a bzImage\n");
+ err("Not a bzImage\n");
}
return -1;
}
if (header->boot_sector_magic != 0xAA55) {
if (probe_debug) {
- fprintf(stderr, "No x86 boot sector present\n");
+ err("No x86 boot sector present\n");
}
/* No x86 boot sector present */
return -1;
}
if (header->protocol_version < 0x0200) {
if (probe_debug) {
- fprintf(stderr, "Must be at least protocol version 2.00\n");
+ err("Must be at least protocol version 2.00\n");
}
/* Must be at least protocol version 2.00 */
return -1;
}
if ((header->loadflags & 1) == 0) {
if (probe_debug) {
- fprintf(stderr, "zImage not a bzImage\n");
+ err("zImage not a bzImage\n");
}
/* Not a bzImage */
return -1;
}
/* I've got a bzImage */
if (probe_debug) {
- fprintf(stderr, "It's a bzImage\n");
+ err("It's a bzImage\n");
}
return 0;
}
@@ -135,7 +135,7 @@ int do_bzImage_load(struct kexec_info *info,
kern16_size = (setup_sects +1) *512;
kernel_version = ((char *)&setup_header) + 512 + setup_header.kver_addr;
if (kernel_len < kern16_size) {
- fprintf(stderr, "BzImage truncated?\n");
+ err("BzImage truncated?\n");
return -1;
}
@@ -158,13 +158,13 @@ int do_bzImage_load(struct kexec_info *info,
/* Can't use bzImage for crash dump purposes with real mode entry */
if((info->kexec_flags & KEXEC_ON_CRASH) && real_mode_entry) {
- fprintf(stderr, "Can't use bzImage for crash dump purposes"
+ err("Can't use bzImage for crash dump purposes"
" with real mode entry\n");
return -1;
}
if((info->kexec_flags & KEXEC_ON_CRASH) && !relocatable_kernel) {
- fprintf(stderr, "BzImage is not relocatable. Can't be used"
+ err("BzImage is not relocatable. Can't be used"
" as capture kernel.\n");
return -1;
}
diff --git a/kexec/arch/i386/kexec-elf-x86.c b/kexec/arch/i386/kexec-elf-x86.c
index e62ebcb..b0908fd 100644
--- a/kexec/arch/i386/kexec-elf-x86.c
+++ b/kexec/arch/i386/kexec-elf-x86.c
@@ -50,7 +50,7 @@ int elf_x86_probe(const char *buf, off_t len)
result = build_elf_exec_info(buf, len, &ehdr, 0);
if (result < 0) {
if (probe_debug) {
- fprintf(stderr, "Not an ELF executable\n");
+ err("Not an ELF executable\n");
}
goto out;
}
@@ -59,7 +59,7 @@ int elf_x86_probe(const char *buf, off_t len)
if ((ehdr.e_machine != EM_386) && (ehdr.e_machine != EM_486)) {
/* for a different architecture */
if (probe_debug) {
- fprintf(stderr, "Not i386 ELF executable\n");
+ err("Not i386 ELF executable\n");
}
result = -1;
goto out;
diff --git a/kexec/arch/i386/kexec-multiboot-x86.c b/kexec/arch/i386/kexec-multiboot-x86.c
index 3f787e1..09ee081 100644
--- a/kexec/arch/i386/kexec-multiboot-x86.c
+++ b/kexec/arch/i386/kexec-multiboot-x86.c
@@ -93,16 +93,14 @@ int multiboot_x86_probe(const char *buf, off_t buf_len)
}
if (mbh->flags & MULTIBOOT_AOUT_KLUDGE) {
/* Requires options we don't support */
- fprintf(stderr,
- "Found a multiboot header, but it uses "
+ err("Found a multiboot header, but it uses "
"a non-ELF header layout,\n"
"and I can't do that (yet). Sorry.\n");
return -1;
}
if (mbh->flags & MULTIBOOT_UNSUPPORTED) {
/* Requires options we don't support */
- fprintf(stderr,
- "Found a multiboot header, but it "
+ err("Found a multiboot header, but it "
"requires multiboot options that I\n"
"don't understand. Sorry.\n");
return -1;
@@ -110,8 +108,7 @@ int multiboot_x86_probe(const char *buf, off_t buf_len)
if (mbh->flags & MULTIBOOT_VIDEO_MODE) {
/* Asked for screen mode information */
/* XXX carry on regardless */
- fprintf(stderr,
- "BEWARE! Found a multiboot header which asks "
+ err("BEWARE! Found a multiboot header which asks "
"for screen mode information.\n"
"BEWARE! I am NOT supplying screen mode "
"information, but loading it regardless.\n");
@@ -171,7 +168,7 @@ int multiboot_x86_load(int argc, char **argv, const char *buf, off_t len,
/* Probe for the MB header if it's not already found */
if (mbh == NULL && multiboot_x86_probe(buf, len) != 1)
{
- fprintf(stderr, "Cannot find a loadable multiboot header.\n");
+ err("Cannot find a loadable multiboot header.\n");
return -1;
}
diff --git a/kexec/arch/i386/kexec-nbi.c b/kexec/arch/i386/kexec-nbi.c
index 443a3a7..c0d936a 100644
--- a/kexec/arch/i386/kexec-nbi.c
+++ b/kexec/arch/i386/kexec-nbi.c
@@ -84,7 +84,7 @@ int nbi_probe(const char *buf, off_t len)
/* Ensure we have a properly sized header */
if (((hdr.length & 0xf)*4) != sizeof(hdr)) {
if (probe_debug) {
- fprintf(stderr, "NBI: Bad vendor header size\n");
+ err("NBI: Bad vendor header size\n");
}
return -1;
}
@@ -93,14 +93,14 @@ int nbi_probe(const char *buf, off_t len)
*/
if ((((hdr.length & 0xf0) >> 4)*4) > (512 - sizeof(hdr))) {
if (probe_debug) {
- fprintf(stderr, "NBI: vendor headr too large\n");
+ err("NBI: vendor headr too large\n");
}
return -1;
}
/* Reserved bits are set in the image... */
if ((hdr.length & 0x7ffffe00)) {
if (probe_debug) {
- fprintf(stderr, "NBI: Reserved header bits set\n");
+ err("NBI: Reserved header bits set\n");
}
return -1;
}
@@ -117,26 +117,26 @@ int nbi_probe(const char *buf, off_t len)
memcpy(&seg, buf + seg_off, sizeof(seg));
if ((seg.length & 0xf) != 4) {
if (probe_debug) {
- fprintf(stderr, "NBI: Invalid segment length\n");
+ err("NBI: Invalid segment length\n");
}
return -1;
}
seg_off += ((seg.length & 0xf) + ((seg.length >> 4) & 0xf)) << 2;
if (seg.flags & 0xf8) {
if (probe_debug) {
- fprintf(stderr, "NBI: segment reserved flags set\n");
+ err("NBI: segment reserved flags set\n");
}
return -1;
}
if ((seg.flags & NBI_SEG) == NBI_SEG_NEGATIVE) {
if (probe_debug) {
- fprintf(stderr, "NBI: negative segment addresses not supported\n");
+ err("NBI: negative segment addresses not supported\n");
}
return -1;
}
if (seg_off > 512) {
if (probe_debug) {
- fprintf(stderr, "NBI: segment outside 512 header\n");
+ err("NBI: segment outside 512 header\n");
}
return -1;
}
diff --git a/kexec/arch/i386/kexec-x86-common.c b/kexec/arch/i386/kexec-x86-common.c
index 234823c..5934ead 100644
--- a/kexec/arch/i386/kexec-x86-common.c
+++ b/kexec/arch/i386/kexec-x86-common.c
@@ -70,8 +70,7 @@ static int get_memory_ranges_proc_iomem(struct memory_range **range, int *ranges
FILE *fp;
fp = fopen(iomem, "r");
if (!fp) {
- fprintf(stderr, "Cannot open %s: %s\n",
- iomem, strerror(errno));
+ err("Cannot open %s: %s\n", iomem, strerror(errno));
return -1;
}
while(fgets(line, sizeof(line), fp) != 0) {
@@ -137,7 +136,7 @@ static int get_memory_ranges_sysfs(struct memory_range **range, int *ranges)
ret = get_firmware_memmap_ranges(memory_range, &range_number);
if (ret != 0) {
- fprintf(stderr, "Parsing the /sys/firmware memory map failed. "
+ err("Parsing the /sys/firmware memory map failed. "
"Falling back to /proc/iomem.\n");
return get_memory_ranges_proc_iomem(range, ranges);
}
@@ -189,14 +188,14 @@ static int get_memory_ranges_xen(struct memory_range **range, int *ranges)
xc = xc_interface_open(NULL, NULL, 0);
if (!xc) {
- fprintf(stderr, "%s: Failed to open Xen control interface\n", __func__);
+ err("%s: Failed to open Xen control interface\n", __func__);
goto err;
}
#else
xc = xc_interface_open();
if (xc == -1) {
- fprintf(stderr, "%s: Failed to open Xen control interface\n", __func__);
+ err("%s: Failed to open Xen control interface\n", __func__);
goto err;
}
#endif
@@ -204,7 +203,7 @@ static int get_memory_ranges_xen(struct memory_range **range, int *ranges)
rc = xc_get_machine_memory_map(xc, e820entries, MAX_MEMORY_RANGES);
if (rc < 0) {
- fprintf(stderr, "%s: xc_get_machine_memory_map: %s\n", __func__, strerror(rc));
+ err("%s: xc_get_machine_memory_map: %s\n", __func__, strerror(rc));
goto err;
}
@@ -238,7 +237,7 @@ static int get_memory_ranges_xen(struct memory_range **range, int *ranges)
fd = open("/proc/xen/privcmd", O_RDWR);
if (fd == -1) {
- fprintf(stderr, "%s: open(/proc/xen/privcmd): %m\n", __func__);
+ err("%s: open(/proc/xen/privcmd): %m\n", __func__);
goto err;
}
@@ -246,7 +245,7 @@ static int get_memory_ranges_xen(struct memory_range **range, int *ranges)
sizeof(struct e820entry) * MAX_MEMORY_RANGES);
if (rc) {
- fprintf(stderr, "%s: posix_memalign(e820entries): %s\n", __func__, strerror(rc));
+ err("%s: posix_memalign(e820entries): %s\n", __func__, strerror(rc));
e820entries = NULL;
goto err;
}
@@ -255,18 +254,18 @@ static int get_memory_ranges_xen(struct memory_range **range, int *ranges)
sizeof(struct xen_memory_map));
if (rc) {
- fprintf(stderr, "%s: posix_memalign(xen_memory_map): %s\n", __func__, strerror(rc));
+ err("%s: posix_memalign(xen_memory_map): %s\n", __func__, strerror(rc));
xen_memory_map = NULL;
goto err;
}
if (mlock(e820entries, sizeof(struct e820entry) * MAX_MEMORY_RANGES) == -1) {
- fprintf(stderr, "%s: mlock(e820entries): %m\n", __func__);
+ err("%s: mlock(e820entries): %m\n", __func__);
goto err;
}
if (mlock(xen_memory_map, sizeof(struct xen_memory_map)) == -1) {
- fprintf(stderr, "%s: mlock(xen_memory_map): %m\n", __func__);
+ err("%s: mlock(xen_memory_map): %m\n", __func__);
goto err;
}
@@ -280,7 +279,7 @@ static int get_memory_ranges_xen(struct memory_range **range, int *ranges)
rc = ioctl(fd, IOCTL_PRIVCMD_HYPERCALL, &hypercall);
if (rc == -1) {
- fprintf(stderr, "%s: ioctl(IOCTL_PRIVCMD_HYPERCALL): %m\n", __func__);
+ err("%s: ioctl(IOCTL_PRIVCMD_HYPERCALL): %m\n", __func__);
goto err;
}
@@ -347,7 +346,7 @@ again:
for (i = 0; i < (nr_ranges-1); i++) {
j = i+1;
if (rp[i].start > rp[j].start) {
- fprintf(stderr, "memory out of order!!\n");
+ err("memory out of order!!\n");
return 1;
}
@@ -467,7 +466,7 @@ int get_memory_ranges(struct memory_range **range, int *ranges,
ret = parse_iomem_single("Crash kernel\n", &start, &end);
if (ret != 0) {
- fprintf(stderr, "parse_iomem_single failed.\n");
+ err("parse_iomem_single failed.\n");
return -1;
}
diff --git a/kexec/arch/i386/kexec-x86.c b/kexec/arch/i386/kexec-x86.c
index 014ecd5..f1c1820 100644
--- a/kexec/arch/i386/kexec-x86.c
+++ b/kexec/arch/i386/kexec-x86.c
@@ -106,8 +106,7 @@ int arch_process_options(int argc, char **argv)
}
}
if (value >= 65536) {
- fprintf(stderr, "Bad serial port base '%s'\n",
- optarg);
+ err("Bad serial port base '%s'\n", optarg);
usage();
return -1;
@@ -119,8 +118,7 @@ int arch_process_options(int argc, char **argv)
if ((value > 115200) || ((115200 %value) != 0) ||
(value < 9600) || (*end))
{
- fprintf(stderr, "Bad serial port baud rate '%s'\n",
- optarg);
+ err("Bad serial port baud rate '%s'\n", optarg);
usage();
return -1;
@@ -158,8 +156,7 @@ int arch_compat_trampoline(struct kexec_info *info)
if ((info->kexec_flags & KEXEC_ARCH_MASK) == KEXEC_ARCH_X86_64)
{
if (!info->rhdr.e_shdr) {
- fprintf(stderr,
- "A trampoline is required for cross architecture support\n");
+ err("A trampoline is required for cross architecture support\n");
return -1;
}
elf_rel_set_symbol(&info->rhdr, "compat_x86_64_entry32",
diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c
index 454fad6..e6475dd 100644
--- a/kexec/arch/i386/x86-linux-setup.c
+++ b/kexec/arch/i386/x86-linux-setup.c
@@ -272,7 +272,7 @@ static int read_edd_raw_data(const char *dir, struct edd_info *edd_info)
dbgprintf("EDD raw data has length %d\n", len);
if (read_chars < len) {
- fprintf(stderr, "BIOS reported EDD length of %hd but only "
+ err("BIOS reported EDD length of %hd but only "
"%d chars read.\n", len, (int)read_chars);
return -1;
}
@@ -288,7 +288,7 @@ static int add_edd_entry(struct x86_linux_param_header *real_mode,
struct edd_info *edd_info;
if (!current_mbr || !current_edd) {
- fprintf(stderr, "%s: current_edd and current_edd "
+ err("%s: current_edd and current_edd "
"must not be NULL", __FUNCTION__);
return -1;
}
@@ -298,7 +298,7 @@ static int add_edd_entry(struct x86_linux_param_header *real_mode,
/* extract the device number */
if (sscanf(basename(sysfs_name), "int13_dev%hhx", &devnum) != 1) {
- fprintf(stderr, "Invalid format of int13_dev dir "
+ err("Invalid format of int13_dev dir "
"entry: %s\n", basename(sysfs_name));
return -1;
}
@@ -324,33 +324,33 @@ static int add_edd_entry(struct x86_linux_param_header *real_mode,
/* legacy_max_cylinder */
if (file_scanf(sysfs_name, "legacy_max_cylinder", "%hu",
&edd_info->legacy_max_cylinder) != 1) {
- fprintf(stderr, "Reading legacy_max_cylinder failed.\n");
+ err("Reading legacy_max_cylinder failed.\n");
return -1;
}
/* legacy_max_head */
if (file_scanf(sysfs_name, "legacy_max_head", "%hhu",
&edd_info->legacy_max_head) != 1) {
- fprintf(stderr, "Reading legacy_max_head failed.\n");
+ err("Reading legacy_max_head failed.\n");
return -1;
}
/* legacy_sectors_per_track */
if (file_scanf(sysfs_name, "legacy_sectors_per_track", "%hhu",
&edd_info->legacy_sectors_per_track) != 1) {
- fprintf(stderr, "Reading legacy_sectors_per_track failed.\n");
+ err("Reading legacy_sectors_per_track failed.\n");
return -1;
}
/* Parse the EDD extensions */
if (parse_edd_extensions(sysfs_name, edd_info) != 0) {
- fprintf(stderr, "Parsing EDD extensions failed.\n");
+ err("Parsing EDD extensions failed.\n");
return -1;
}
/* Parse the raw info */
if (read_edd_raw_data(sysfs_name, edd_info) != 0) {
- fprintf(stderr, "Reading EDD raw data failed.\n");
+ err("Reading EDD raw data failed.\n");
return -1;
}
}
@@ -513,8 +513,7 @@ void setup_linux_system_parameters(struct kexec_info *info,
* this e820 not used for capture kernel, see
* do_bzImage_load()
*/
- fprintf(stderr,
- "Too many memory ranges, truncating...\n");
+ err("Too many memory ranges, truncating...\n");
ranges = E820MAX;
}
real_mode->e820_map_nr = ranges;
diff --git a/kexec/arch/ia64/crashdump-ia64.c b/kexec/arch/ia64/crashdump-ia64.c
index 726c9f4..b97245d 100644
--- a/kexec/arch/ia64/crashdump-ia64.c
+++ b/kexec/arch/ia64/crashdump-ia64.c
@@ -140,7 +140,7 @@ static int exclude_crash_reserve_region(int *nr_ranges)
if (tidx >= 0) {
if (*nr_ranges == max_memory_ranges) {
/* No space to insert another element. */
- fprintf(stderr, "Error: Number of crash memory ranges"
+ err("Error: Number of crash memory ranges"
" excedeed the max limit\n");
return -1;
}
@@ -165,8 +165,7 @@ static int get_crash_memory_ranges(int *ranges)
max_memory_ranges);
fp = fopen(iomem, "r");
if (!fp) {
- fprintf(stderr, "Cannot open %s: %s\n",
- iomem, strerror(errno));
+ err("Cannot open %s: %s\n", iomem, strerror(errno));
return -1;
}
while(fgets(line, sizeof(line), fp) != 0) {
diff --git a/kexec/arch/ia64/kexec-elf-ia64.c b/kexec/arch/ia64/kexec-elf-ia64.c
index 7303c03..f53fe16 100644
--- a/kexec/arch/ia64/kexec-elf-ia64.c
+++ b/kexec/arch/ia64/kexec-elf-ia64.c
@@ -60,7 +60,7 @@ int elf_ia64_probe(const char *buf, off_t len)
result = build_elf_exec_info(buf, len, &ehdr, 0);
if (result < 0) {
if (probe_debug) {
- fprintf(stderr, "Not an ELF executable\n");
+ err("Not an ELF executable\n");
}
return -1;
}
@@ -68,7 +68,7 @@ int elf_ia64_probe(const char *buf, off_t len)
if (ehdr.e_machine != EM_IA_64) {
/* for a different architecture */
if (probe_debug) {
- fprintf(stderr, "Not for this architecture.\n");
+ err("Not for this architecture.\n");
}
return -1;
}
@@ -186,21 +186,21 @@ int elf_ia64_load(int argc, char **argv, const char *buf, off_t len,
/* Parse the Elf file */
result = build_elf_exec_info(kernel_buf, kernel_size, &ehdr, 0);
if (result < 0) {
- fprintf(stderr, "ELF parse failed\n");
+ err("ELF parse failed\n");
free_elf_info(&ehdr);
return result;
}
if (info->kexec_flags & KEXEC_ON_CRASH ) {
if ((mem_min == 0x00) && (mem_max == ULONG_MAX)) {
- fprintf(stderr, "Failed to find crash kernel region "
+ err("Failed to find crash kernel region "
"in %s\n", proc_iomem());
free_elf_info(&ehdr);
return -1;
}
move_loaded_segments(&ehdr, mem_min);
} else if (update_loaded_segments(&ehdr) < 0) {
- fprintf(stderr, "Failed to place kernel\n");
+ err("Failed to place kernel\n");
return -1;
}
@@ -210,7 +210,7 @@ int elf_ia64_load(int argc, char **argv, const char *buf, off_t len,
/* Load the Elf data */
result = elf_exec_load(&ehdr, info);
if (result < 0) {
- fprintf(stderr, "ELF load failed\n");
+ err("ELF load failed\n");
free_elf_info(&ehdr);
return result;
}
diff --git a/kexec/arch/ia64/kexec-ia64.c b/kexec/arch/ia64/kexec-ia64.c
index 418d997..c41c924 100644
--- a/kexec/arch/ia64/kexec-ia64.c
+++ b/kexec/arch/ia64/kexec-ia64.c
@@ -84,8 +84,7 @@ int get_memory_ranges(struct memory_range **range, int *ranges,
FILE *fp;
fp = fopen(iomem, "r");
if (!fp) {
- fprintf(stderr, "Cannot open %s: %s\n",
- iomem, strerror(errno));
+ err("Cannot open %s: %s\n", iomem, strerror(errno));
return -1;
}
diff --git a/kexec/arch/mips/crashdump-mips.c b/kexec/arch/mips/crashdump-mips.c
index 8e7b1c3..2fda451 100644
--- a/kexec/arch/mips/crashdump-mips.c
+++ b/kexec/arch/mips/crashdump-mips.c
@@ -64,7 +64,7 @@ static int get_kernel_paddr(struct crash_elf_info *elf_info)
return 0;
}
- fprintf(stderr, "Cannot determine kernel physical load addr\n");
+ err("Cannot determine kernel physical load addr\n");
return -1;
}
@@ -86,7 +86,7 @@ static int get_kernel_vaddr_and_size(struct crash_elf_info *elf_info,
dbgprintf("kernel size = 0x%lx\n", elf_info->kern_size);
return 0;
}
- fprintf(stderr, "Cannot determine kernel virtual load addr and size\n");
+ err("Cannot determine kernel virtual load addr and size\n");
return -1;
}
@@ -128,8 +128,8 @@ static int exclude_crash_reserve_region(int *nr_ranges)
if (tidx >= 0) {
if (*nr_ranges == CRASH_MAX_MEMORY_RANGES) {
/* No space to insert another element. */
- fprintf(stderr, "Error: Number of crash memory ranges"
- " excedeed the max limit\n");
+ err("Error: Number of crash memory ranges"
+ " excedeed the max limit\n");
return -1;
}
for (j = (*nr_ranges - 1); j >= tidx; j--)
@@ -162,8 +162,7 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges)
fp = fopen(iomem, "r");
if (!fp) {
- fprintf(stderr, "Cannot open %s: %s\n",
- iomem, strerror(errno));
+ err("Cannot open %s: %s\n", iomem, strerror(errno));
return -1;
}
/* Separate segment for backup region */
diff --git a/kexec/arch/mips/kexec-elf-mips.c b/kexec/arch/mips/kexec-elf-mips.c
index 6951247..b1651b5 100644
--- a/kexec/arch/mips/kexec-elf-mips.c
+++ b/kexec/arch/mips/kexec-elf-mips.c
@@ -50,7 +50,7 @@ int elf_mips_probe(const char *buf, off_t len)
if (ehdr.e_machine != EM_MIPS) {
/* for a different architecture */
if (probe_debug) {
- fprintf(stderr, "Not for this architecture.\n");
+ err("Not for this architecture.\n");
}
result = -1;
goto out;
diff --git a/kexec/arch/mips/kexec-mips.c b/kexec/arch/mips/kexec-mips.c
index fe0c945..01f8402 100644
--- a/kexec/arch/mips/kexec-mips.c
+++ b/kexec/arch/mips/kexec-mips.c
@@ -38,7 +38,7 @@ int get_memory_ranges(struct memory_range **range, int *ranges,
fp = fopen(iomem, "r");
if (!fp) {
- fprintf(stderr, "Cannot open %s: %s\n", iomem, strerror(errno));
+ err("Cannot open %s: %s\n", iomem, strerror(errno));
return -1;
}
while (fgets(line, sizeof(line), fp) != 0) {
@@ -75,7 +75,7 @@ int file_types = sizeof(file_type) / sizeof(file_type[0]);
void arch_usage(void)
{
#ifdef __mips64
- fprintf(stderr, " --elf32-core-headers Prepare core headers in "
+ err(" --elf32-core-headers Prepare core headers in "
"ELF32 format\n");
#endif
}
diff --git a/kexec/arch/ppc/crashdump-powerpc.c b/kexec/arch/ppc/crashdump-powerpc.c
index eee5b37..cff678a 100644
--- a/kexec/arch/ppc/crashdump-powerpc.c
+++ b/kexec/arch/ppc/crashdump-powerpc.c
@@ -90,7 +90,7 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges)
crash_memory_range = (struct memory_range *) malloc(crash_rng_len);
if (!crash_memory_range) {
- fprintf(stderr, "Allocation for crash memory range failed\n");
+ err("Allocation for crash memory range failed\n");
return -1;
}
memset(crash_memory_range, 0, crash_rng_len);
@@ -141,8 +141,7 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges)
}
if (memory_ranges >= (max_memory_ranges + 1)) {
/* No space to insert another element. */
- fprintf(stderr,
- "Error: Number of crash memory ranges"
+ err("Error: Number of crash memory ranges"
" excedeed the max limit\n");
goto err;
}
diff --git a/kexec/arch/ppc/fixup_dtb.c b/kexec/arch/ppc/fixup_dtb.c
index f832026..b7f5f01 100644
--- a/kexec/arch/ppc/fixup_dtb.c
+++ b/kexec/arch/ppc/fixup_dtb.c
@@ -58,8 +58,7 @@ static void fixup_nodes(char *nodes[])
content = slurp_file(fname, &content_size);
if (!content) {
- fprintf(stderr, "Can't open %s: %s\n",
- fname, strerror(errno));
+ err("Can't open %s: %s\n", fname, strerror(errno));
exit(1);
}
diff --git a/kexec/arch/ppc/kexec-dol-ppc.c b/kexec/arch/ppc/kexec-dol-ppc.c
index 8d0d1a0..7deb263 100644
--- a/kexec/arch/ppc/kexec-dol-ppc.c
+++ b/kexec/arch/ppc/kexec-dol-ppc.c
@@ -242,7 +242,7 @@ int dol_ppc_probe(const char *buf, off_t dol_length)
/* the DOL file should be at least as long as the DOL header */
if (dol_length < DOL_HEADER_SIZE) {
if (debug) {
- fprintf(stderr, "Not a DOL file, too short.\n");
+ err("Not a DOL file, too short.\n");
}
return -1;
}
@@ -257,8 +257,7 @@ int dol_ppc_probe(const char *buf, off_t dol_length)
if ((dol_sect_offset(h, i) != 0)
&& (dol_sect_offset(h, i) < DOL_HEADER_SIZE)) {
if (debug) {
- fprintf(stderr,
- "%s segment offset within DOL header\n",
+ err("%s segment offset within DOL header\n",
dol_sect_type(i));
}
return -1;
@@ -268,8 +267,7 @@ int dol_ppc_probe(const char *buf, off_t dol_length)
if ((uintmax_t)(dol_sect_offset(h, i) + dol_sect_size(h, i)) >
(uintmax_t)dol_length) {
if (debug) {
- fprintf(stderr,
- "%s segment past DOL file size\n",
+ err("%s segment past DOL file size\n",
dol_sect_type(i));
}
return -1;
@@ -278,7 +276,7 @@ int dol_ppc_probe(const char *buf, off_t dol_length)
/* we only should accept DOLs with segments above 2GB */
if (dol_sect_address(h, i) != 0
&& !(dol_sect_address(h, i) & 0x80000000)) {
- fprintf(stderr, "warning, %s segment below 2GB\n",
+ err("warning, %s segment below 2GB\n",
dol_sect_type(i));
}
@@ -293,13 +291,13 @@ int dol_ppc_probe(const char *buf, off_t dol_length)
/* if there is a BSS segment it must^H^H^H^Hshould be above 2GB, too */
if (h->address_bss != 0 && !(h->address_bss & 0x80000000)) {
- fprintf(stderr, "warning, BSS segment below 2GB\n");
+ err("warning, BSS segment below 2GB\n");
}
/* if entrypoint is not within a code segment reject this file */
if (!valid) {
if (debug) {
- fprintf(stderr, "Entry point out of text segment\n");
+ err("Entry point out of text segment\n");
}
return -1;
}
diff --git a/kexec/arch/ppc/kexec-elf-ppc.c b/kexec/arch/ppc/kexec-elf-ppc.c
index 65a65cc..c75727c 100644
--- a/kexec/arch/ppc/kexec-elf-ppc.c
+++ b/kexec/arch/ppc/kexec-elf-ppc.c
@@ -88,7 +88,7 @@ int elf_ppc_probe(const char *buf, off_t len)
if (ehdr.e_machine != EM_PPC) {
/* for a different architecture */
if (probe_debug) {
- fprintf(stderr, "Not for this architecture.\n");
+ err("Not for this architecture.\n");
}
result = -1;
goto out;
@@ -223,7 +223,7 @@ int elf_ppc_load(int argc, char **argv, const char *buf, off_t len,
case OPT_NODES:
if (cur_fixup >= FIXUP_ENTRYS) {
- fprintf(stderr, "The number of entries for the fixup is too large\n");
+ err("The number of entries for the fixup is too large\n");
exit(1);
}
fixup_nodes[cur_fixup] = optarg;
diff --git a/kexec/arch/ppc/kexec-ppc.c b/kexec/arch/ppc/kexec-ppc.c
index 5a2966e..26f441f 100644
--- a/kexec/arch/ppc/kexec-ppc.c
+++ b/kexec/arch/ppc/kexec-ppc.c
@@ -50,13 +50,13 @@ int init_memory_region_info()
file = "/proc/device-tree/#address-cells";
fd = open(file, O_RDONLY);
if (fd < 0) {
- fprintf(stderr, "Unable to open %s\n", file);
+ err("Unable to open %s\n", file);
return -1;
}
res = read(fd, &dt_address_cells, sizeof(dt_address_cells));
if (res != sizeof(dt_address_cells)) {
- fprintf(stderr, "Error reading %s\n", file);
+ err("Error reading %s\n", file);
return -1;
}
close(fd);
@@ -64,13 +64,13 @@ int init_memory_region_info()
file = "/proc/device-tree/#size-cells";
fd = open(file, O_RDONLY);
if (fd < 0) {
- fprintf(stderr, "Unable to open %s\n", file);
+ err("Unable to open %s\n", file);
return -1;
}
res = read(fd, &dt_size_cells, sizeof(dt_size_cells));
if (res != sizeof(dt_size_cells)) {
- fprintf(stderr, "Error reading %s\n", file);
+ err("Error reading %s\n", file);
return -1;
}
close(fd);
@@ -95,11 +95,11 @@ int read_memory_region_limits(int fd, unsigned long long *start,
unsigned long nbytes = dt_address_cells + dt_size_cells;
if (lseek(fd, 0, SEEK_SET) == -1) {
- fprintf(stderr, "Error in file seek\n");
+ err("Error in file seek\n");
return -1;
}
if (read(fd, buf, nbytes) != nbytes) {
- fprintf(stderr, "Error reading the memory region info\n");
+ err("Error reading the memory region info\n");
return -1;
}
@@ -111,8 +111,8 @@ int read_memory_region_limits(int fd, unsigned long long *start,
*start = ((unsigned long long *)p)[0];
p = (unsigned long long *)p + 1;
} else {
- fprintf(stderr, "Unsupported value for #address-cells : %ld\n",
- dt_address_cells);
+ err("Unsupported value for #address-cells : %ld\n",
+ dt_address_cells);
return -1;
}
@@ -121,8 +121,8 @@ int read_memory_region_limits(int fd, unsigned long long *start,
else if (dt_size_cells == sizeof(unsigned long long))
*end = *start + ((unsigned long long *)p)[0];
else {
- fprintf(stderr, "Unsupported value for #size-cells : %ld\n",
- dt_size_cells);
+ err("Unsupported value for #size-cells : %ld\n",
+ dt_size_cells);
return -1;
}
@@ -228,7 +228,7 @@ static int alloc_memory_ranges(void)
return 0;
err1:
- fprintf(stderr, "memory range structure allocation failure\n");
+ err("memory range structure allocation failure\n");
cleanup_memory_ranges();
return -1;
}
@@ -308,7 +308,7 @@ static int realloc_memory_ranges(void)
return 0;
err:
- fprintf(stderr, "memory range structure re-allocation failure\n");
+ err("memory range structure re-allocation failure\n");
return -1;
}
@@ -411,7 +411,7 @@ static int read_kernel_memory_limit(char *fname, char *buf)
goto err_out;
}
if (n != sizeof(uint64_t)) {
- fprintf(stderr, "%s node has invalid size: %d\n",
+ err("%s node has invalid size: %d\n",
fname, n);
goto err_out;
}
@@ -479,7 +479,7 @@ static int get_devtree_details(unsigned long kexec_flags)
} else if (n == sizeof(uint64_t)) {
kernel_end = ((uint64_t *)buf)[0];
} else {
- fprintf(stderr, "%s node has invalid size: %d\n", fname, n);
+ err("%s node has invalid size: %d\n", fname, n);
goto error_openfile;
}
fclose(file);
@@ -508,7 +508,7 @@ static int get_devtree_details(unsigned long kexec_flags)
} else if (n == sizeof(uint64_t)) {
crash_base = ((uint64_t *)buf)[0];
} else {
- fprintf(stderr, "%s node has invalid size: %d\n", fname, n);
+ err("%s node has invalid size: %d\n", fname, n);
goto error_openfile;
}
fclose(file);
@@ -531,7 +531,7 @@ static int get_devtree_details(unsigned long kexec_flags)
} else if (n == sizeof(uint64_t)) {
crash_size = ((uint64_t *)buf)[0];
} else {
- fprintf(stderr, "%s node has invalid size: %d\n", fname, n);
+ err("%s node has invalid size: %d\n", fname, n);
goto error_openfile;
}
fclose(file);
@@ -581,7 +581,7 @@ static int get_devtree_details(unsigned long kexec_flags)
} else if (n == sizeof(uint64_t)) {
initrd_start = ((uint64_t *)buf)[0];
} else {
- fprintf(stderr, "%s node has invalid size: %d\n", fname, n);
+ err("%s node has invalid size: %d\n", fname, n);
goto error_openfile;
}
fclose(file);
@@ -605,7 +605,7 @@ static int get_devtree_details(unsigned long kexec_flags)
} else if (n == sizeof(uint64_t)) {
initrd_end = ((uint64_t *)buf)[0];
} else {
- fprintf(stderr, "%s node has invalid size: %d\n", fname, n);
+ err("%s node has invalid size: %d\n", fname, n);
goto error_openfile;
}
fclose(file);
diff --git a/kexec/arch/ppc/kexec-uImage-ppc.c b/kexec/arch/ppc/kexec-uImage-ppc.c
index 900cd16..2fcf78f 100644
--- a/kexec/arch/ppc/kexec-uImage-ppc.c
+++ b/kexec/arch/ppc/kexec-uImage-ppc.c
@@ -127,7 +127,7 @@ static int ppc_load_bare_bits(int argc, char **argv, const char *buf,
case OPT_NODES:
if (cur_fixup >= FIXUP_ENTRYS) {
- fprintf(stderr, "The number of entries for the fixup is too large\n");
+ err("The number of entries for the fixup is too large\n");
exit(1);
}
fixup_nodes[cur_fixup] = optarg;
diff --git a/kexec/arch/ppc64/crashdump-ppc64.c b/kexec/arch/ppc64/crashdump-ppc64.c
index 6b2eb4c..25cac94 100644
--- a/kexec/arch/ppc64/crashdump-ppc64.c
+++ b/kexec/arch/ppc64/crashdump-ppc64.c
@@ -151,9 +151,8 @@ static int get_dyn_reconf_crash_memory_ranges(void)
}
if (memory_ranges >= (max_memory_ranges + 1)) {
/* No space to insert another element. */
- fprintf(stderr,
- "Error: Number of crash memory ranges"
- " excedeed the max limit\n");
+ err("Error: Number of crash memory ranges"
+ " excedeed the max limit\n");
return -1;
}
@@ -203,7 +202,7 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges)
crash_memory_range = (struct memory_range *) malloc(crash_rng_len);
if (!crash_memory_range) {
- fprintf(stderr, "Allocation for crash memory range failed\n");
+ err("Allocation for crash memory range failed\n");
return -1;
}
memset(crash_memory_range, 0, crash_rng_len);
@@ -257,8 +256,7 @@ static int get_crash_memory_ranges(struct memory_range **range, int *ranges)
}
if (memory_ranges >= (max_memory_ranges + 1)) {
/* No space to insert another element. */
- fprintf(stderr,
- "Error: Number of crash memory ranges"
+ err("Error: Number of crash memory ranges"
" excedeed the max limit\n");
goto err;
}
diff --git a/kexec/arch/ppc64/fs2dt.c b/kexec/arch/ppc64/fs2dt.c
index 924c7ff..cd1f2d9 100644
--- a/kexec/arch/ppc64/fs2dt.c
+++ b/kexec/arch/ppc64/fs2dt.c
@@ -591,7 +591,7 @@ static void putnode(void)
memcpy(dt, local_cmdline,cmd_len);
dt += (cmd_len + 3)/4;
- fprintf(stderr, "Modified cmdline:%s\n", local_cmdline);
+ err("Modified cmdline:%s\n", local_cmdline);
/*
* Determine the platform type/stdout type, so that purgatory
diff --git a/kexec/arch/ppc64/kexec-elf-ppc64.c b/kexec/arch/ppc64/kexec-elf-ppc64.c
index f68f2bc..ffbccd9 100644
--- a/kexec/arch/ppc64/kexec-elf-ppc64.c
+++ b/kexec/arch/ppc64/kexec-elf-ppc64.c
@@ -209,8 +209,7 @@ int elf_ppc64_load(int argc, char **argv, const char *buf, off_t len,
*/
if (ramdisk) {
if (devicetreeblob) {
- fprintf(stderr,
- "Can't use ramdisk with device tree blob input\n");
+ err("Can't use ramdisk with device tree blob input\n");
return -1;
}
seg_buf = slurp_file(ramdisk, &seg_size);
@@ -332,7 +331,7 @@ int elf_ppc64_load(int argc, char **argv, const char *buf, off_t len,
dbgprintf("debug is %d\n", my_debug);
for (i = 0; i < info->nr_segments; i++)
- fprintf(stderr, "segment[%d].mem:%p memsz:%zu\n", i,
+ err("segment[%d].mem:%p memsz:%zu\n", i,
info->segment[i].mem, info->segment[i].memsz);
return 0;
@@ -340,11 +339,11 @@ int elf_ppc64_load(int argc, char **argv, const char *buf, off_t len,
void elf_ppc64_usage(void)
{
- fprintf(stderr, " --command-line=<Command line> command line to append.\n");
- fprintf(stderr, " --append=<Command line> same as --command-line.\n");
- fprintf(stderr, " --ramdisk=<filename> Initial RAM disk.\n");
- fprintf(stderr, " --initrd=<filename> same as --ramdisk.\n");
- fprintf(stderr, " --devicetreeblob=<filename> Specify device tree blob file.\n");
+ err(" --command-line=<Command line> command line to append.\n");
+ err(" --append=<Command line> same as --command-line.\n");
+ err(" --ramdisk=<filename> Initial RAM disk.\n");
+ err(" --initrd=<filename> same as --ramdisk.\n");
+ err(" --devicetreeblob=<filename> Specify device tree blob file.\n");
- fprintf(stderr, "elf support is still broken\n");
+ err("elf support is still broken\n");
}
diff --git a/kexec/arch/ppc64/kexec-ppc64.c b/kexec/arch/ppc64/kexec-ppc64.c
index 389741a..67f2b41 100644
--- a/kexec/arch/ppc64/kexec-ppc64.c
+++ b/kexec/arch/ppc64/kexec-ppc64.c
@@ -91,7 +91,7 @@ static int alloc_memory_ranges(void)
return 0;
err1:
- fprintf(stderr, "memory range structure allocation failure\n");
+ err("memory range structure allocation failure\n");
cleanup_memory_ranges();
return -1;
@@ -124,7 +124,7 @@ static int realloc_memory_ranges(void)
return 0;
err:
- fprintf(stderr, "memory range structure re-allocation failure\n");
+ err("memory range structure re-allocation failure\n");
return -1;
}
@@ -759,7 +759,7 @@ int file_types = sizeof(file_type) / sizeof(file_type[0]);
void arch_usage(void)
{
- fprintf(stderr, " --elf64-core-headers Prepare core headers in ELF64 format\n");
+ err(" --elf64-core-headers Prepare core headers in ELF64 format\n");
}
struct arch_options_t arch_options = {
diff --git a/kexec/arch/ppc64/kexec-zImage-ppc64.c b/kexec/arch/ppc64/kexec-zImage-ppc64.c
index 24a87c6..7c87b6f 100644
--- a/kexec/arch/ppc64/kexec-zImage-ppc64.c
+++ b/kexec/arch/ppc64/kexec-zImage-ppc64.c
@@ -38,18 +38,16 @@ int zImage_ppc64_probe(FILE *file)
Elf32_Ehdr elf;
if (fseek(file, 0, SEEK_SET) < 0) {
- fprintf(stderr, "seek error: %s\n",
- strerror(errno));
+ err("seek error: %s\n", strerror(errno));
return -1;
}
if (fread(&elf, sizeof(Elf32_Ehdr), 1, file) != 1) {
- fprintf(stderr, "read error: %s\n",
- strerror(errno));
+ err("read error: %s\n", strerror(errno));
return -1;
}
if (elf.e_machine == EM_PPC64) {
- fprintf(stderr, "Elf64 not supported\n");
+ err("Elf64 not supported\n");
return -1;
}
@@ -85,8 +83,7 @@ int zImage_ppc64_load(FILE *file, int UNUSED(argc), char **UNUSED(argv),
return -1;
}
if (elf.e_phnum > MAX_HEADERS) {
- fprintf(stderr,
- "Only kernels with %i program headers are supported\n",
+ err("Only kernels with %i program headers are supported\n",
MAX_HEADERS);
return -1;
}
@@ -108,8 +105,7 @@ int zImage_ppc64_load(FILE *file, int UNUSED(argc), char **UNUSED(argv),
*ret_segments = malloc(elf.e_phnum * sizeof(struct kexec_segment));
if (*ret_segments == 0) {
- fprintf(stderr, "malloc failed: %s\n",
- strerror(errno));
+ err("malloc failed: %s\n", strerror(errno));
return -1;
}
segment = ret_segments[0];
@@ -131,7 +127,7 @@ int zImage_ppc64_load(FILE *file, int UNUSED(argc), char **UNUSED(argv),
}
}
if (memsize == 0) {
- fprintf(stderr, "Can't find a loadable segment.\n");
+ err("Can't find a loadable segment.\n");
return -1;
}
@@ -170,5 +166,5 @@ int zImage_ppc64_load(FILE *file, int UNUSED(argc), char **UNUSED(argv),
void zImage_ppc64_usage(void)
{
- fprintf(stderr, "zImage support is still broken\n");
+ err("zImage support is still broken\n");
}
diff --git a/kexec/arch/s390/kexec-image.c b/kexec/arch/s390/kexec-image.c
index d3af800..a500e93 100644
--- a/kexec/arch/s390/kexec-image.c
+++ b/kexec/arch/s390/kexec-image.c
@@ -39,7 +39,7 @@ static void add_segment_check(struct kexec_info *info, const void *buf,
int command_line_add(const char *str)
{
if (strlen(command_line) + strlen(str) + 1 > COMMAND_LINESIZE) {
- fprintf(stderr, "Command line too long.\n");
+ err("Command line too long.\n");
return -1;
}
strcat(command_line, str);
@@ -108,7 +108,7 @@ image_s390_load(int argc, char **argv, const char *kernel_buf,
if (ramdisk) {
rd_buffer = slurp_file(ramdisk, &ramdisk_len);
if (rd_buffer == NULL) {
- fprintf(stderr, "Could not read ramdisk.\n");
+ err("Could not read ramdisk.\n");
return -1;
}
ramdisk_origin = MAX(RAMDISK_ORIGIN_ADDR, kernel_size);
diff --git a/kexec/arch/s390/kexec-s390.c b/kexec/arch/s390/kexec-s390.c
index 074575e..2f1adac 100644
--- a/kexec/arch/s390/kexec-s390.c
+++ b/kexec/arch/s390/kexec-s390.c
@@ -157,7 +157,7 @@ int get_memory_ranges_s390(struct memory_range memory_range[], int *ranges,
fp = fopen(iomem,"r");
if(fp == 0) {
- fprintf(stderr,"Unable to open %s: %s\n",iomem,strerror(errno));
+ err("Unable to open %s: %s\n",iomem,strerror(errno));
return -1;
}
diff --git a/kexec/arch/sh/kexec-sh.c b/kexec/arch/sh/kexec-sh.c
index 7710fdf..a5490db 100644
--- a/kexec/arch/sh/kexec-sh.c
+++ b/kexec/arch/sh/kexec-sh.c
@@ -58,7 +58,7 @@ int get_memory_ranges(struct memory_range **range, int *ranges,
ret = parse_iomem_single("Crash kernel\n", &start, &end);
if (ret != 0) {
- fprintf(stderr, "parse_iomem_single failed.\n");
+ err("parse_iomem_single failed.\n");
return -1;
}
diff --git a/kexec/arch/x86_64/kexec-bzImage64.c b/kexec/arch/x86_64/kexec-bzImage64.c
index 86e6d13..5548342 100644
--- a/kexec/arch/x86_64/kexec-bzImage64.c
+++ b/kexec/arch/x86_64/kexec-bzImage64.c
@@ -49,42 +49,42 @@ int bzImage64_probe(const char *buf, off_t len)
if ((uintmax_t)len < (uintmax_t)(2 * 512)) {
if (probe_debug)
- fprintf(stderr, "File is too short to be a bzImage!\n");
+ err("File is too short to be a bzImage!\n");
return -1;
}
header = (const struct x86_linux_header *)buf;
if (memcmp(header->header_magic, "HdrS", 4) != 0) {
if (probe_debug)
- fprintf(stderr, "Not a bzImage\n");
+ err("Not a bzImage\n");
return -1;
}
if (header->boot_sector_magic != 0xAA55) {
if (probe_debug)
- fprintf(stderr, "No x86 boot sector present\n");
+ err("No x86 boot sector present\n");
/* No x86 boot sector present */
return -1;
}
if (header->protocol_version < 0x020C) {
if (probe_debug)
- fprintf(stderr, "Must be at least protocol version 2.12\n");
+ err("Must be at least protocol version 2.12\n");
/* Must be at least protocol version 2.12 */
return -1;
}
if ((header->loadflags & 1) == 0) {
if (probe_debug)
- fprintf(stderr, "zImage not a bzImage\n");
+ err("zImage not a bzImage\n");
/* Not a bzImage */
return -1;
}
if ((header->xloadflags & 3) != 3) {
if (probe_debug)
- fprintf(stderr, "Not a relocatable bzImage64\n");
+ err("Not a relocatable bzImage64\n");
/* Must be KERNEL_64 and CAN_BE_LOADED_ABOVE_4G */
return -1;
}
/* I've got a relocatable bzImage64 */
if (probe_debug)
- fprintf(stderr, "It's a relocatable bzImage64\n");
+ err("It's a relocatable bzImage64\n");
return 0;
}
@@ -129,7 +129,7 @@ static int do_bzImage64_load(struct kexec_info *info,
setup_sects = 4;
kern16_size = (setup_sects + 1) * 512;
if (kernel_len < kern16_size) {
- fprintf(stderr, "BzImage truncated?\n");
+ err("BzImage truncated?\n");
return -1;
}
diff --git a/kexec/arch/x86_64/kexec-elf-x86_64.c b/kexec/arch/x86_64/kexec-elf-x86_64.c
index a3fc728..76c9f08 100644
--- a/kexec/arch/x86_64/kexec-elf-x86_64.c
+++ b/kexec/arch/x86_64/kexec-elf-x86_64.c
@@ -50,7 +50,7 @@ int elf_x86_64_probe(const char *buf, off_t len)
result = build_elf_exec_info(buf, len, &ehdr, 0);
if (result < 0) {
if (probe_debug) {
- fprintf(stderr, "Not an ELF executable\n");
+ err("Not an ELF executable\n");
}
goto out;
}
@@ -59,7 +59,7 @@ int elf_x86_64_probe(const char *buf, off_t len)
if (ehdr.e_machine != EM_X86_64) {
/* for a different architecture */
if (probe_debug) {
- fprintf(stderr, "Not x86_64 ELF executable\n");
+ err("Not x86_64 ELF executable\n");
}
result = -1;
goto out;
@@ -127,7 +127,7 @@ int elf_x86_64_load(int argc, char **argv, const char *buf, off_t len,
if (opt < OPT_ARCH_MAX) {
break;
}
- fprintf(stderr, "Unknown option: opt: %d\n", opt);
+ err("Unknown option: opt: %d\n", opt);
case '?':
usage();
return -1;
diff --git a/kexec/arch/x86_64/kexec-x86_64.c b/kexec/arch/x86_64/kexec-x86_64.c
index 5c23e01..f7801a3 100644
--- a/kexec/arch/x86_64/kexec-x86_64.c
+++ b/kexec/arch/x86_64/kexec-x86_64.c
@@ -105,7 +105,7 @@ int arch_process_options(int argc, char **argv)
}
}
if (value >= 65536) {
- fprintf(stderr, "Bad serial port base '%s'\n",
+ err("Bad serial port base '%s'\n",
optarg);
usage();
return -1;
@@ -118,8 +118,7 @@ int arch_process_options(int argc, char **argv)
if ((value > 115200) || ((115200 %value) != 0) ||
(value < 9600) || (*end))
{
- fprintf(stderr, "Bad serial port baud rate '%s'\n",
- optarg);
+ err("Bad serial port baud rate '%s'\n", optarg);
usage();
return -1;
diff --git a/kexec/crashdump-xen.c b/kexec/crashdump-xen.c
index d8bd0f4..d9738c3 100644
--- a/kexec/crashdump-xen.c
+++ b/kexec/crashdump-xen.c
@@ -145,20 +145,20 @@ unsigned long xen_architecture(struct crash_elf_info *elf_info)
#ifdef XENCTRL_HAS_XC_INTERFACE
xc = xc_interface_open(NULL, NULL, 0);
if ( !xc ) {
- fprintf(stderr, "failed to open xen control interface.\n");
+ err("failed to open xen control interface.\n");
goto out;
}
#else
xc = xc_interface_open();
if ( xc == -1 ) {
- fprintf(stderr, "failed to open xen control interface.\n");
+ err("failed to open xen control interface.\n");
goto out;
}
#endif
rc = xc_version(xc, XENVER_capabilities, &capabilities[0]);
if ( rc == -1 ) {
- fprintf(stderr, "failed to make Xen version hypercall.\n");
+ err("failed to make Xen version hypercall.\n");
goto out_close;
}
@@ -200,7 +200,7 @@ int xen_get_nr_phys_cpus(void)
n = sizeof(struct crash_note_info) * cpus;
xen_phys_notes = malloc(n);
if (!xen_phys_notes) {
- fprintf(stderr, "failed to allocate xen_phys_notes.\n");
+ err("failed to allocate xen_phys_notes.\n");
return -1;
}
memset(xen_phys_notes, 0, n);
diff --git a/kexec/firmware_memmap.c b/kexec/firmware_memmap.c
index 9598933..60675cc 100644
--- a/kexec/firmware_memmap.c
+++ b/kexec/firmware_memmap.c
@@ -62,8 +62,7 @@ static unsigned long long parse_numeric_sysfs(const char *filename)
fp = fopen(filename, "r");
if (!fp) {
- fprintf(stderr, "Opening \"%s\" failed: %s\n",
- filename, strerror(errno));
+ err("Opening \"%s\" failed: %s\n", filename, strerror(errno));
return ULLONG_MAX;
}
@@ -98,8 +97,7 @@ static char *parse_string_sysfs(const char *filename)
fp = fopen(filename, "r");
if (!fp) {
- fprintf(stderr, "Opening \"%s\" failed: %s\n",
- filename, strerror(errno));
+ err("Opening \"%s\" failed: %s\n", filename, strerror(errno));
return NULL;
}
@@ -170,7 +168,7 @@ static int parse_memmap_entry(const char *entry, struct memory_range *range)
else if (strcmp(type, "Uncached RAM") == 0)
range->type = RANGE_UNCACHED;
else {
- fprintf(stderr, "Unknown type (%s) while parsing %s. Please "
+ err("Unknown type (%s) while parsing %s. Please "
"report this as bug. Using RANGE_RESERVED now.\n",
type, filename);
range->type = RANGE_RESERVED;
@@ -219,7 +217,7 @@ int get_firmware_memmap_ranges(struct memory_range *range, size_t *ranges)
/* argument checking */
if (!range || !ranges) {
- fprintf(stderr, "%s: Invalid arguments.\n", __FUNCTION__);
+ err("%s: Invalid arguments.\n", __FUNCTION__);
return -1;
}
@@ -237,7 +235,7 @@ int get_firmware_memmap_ranges(struct memory_range *range, size_t *ranges)
/* array overflow check */
if ((size_t)i >= *ranges) {
- fprintf(stderr, "The firmware provides more entries "
+ err("The firmware provides more entries "
"allowed (%zd). Please report that as bug.\n",
*ranges);
goto error;
diff --git a/kexec/fs2dt.c b/kexec/fs2dt.c
index 1f5b0cf..9506e8e 100644
--- a/kexec/fs2dt.c
+++ b/kexec/fs2dt.c
@@ -607,7 +607,7 @@ static void putnode(void)
memcpy(dt, local_cmdline,cmd_len);
dt += (cmd_len + 3)/4;
- fprintf(stderr, "Modified cmdline:%s\n", local_cmdline);
+ err("Modified cmdline:%s\n", local_cmdline);
/*
* Determine the platform type/stdout type, so that purgatory
diff --git a/kexec/kernel_version.c b/kexec/kernel_version.c
index 079312b..5a0ade2 100644
--- a/kexec/kernel_version.c
+++ b/kexec/kernel_version.c
@@ -13,44 +13,41 @@ long kernel_version(void)
char *p;
if (uname(&utsname) < 0) {
- fprintf(stderr, "uname failed: %s\n", strerror(errno));
+ err("uname failed: %s\n", strerror(errno));
return -1;
}
p = utsname.release;
major = strtoul(p, &p, 10);
if (major == ULONG_MAX) {
- fprintf(stderr, "strtoul failed: %s\n", strerror(errno));
+ err("strtoul failed: %s\n", strerror(errno));
return -1;
}
if (*p++ != '.') {
- fprintf(stderr, "Unsupported utsname.release: %s\n",
- utsname.release);
+ err("Unsupported utsname.release: %s\n", utsname.release);
return -1;
}
minor = strtoul(p, &p, 10);
if (major == ULONG_MAX) {
- fprintf(stderr, "strtoul failed: %s\n", strerror(errno));
+ err("strtoul failed: %s\n", strerror(errno));
return -1;
}
if (*p++ != '.') {
- fprintf(stderr, "Unsupported utsname.release: %s\n",
- utsname.release);
+ err("Unsupported utsname.release: %s\n", utsname.release);
return -1;
}
patch = strtoul(p, &p, 10);
if (major == ULONG_MAX) {
- fprintf(stderr, "strtoul failed: %s\n", strerror(errno));
+ err("strtoul failed: %s\n", strerror(errno));
return -1;
}
if (major >= 256 || minor >= 256 || patch >= 256) {
- fprintf(stderr, "Unsupported utsname.release: %s\n",
- utsname.release);
+ err("Unsupported utsname.release: %s\n", utsname.release);
return -1;
}
diff --git a/kexec/kexec-elf-exec.c b/kexec/kexec-elf-exec.c
index cb62d04..57dcd45 100644
--- a/kexec/kexec-elf-exec.c
+++ b/kexec/kexec-elf-exec.c
@@ -24,13 +24,13 @@ int build_elf_exec_info(const char *buf, off_t len, struct mem_ehdr *ehdr,
(ehdr->e_type != ET_CORE)) {
/* not an ELF executable */
if (probe_debug) {
- fprintf(stderr, "Not ELF type ET_EXEC or ET_DYN\n");
+ err("Not ELF type ET_EXEC or ET_DYN\n");
}
return -1;
}
if (!ehdr->e_phdr) {
/* No program header */
- fprintf(stderr, "No ELF program header\n");
+ err("No ELF program header\n");
return -1;
}
end_phdr = &ehdr->e_phdr[ehdr->e_phnum];
@@ -40,7 +40,7 @@ int build_elf_exec_info(const char *buf, off_t len, struct mem_ehdr *ehdr,
* to kexec ordinay executables.
*/
if (phdr->p_type == PT_INTERP) {
- fprintf(stderr, "Requires an ELF interpreter\n");
+ err("Requires an ELF interpreter\n");
return -1;
}
}
@@ -56,7 +56,7 @@ int elf_exec_load(struct mem_ehdr *ehdr, struct kexec_info *info)
size_t i;
if (!ehdr->e_phdr) {
- fprintf(stderr, "No program header?\n");
+ err("No program header?\n");
result = -1;
goto out;
}
diff --git a/kexec/kexec-elf-rel.c b/kexec/kexec-elf-rel.c
index 38e34ec..398bda0 100644
--- a/kexec/kexec-elf-rel.c
+++ b/kexec/kexec-elf-rel.c
@@ -146,22 +146,22 @@ int build_elf_rel_info(const char *buf, off_t len, struct mem_ehdr *ehdr,
if (ehdr->e_type != ET_REL) {
/* not an ELF relocate object */
if (probe_debug) {
- fprintf(stderr, "Not ELF type ET_REL\n");
- fprintf(stderr, "ELF Type: %x\n", ehdr->e_type);
+ err("Not ELF type ET_REL\n");
+ err("ELF Type: %x\n", ehdr->e_type);
}
return -1;
}
if (!ehdr->e_shdr) {
/* No section headers */
if (probe_debug) {
- fprintf(stderr, "No ELF section headers\n");
+ err("No ELF section headers\n");
}
return -1;
}
if (!machine_verify_elf_rel(ehdr)) {
/* It does not meant the native architecture constraints */
if (probe_debug) {
- fprintf(stderr, "ELF architecture constraint failure\n");
+ err("ELF architecture constraint failure\n");
}
return -1;
}
@@ -183,7 +183,7 @@ int elf_rel_load(struct mem_ehdr *ehdr, struct kexec_info *info,
max = elf_max_addr(ehdr);
}
if (!ehdr->e_shdr) {
- fprintf(stderr, "No section header?\n");
+ err("No section header?\n");
result = -1;
goto out;
}
diff --git a/kexec/kexec-elf.c b/kexec/kexec-elf.c
index 3515203..084f6dc 100644
--- a/kexec/kexec-elf.c
+++ b/kexec/kexec-elf.c
@@ -102,7 +102,7 @@ static int build_mem_elf32_ehdr(const char *buf, off_t len, struct mem_ehdr *ehd
if ((uintmax_t)len < (uintmax_t)sizeof(lehdr)) {
/* Buffer is to small to be an elf executable */
if (probe_debug) {
- fprintf(stderr, "Buffer is to small to hold ELF header\n");
+ err("Buffer is to small to hold ELF header\n");
}
return -1;
}
@@ -110,28 +110,28 @@ static int build_mem_elf32_ehdr(const char *buf, off_t len, struct mem_ehdr *ehd
if (elf16_to_cpu(ehdr, lehdr.e_ehsize) != sizeof(Elf32_Ehdr)) {
/* Invalid Elf header size */
if (probe_debug) {
- fprintf(stderr, "Bad ELF header size\n");
+ err("Bad ELF header size\n");
}
return -1;
}
if (elf32_to_cpu(ehdr, lehdr.e_entry) > UINT32_MAX) {
/* entry is to large */
if (probe_debug) {
- fprintf(stderr, "ELF e_entry to large\n");
+ err("ELF e_entry to large\n");
}
return -1;
}
if (elf32_to_cpu(ehdr, lehdr.e_phoff) > UINT32_MAX) {
/* phoff is to large */
if (probe_debug) {
- fprintf(stderr, "ELF e_phoff to large\n");
+ err("ELF e_phoff to large\n");
}
return -1;
}
if (elf32_to_cpu(ehdr, lehdr.e_shoff) > UINT32_MAX) {
/* shoff is to large */
if (probe_debug) {
- fprintf(stderr, "ELF e_shoff to large\n");
+ err("ELF e_shoff to large\n");
}
return -1;
}
@@ -151,7 +151,7 @@ static int build_mem_elf32_ehdr(const char *buf, off_t len, struct mem_ehdr *ehd
{
/* Invalid program header size */
if (probe_debug) {
- fprintf(stderr, "ELF bad program header size\n");
+ err("ELF bad program header size\n");
}
return -1;
}
@@ -160,7 +160,7 @@ static int build_mem_elf32_ehdr(const char *buf, off_t len, struct mem_ehdr *ehd
{
/* Invalid section header size */
if (probe_debug) {
- fprintf(stderr, "ELF bad section header size\n");
+ err("ELF bad section header size\n");
}
return -1;
}
@@ -174,7 +174,7 @@ static int build_mem_elf64_ehdr(const char *buf, off_t len, struct mem_ehdr *ehd
if ((uintmax_t)len < (uintmax_t)sizeof(lehdr)) {
/* Buffer is to small to be an elf executable */
if (probe_debug) {
- fprintf(stderr, "Buffer is to small to hold ELF header\n");
+ err("Buffer is to small to hold ELF header\n");
}
return -1;
}
@@ -182,28 +182,28 @@ static int build_mem_elf64_ehdr(const char *buf, off_t len, struct mem_ehdr *ehd
if (elf16_to_cpu(ehdr, lehdr.e_ehsize) != sizeof(Elf64_Ehdr)) {
/* Invalid Elf header size */
if (probe_debug) {
- fprintf(stderr, "Bad ELF header size\n");
+ err("Bad ELF header size\n");
}
return -1;
}
if (elf32_to_cpu(ehdr, lehdr.e_entry) > UINT32_MAX) {
/* entry is to large */
if (probe_debug) {
- fprintf(stderr, "ELF e_entry to large\n");
+ err("ELF e_entry to large\n");
}
return -1;
}
if (elf32_to_cpu(ehdr, lehdr.e_phoff) > UINT32_MAX) {
/* phoff is to large */
if (probe_debug) {
- fprintf(stderr, "ELF e_phoff to large\n");
+ err("ELF e_phoff to large\n");
}
return -1;
}
if (elf32_to_cpu(ehdr, lehdr.e_shoff) > UINT32_MAX) {
/* shoff is to large */
if (probe_debug) {
- fprintf(stderr, "ELF e_shoff to large\n");
+ err("ELF e_shoff to large\n");
}
return -1;
}
@@ -223,7 +223,7 @@ static int build_mem_elf64_ehdr(const char *buf, off_t len, struct mem_ehdr *ehd
{
/* Invalid program header size */
if (probe_debug) {
- fprintf(stderr, "ELF bad program header size\n");
+ err("ELF bad program header size\n");
}
return -1;
}
@@ -232,7 +232,7 @@ static int build_mem_elf64_ehdr(const char *buf, off_t len, struct mem_ehdr *ehd
{
/* Invalid section header size */
if (probe_debug) {
- fprintf(stderr, "ELF bad section header size\n");
+ err("ELF bad section header size\n");
}
return -1;
}
@@ -248,7 +248,7 @@ static int build_mem_ehdr(const char *buf, off_t len, struct mem_ehdr *ehdr)
if ((uintmax_t)len < (uintmax_t)sizeof(e_ident)) {
/* Buffer is to small to be an elf executable */
if (probe_debug) {
- fprintf(stderr, "Buffer is to small to hold ELF e_ident\n");
+ err("Buffer is to small to hold ELF e_ident\n");
}
return -1;
}
@@ -256,7 +256,7 @@ static int build_mem_ehdr(const char *buf, off_t len, struct mem_ehdr *ehdr)
if (memcmp(e_ident, ELFMAG, SELFMAG) != 0) {
/* No ELF header magic */
if (probe_debug) {
- fprintf(stderr, "NO ELF header magic\n");
+ err("NO ELF header magic\n");
}
return -1;
}
@@ -267,7 +267,7 @@ static int build_mem_ehdr(const char *buf, off_t len, struct mem_ehdr *ehdr)
{
/* Not a supported elf class */
if (probe_debug) {
- fprintf(stderr, "Not a supported ELF class\n");
+ err("Not a supported ELF class\n");
}
return -1;
}
@@ -276,7 +276,7 @@ static int build_mem_ehdr(const char *buf, off_t len, struct mem_ehdr *ehdr)
{
/* Not a supported elf data type */
if (probe_debug) {
- fprintf(stderr, "Not a supported ELF data format\n");
+ err("Not a supported ELF data format\n");
}
return -1;
}
@@ -295,7 +295,7 @@ static int build_mem_ehdr(const char *buf, off_t len, struct mem_ehdr *ehdr)
(ehdr->e_version != EV_CURRENT))
{
if (probe_debug) {
- fprintf(stderr, "Unknown ELF version\n");
+ err("Unknown ELF version\n");
}
/* Unknwon elf version */
return -1;
@@ -319,7 +319,7 @@ static int build_mem_elf32_phdr(const char *buf, struct mem_ehdr *ehdr, int idx)
(elf32_to_cpu(ehdr, lphdr.p_vaddr) > UINT32_MAX) ||
(elf32_to_cpu(ehdr, lphdr.p_align) > UINT32_MAX))
{
- fprintf(stderr, "Program segment size out of range\n");
+ err("Program segment size out of range\n");
return -1;
}
@@ -351,7 +351,7 @@ static int build_mem_elf64_phdr(const char *buf, struct mem_ehdr *ehdr, int idx)
(elf64_to_cpu(ehdr, lphdr.p_vaddr) > UINT64_MAX) ||
(elf64_to_cpu(ehdr, lphdr.p_align) > UINT64_MAX))
{
- fprintf(stderr, "Program segment size out of range\n");
+ err("Program segment size out of range\n");
return -1;
}
@@ -384,14 +384,14 @@ static int build_mem_phdrs(const char *buf, off_t len, struct mem_ehdr *ehdr,
phdr_size = sizeof(Elf64_Phdr);
}
else {
- fprintf(stderr, "Invalid ei_class?\n");
+ err("Invalid ei_class?\n");
return -1;
}
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 */
if (probe_debug || (flags & ELF_SKIP_FILESZ_CHECK)) {
- fprintf(stderr, "ELF program headers truncated"
+ err("ELF program headers truncated"
" have %ju bytes need %ju bytes\n",
(uintmax_t)len,
(uintmax_t)(ehdr->e_phoff + phdr_size));
@@ -428,14 +428,14 @@ static int build_mem_phdrs(const char *buf, off_t len, struct mem_ehdr *ehdr,
(uintmax_t)len) {
/* The segment does not fit in the buffer */
if (probe_debug) {
- fprintf(stderr, "ELF segment not in file\n");
+ err("ELF segment not in file\n");
}
return -1;
}
if ((phdr->p_paddr + phdr->p_memsz) < phdr->p_paddr) {
/* The memory address wraps */
if (probe_debug) {
- fprintf(stderr, "ELF address wrap around\n");
+ err("ELF address wrap around\n");
}
return -1;
}
@@ -462,7 +462,7 @@ static int build_mem_elf32_shdr(const char *buf, struct mem_ehdr *ehdr, int idx)
(elf32_to_cpu(ehdr, lshdr.sh_addralign) > UINT32_MAX) ||
(elf32_to_cpu(ehdr, lshdr.sh_entsize) > UINT32_MAX))
{
- fprintf(stderr, "Program section size out of range\n");
+ err("Program section size out of range\n");
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: %lld\n",
+ err("Bad section header(%x) entsize: %lld\n",
shdr->sh_type, shdr->sh_entsize);
return -1;
}
@@ -531,7 +531,7 @@ static int build_mem_elf64_shdr(const char *buf, struct mem_ehdr *ehdr, int idx)
(elf64_to_cpu(ehdr, lshdr.sh_addralign) > UINT64_MAX) ||
(elf64_to_cpu(ehdr, lshdr.sh_entsize) > UINT64_MAX))
{
- fprintf(stderr, "Program section size out of range\n");
+ err("Program section size out of range\n");
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: %lld\n",
+ err("Bad section header(%x) entsize: %lld\n",
shdr->sh_type, shdr->sh_entsize);
return -1;
}
@@ -600,14 +600,14 @@ static int build_mem_shdrs(const char *buf, off_t len, struct mem_ehdr *ehdr,
shdr_size = sizeof(Elf64_Shdr);
}
else {
- fprintf(stderr, "Invalid ei_class?\n");
+ err("Invalid ei_class?\n");
return -1;
}
shdr_size *= ehdr->e_shnum;
if ((uintmax_t)(ehdr->e_shoff + shdr_size) > (uintmax_t)len) {
/* The section header did not fit in the file buffer */
if (probe_debug) {
- fprintf(stderr, "ELF section header does not fit in file\n");
+ err("ELF section header does not fit in file\n");
}
return -1;
}
@@ -640,15 +640,14 @@ static int build_mem_shdrs(const char *buf, off_t len, struct mem_ehdr *ehdr,
(uintmax_t)len) {
/* The section does not fit in the buffer */
if (probe_debug) {
- fprintf(stderr, "ELF section %zd not in file\n",
- i);
+ err("ELF section %zd not in file\n", i);
}
return -1;
}
if ((shdr->sh_addr + shdr->sh_size) < shdr->sh_addr) {
/* The memory address wraps */
if (probe_debug) {
- fprintf(stderr, "ELF address wrap around\n");
+ err("ELF address wrap around\n");
}
return -1;
}
@@ -727,8 +726,7 @@ static int build_mem_notes(struct mem_ehdr *ehdr)
* where /proc/kcore elf notes were not null
* terminated. It has been fixed in 2.6.19.
*/
- fprintf(stderr, "Warning: Elf Note name is not null "
- "terminated\n");
+ err("Warning: Elf Note name is not null terminated\n");
}
ehdr->e_note[i].n_type = hdr.n_type;
ehdr->e_note[i].n_name = (char *)name;
diff --git a/kexec/kexec.c b/kexec/kexec.c
index f3928af..cb46174 100644
--- a/kexec/kexec.c
+++ b/kexec/kexec.c
@@ -179,8 +179,7 @@ int sort_segments(struct kexec_info *info)
end = 0;
for (i = 0; i < info->nr_segments; i++) {
if (end > info->segment[i].mem) {
- fprintf(stderr, "Overlapping memory segments at %p\n",
- end);
+ err("Overlapping memory segments at %p\n", end);
return -1;
}
end = ((char *)info->segment[i].mem) + info->segment[i].memsz;
@@ -282,12 +281,12 @@ unsigned long locate_hole(struct kexec_info *info,
}
free(mem_range);
if (hole_base == ULONG_MAX) {
- fprintf(stderr, "Could not find a free area of memory of "
+ err("Could not find a free area of memory of "
"%lx bytes...\n", hole_size);
return ULONG_MAX;
}
if ((hole_base + hole_size) > hole_max) {
- fprintf(stderr, "Could not find a free area of memory below: "
+ err("Could not find a free area of memory below: "
"%lx...\n", hole_max);
return ULONG_MAX;
}
@@ -341,7 +340,7 @@ void add_segment_phys_virt(struct kexec_info *info,
info->segment[info->nr_segments].memsz = memsz;
info->nr_segments++;
if (info->nr_segments > KEXEC_MAX_SEGMENTS) {
- fprintf(stderr, "Warning: kernel segment limit reached. "
+ err("Warning: kernel segment limit reached. "
"This will likely fail\n");
}
}
@@ -547,8 +546,7 @@ char *slurp_file_len(const char *filename, off_t size)
return 0;
fd = open(filename, O_RDONLY | _O_BINARY);
if (fd < 0) {
- fprintf(stderr, "Cannot open %s: %s\n", filename,
- strerror(errno));
+ err("Cannot open %s: %s\n", filename, strerror(errno));
return 0;
}
buf = xmalloc(size);
@@ -558,9 +556,9 @@ char *slurp_file_len(const char *filename, off_t size)
if (result < 0) {
if ((errno == EINTR) || (errno == EAGAIN))
continue;
- fprintf(stderr, "read on %s of %ld bytes failed: %s\n",
- filename, (size - progress)+ 0UL,
- strerror(errno));
+ err("read on %s of %ld bytes failed: %s\n",
+ filename, (size - progress)+ 0UL,
+ strerror(errno));
free(buf);
return 0;
}
@@ -661,7 +659,7 @@ static int my_load(const char *type, int fileind, int argc, char **argv,
result = 0;
if (argc - fileind <= 0) {
- fprintf(stderr, "No kernel specified\n");
+ err("No kernel specified\n");
usage();
return -1;
}
@@ -674,7 +672,7 @@ static int my_load(const char *type, int fileind, int argc, char **argv,
if (get_memory_ranges(&info.memory_range, &info.memory_ranges,
info.kexec_flags) < 0 || info.memory_ranges == 0) {
- fprintf(stderr, "Could not get memory layout\n");
+ err("Could not get memory layout\n");
return -1;
}
/* if a kernel type was specified, try to honor it */
@@ -684,7 +682,7 @@ static int my_load(const char *type, int fileind, int argc, char **argv,
break;
}
if (i == file_types) {
- fprintf(stderr, "Unsupported kernel type %s\n", type);
+ err("Unsupported kernel type %s\n", type);
return -1;
} else {
/* make sure our file is really of that type */
@@ -698,12 +696,11 @@ static int my_load(const char *type, int fileind, int argc, char **argv,
break;
}
if (i == file_types) {
- fprintf(stderr, "Cannot determine the file type "
- "of %s\n", kernel);
+ err("Cannot determine the file type of %s\n", kernel);
return -1;
} else {
if (guess_only) {
- fprintf(stderr, "Wrong file type %s, "
+ err("Wrong file type %s, "
"file matches type %s\n",
type, file_type[i].name);
return -1;
@@ -721,13 +718,12 @@ static int my_load(const char *type, int fileind, int argc, char **argv,
if (result < 0) {
switch (result) {
case ENOCRASHKERNEL:
- fprintf(stderr,
- "No crash kernel segment found in /proc/iomem\n"
+ err("No crash kernel segment found in /proc/iomem\n"
"Please check the crashkernel= boot parameter.\n");
break;
case EFAILED:
default:
- fprintf(stderr, "Cannot load %s\n", kernel);
+ err("Cannot load %s\n", kernel);
break;
}
return result;
@@ -742,7 +738,7 @@ static int my_load(const char *type, int fileind, int argc, char **argv,
/* Verify all of the segments load to a valid location in memory */
for (i = 0; i < info.nr_segments; i++) {
if (!valid_memory_segment(&info, info.segment +i)) {
- fprintf(stderr, "Invalid memory segment %p - %p\n",
+ err("Invalid memory segment %p - %p\n",
info.segment[i].mem,
((char *)info.segment[i].mem) +
info.segment[i].memsz);
@@ -767,9 +763,8 @@ static int my_load(const char *type, int fileind, int argc, char **argv,
info.entry, info.nr_segments, info.segment, info.kexec_flags);
if (result != 0) {
/* The load failed, print some debugging information */
- fprintf(stderr, "kexec_load failed: %s\n",
- strerror(errno));
- fprintf(stderr, "entry = %p flags = %lx\n",
+ err("kexec_load failed: %s\n", strerror(errno));
+ err("entry = %p flags = %lx\n",
info.entry, info.kexec_flags);
print_segments(stderr, &info);
}
@@ -791,8 +786,7 @@ static int k_unload (unsigned long kexec_flags)
result = kexec_load(NULL, 0, NULL, kexec_flags);
if (result != 0) {
/* The unload failed, print some debugging information */
- fprintf(stderr, "kexec_load (0 segments) failed: %s\n",
- strerror(errno));
+ err("kexec_load (0 segments) failed: %s\n", strerror(errno));
}
return result;
}
@@ -824,8 +818,7 @@ static int my_exec(void)
{
reboot(LINUX_REBOOT_CMD_KEXEC);
/* I have failed if I make it here */
- fprintf(stderr, "kexec failed: %s\n",
- strerror(errno));
+ err("kexec failed: %s\n", strerror(errno));
return -1;
}
@@ -849,19 +842,17 @@ static int my_load_jump_back_helper(unsigned long kexec_flags, void *entry)
int result;
if (kexec_loaded()) {
- fprintf(stderr, "There is kexec kernel loaded, make sure "
+ err("There is kexec kernel loaded, make sure "
"you are in kexeced kernel.\n");
return -1;
}
if (!entry) {
- fprintf(stderr, "Please specify jump back entry "
- "in command line\n");
+ err("Please specify jump back entry in command line\n");
return -1;
}
result = load_jump_back_helper_image(kexec_flags, entry);
if (result) {
- fprintf(stderr, "load jump back kernel failed: %s\n",
- strerror(errno));
+ err("load jump back kernel failed: %s\n", strerror(errno));
return result;
}
return result;
@@ -1120,8 +1111,7 @@ int main(int argc, char *argv[])
case OPT_ENTRY:
entry = (void *)strtoul(optarg, &endptr, 0);
if (*endptr) {
- fprintf(stderr,
- "Bad option value in --load-jump-back-helper=%s\n",
+ err("Bad option value in --load-jump-back-helper=%s\n",
optarg);
usage();
return 1;
@@ -1147,8 +1137,7 @@ int main(int argc, char *argv[])
case OPT_MEM_MIN:
mem_min = strtoul(optarg, &endptr, 0);
if (*endptr) {
- fprintf(stderr,
- "Bad option value in --mem-min=%s\n",
+ err("Bad option value in --mem-min=%s\n",
optarg);
usage();
return 1;
@@ -1157,8 +1146,7 @@ int main(int argc, char *argv[])
case OPT_MEM_MAX:
mem_max = strtoul(optarg, &endptr, 0);
if (*endptr) {
- fprintf(stderr,
- "Bad option value in --mem-max=%s\n",
+ err("Bad option value in --mem-max=%s\n",
optarg);
usage();
return 1;
diff --git a/kexec/phys_arch.c b/kexec/phys_arch.c
index 1571a0f..26297ad 100644
--- a/kexec/phys_arch.c
+++ b/kexec/phys_arch.c
@@ -8,8 +8,7 @@ long physical_arch(void)
struct utsname utsname;
int i, result = uname(&utsname);
if (result < 0) {
- fprintf(stderr, "uname failed: %s\n",
- strerror(errno));
+ err("uname failed: %s\n", strerror(errno));
return -1;
}
@@ -22,7 +21,6 @@ long physical_arch(void)
return arches[i].arch;
}
- fprintf(stderr, "Unsupported machine type: %s\n",
- utsname.machine);
+ err("Unsupported machine type: %s\n", utsname.machine);
return -1;
}
diff --git a/kexec/zlib.c b/kexec/zlib.c
index d44df12..55065ef 100644
--- a/kexec/zlib.c
+++ b/kexec/zlib.c
@@ -34,7 +34,7 @@ char *zlib_decompress_file(const char *filename, off_t *r_size)
if (errnum == Z_ERRNO) {
msg = strerror(errno);
}
- fprintf(stderr, "Cannot open `%s': %s\n", filename, msg);
+ err("Cannot open `%s': %s\n", filename, msg);
return NULL;
}
size = 0;
--
1.7.1
More information about the kexec
mailing list