summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2016-08-08 13:25:35 +0100
committerPeter Maydell <peter.maydell@linaro.org>2016-08-08 13:25:35 +0100
commitf5edfcfafbc0fbe2e2270b9fbcbf9009399bc27a (patch)
tree2cb2e479753c9b4a8bccc181e602fb5a7ed68727
parent9efaf7f5f5729f7fa8dcf413fabe3d46ad382f90 (diff)
parent7ea7d36e3493d4dac7f20e46d0ca499bbb3251a6 (diff)
downloadqemu-f5edfcfafbc0fbe2e2270b9fbcbf9009399bc27a.tar.gz
Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2016-08-08' into staging
Error reporting patches for 2016-08-08 # gpg: Signature made Mon 08 Aug 2016 08:14:49 BST # gpg: using RSA key 0x3870B400EB918653 # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653 * remotes/armbru/tags/pull-error-2016-08-08: error: Fix error_printf() calls lacking newlines vfio: Use error_report() instead of error_printf() for errors checkpatch: Fix newline detection in error_setg() & friends error: Strip trailing '\n' from error string arguments (again) Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--hw/i386/pc.c2
-rw-r--r--hw/mips/cps.c2
-rw-r--r--hw/nvram/fw_cfg.c2
-rw-r--r--hw/ppc/spapr_cpu_core.c2
-rw-r--r--hw/vfio/platform.c2
-rw-r--r--kvm-all.c2
-rw-r--r--qemu-img.c4
-rwxr-xr-xscripts/checkpatch.pl5
-rw-r--r--scripts/coccinelle/err-bad-newline.cocci29
-rw-r--r--slirp/slirp.c8
-rw-r--r--target-i386/kvm.c2
-rw-r--r--ui/vnc.c2
12 files changed, 47 insertions, 15 deletions
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 47593b741a..022dd1b205 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -381,7 +381,7 @@ ISADevice *pc_find_fdc0(void)
error_report("warning: multiple floppy disk controllers with "
"iobase=0x3f0 have been found");
error_printf("the one being picked for CMOS setup might not reflect "
- "your intent");
+ "your intent\n");
}
return state.floppy;
diff --git a/hw/mips/cps.c b/hw/mips/cps.c
index 77c621797a..4ef337d5c4 100644
--- a/hw/mips/cps.c
+++ b/hw/mips/cps.c
@@ -73,7 +73,7 @@ static void mips_cps_realize(DeviceState *dev, Error **errp)
for (i = 0; i < s->num_vp; i++) {
cpu = cpu_mips_init(s->cpu_model);
if (cpu == NULL) {
- error_setg(errp, "%s: CPU initialization failed\n", __func__);
+ error_setg(errp, "%s: CPU initialization failed", __func__);
return;
}
diff --git a/hw/nvram/fw_cfg.c b/hw/nvram/fw_cfg.c
index f10d5ec9c8..6a68e594d5 100644
--- a/hw/nvram/fw_cfg.c
+++ b/hw/nvram/fw_cfg.c
@@ -744,7 +744,7 @@ static int get_fw_cfg_order(FWCfgState *s, const char *name)
}
/* Stick unknown stuff at the end. */
- error_report("warning: Unknown firmware file in legacy mode: %s\n", name);
+ error_report("warning: Unknown firmware file in legacy mode: %s", name);
return FW_CFG_ORDER_OVERRIDE_LAST;
}
diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
index 704803ac23..716f7c44cd 100644
--- a/hw/ppc/spapr_cpu_core.c
+++ b/hw/ppc/spapr_cpu_core.c
@@ -231,7 +231,7 @@ void spapr_core_pre_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
}
if (cc->core_id % smp_threads) {
- error_setg(&local_err, "invalid core id %d\n", cc->core_id);
+ error_setg(&local_err, "invalid core id %d", cc->core_id);
goto out;
}
diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c
index 1798a00a3f..a559e7b659 100644
--- a/hw/vfio/platform.c
+++ b/hw/vfio/platform.c
@@ -496,7 +496,7 @@ static int vfio_populate_device(VFIODevice *vbasedev)
irq.index = i;
ret = ioctl(vbasedev->fd, VFIO_DEVICE_GET_IRQ_INFO, &irq);
if (ret) {
- error_printf("vfio: error getting device %s irq info",
+ error_report("vfio: error getting device %s irq info",
vbasedev->name);
goto irq_err;
} else {
diff --git a/kvm-all.c b/kvm-all.c
index 65608def36..ebf35b0c5b 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -2143,7 +2143,7 @@ void kvm_device_access(int fd, int group, uint64_t attr,
if (err < 0) {
error_report("KVM_%s_DEVICE_ATTR failed: %s",
write ? "SET" : "GET", strerror(-err));
- error_printf("Group %d attr 0x%016" PRIx64, group, attr);
+ error_printf("Group %d attr 0x%016" PRIx64 "\n", group, attr);
abort();
}
}
diff --git a/qemu-img.c b/qemu-img.c
index 2e40e1fc84..d2865a589e 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -3490,7 +3490,7 @@ typedef struct BenchData {
static void bench_undrained_flush_cb(void *opaque, int ret)
{
if (ret < 0) {
- error_report("Failed flush request: %s\n", strerror(-ret));
+ error_report("Failed flush request: %s", strerror(-ret));
exit(EXIT_FAILURE);
}
}
@@ -3501,7 +3501,7 @@ static void bench_cb(void *opaque, int ret)
BlockAIOCB *acb;
if (ret < 0) {
- error_report("Failed request: %s\n", strerror(-ret));
+ error_report("Failed request: %s", strerror(-ret));
exit(EXIT_FAILURE);
}
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index b7cb4ab478..9297087212 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2514,11 +2514,14 @@ sub process {
my $qemu_error_funcs = qr{error_setg|
error_setg_errno|
error_setg_win32|
+ error_setg_file_open|
error_set|
+ error_prepend|
+ error_reportf_err|
error_vreport|
error_report}x;
- if ($rawline =~ /\b(?:$qemu_error_funcs)\s*\(\s*\".*\\n/) {
+ if ($rawline =~ /\b(?:$qemu_error_funcs)\s*\(.*\".*\\n/) {
WARN("Error messages should not contain newlines\n" . $herecurr);
}
diff --git a/scripts/coccinelle/err-bad-newline.cocci b/scripts/coccinelle/err-bad-newline.cocci
new file mode 100644
index 0000000000..1316cc86a6
--- /dev/null
+++ b/scripts/coccinelle/err-bad-newline.cocci
@@ -0,0 +1,29 @@
+// Error messages should not contain newlines. This script finds
+// messages that do. Fixing them is manual.
+@r@
+expression errp, eno, cls, fmt;
+position p;
+@@
+(
+error_report(fmt, ...)@p
+|
+error_setg(errp, fmt, ...)@p
+|
+error_setg_errno(errp, eno, fmt, ...)@p
+|
+error_setg_win32(errp, eno, cls, fmt, ...)@p
+|
+error_prepend(errp, fmt, ...)@p
+|
+error_setg_file_open(errp, eno, cls, fmt, ...)@p
+|
+error_reportf_err(errp, fmt, ...)@p
+|
+error_set(errp, cls, fmt, ...)@p
+)
+@script:python@
+fmt << r.fmt;
+p << r.p;
+@@
+if "\\n" in str(fmt):
+ print "%s:%s:%s:%s" % (p[0].file, p[0].line, p[0].column, fmt)
diff --git a/slirp/slirp.c b/slirp/slirp.c
index 7eb183d0e9..47a1652952 100644
--- a/slirp/slirp.c
+++ b/slirp/slirp.c
@@ -1197,8 +1197,8 @@ static void slirp_socket_save(QEMUFile *f, struct socket *so)
qemu_put_be16(f, so->so_fport);
break;
default:
- error_report(
- "so_ffamily unknown, unable to save so_faddr and so_fport\n");
+ error_report("so_ffamily unknown, unable to save so_faddr and"
+ " so_fport");
}
qemu_put_be16(f, so->so_lfamily);
switch (so->so_lfamily) {
@@ -1207,8 +1207,8 @@ static void slirp_socket_save(QEMUFile *f, struct socket *so)
qemu_put_be16(f, so->so_lport);
break;
default:
- error_report(
- "so_ffamily unknown, unable to save so_laddr and so_lport\n");
+ error_report("so_ffamily unknown, unable to save so_laddr and"
+ " so_lport");
}
qemu_put_byte(f, so->so_iptos);
qemu_put_byte(f, so->so_emu);
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 9697e16fdd..0b2016a77a 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -3250,7 +3250,7 @@ int kvm_arch_irqchip_create(MachineState *ms, KVMState *s)
if (machine_kernel_irqchip_split(ms)) {
ret = kvm_vm_enable_cap(s, KVM_CAP_SPLIT_IRQCHIP, 0, 24);
if (ret) {
- error_report("Could not enable split irqchip mode: %s\n",
+ error_report("Could not enable split irqchip mode: %s",
strerror(-ret));
exit(1);
} else {
diff --git a/ui/vnc.c b/ui/vnc.c
index 4ce903429f..853b57e982 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -3201,7 +3201,7 @@ int vnc_display_password(const char *id, const char *password)
}
if (vs->auth == VNC_AUTH_NONE) {
error_printf_unless_qmp("If you want use passwords please enable "
- "password auth using '-vnc ${dpy},password'.");
+ "password auth using '-vnc ${dpy},password'.\n");
return -EINVAL;
}