qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/4] error: Newline fixes
@ 2016-08-03 11:37 Markus Armbruster
  2016-08-03 11:37 ` [Qemu-devel] [PATCH 1/4] error: Strip trailing '\n' from error string arguments (again) Markus Armbruster
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Markus Armbruster @ 2016-08-03 11:37 UTC (permalink / raw)
  To: qemu-devel

Markus Armbruster (4):
  error: Strip trailing '\n' from error string arguments (again)
  checkpatch: Fix newline detection in error_setg() & friends
  vfio: Use error_report() instead of error_printf() for errors
  error: Fix error_printf() calls lacking newlines

 hw/i386/pc.c                             |  2 +-
 hw/mips/cps.c                            |  2 +-
 hw/nvram/fw_cfg.c                        |  2 +-
 hw/ppc/spapr_cpu_core.c                  |  2 +-
 hw/vfio/platform.c                       |  2 +-
 kvm-all.c                                |  2 +-
 qemu-img.c                               |  4 ++--
 scripts/checkpatch.pl                    |  5 ++++-
 scripts/coccinelle/err-bad-newline.cocci | 29 +++++++++++++++++++++++++++++
 slirp/slirp.c                            |  8 ++++----
 target-i386/kvm.c                        |  2 +-
 ui/vnc.c                                 |  2 +-
 12 files changed, 47 insertions(+), 15 deletions(-)
 create mode 100644 scripts/coccinelle/err-bad-newline.cocci

-- 
2.5.5

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Qemu-devel] [PATCH 1/4] error: Strip trailing '\n' from error string arguments (again)
  2016-08-03 11:37 [Qemu-devel] [PATCH 0/4] error: Newline fixes Markus Armbruster
@ 2016-08-03 11:37 ` Markus Armbruster
  2016-08-04 20:47   ` Eric Blake
  2016-08-03 11:37 ` [Qemu-devel] [PATCH 2/4] checkpatch: Fix newline detection in error_setg() & friends Markus Armbruster
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 11+ messages in thread
From: Markus Armbruster @ 2016-08-03 11:37 UTC (permalink / raw)
  To: qemu-devel

Commit 9af9e0f, 6daf194d, be62a2eb and 312fd5f got rid of a bunch, but
they keep coming back.  checkpatch.pl tries to flag them since commit
5d596c2, but it's not very good at it.  Offenders tracked down with
Coccinelle script scripts/coccinelle/err-bad-newline.cocci, an updated
version of the script from commit 312fd5f.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/mips/cps.c                            |  2 +-
 hw/nvram/fw_cfg.c                        |  2 +-
 hw/ppc/spapr_cpu_core.c                  |  2 +-
 qemu-img.c                               |  4 ++--
 scripts/coccinelle/err-bad-newline.cocci | 29 +++++++++++++++++++++++++++++
 slirp/slirp.c                            |  8 ++++----
 target-i386/kvm.c                        |  2 +-
 7 files changed, 39 insertions(+), 10 deletions(-)
 create mode 100644 scripts/coccinelle/err-bad-newline.cocci

diff --git a/hw/mips/cps.c b/hw/mips/cps.c
index 77c6217..4ef337d 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 2873030..4fe52f6 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 ec81ee6..23e6c82 100644
--- a/hw/ppc/spapr_cpu_core.c
+++ b/hw/ppc/spapr_cpu_core.c
@@ -241,7 +241,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/qemu-img.c b/qemu-img.c
index 2e40e1f..d2865a5 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/coccinelle/err-bad-newline.cocci b/scripts/coccinelle/err-bad-newline.cocci
new file mode 100644
index 0000000..1316cc8
--- /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 7eb183d..47a1652 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 9697e16..0b2016a 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 {
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Qemu-devel] [PATCH 2/4] checkpatch: Fix newline detection in error_setg() & friends
  2016-08-03 11:37 [Qemu-devel] [PATCH 0/4] error: Newline fixes Markus Armbruster
  2016-08-03 11:37 ` [Qemu-devel] [PATCH 1/4] error: Strip trailing '\n' from error string arguments (again) Markus Armbruster
@ 2016-08-03 11:37 ` Markus Armbruster
  2016-08-04 20:49   ` Eric Blake
  2016-08-03 11:37 ` [Qemu-devel] [PATCH 3/4] vfio: Use error_report() instead of error_printf() for errors Markus Armbruster
  2016-08-03 11:37 ` [Qemu-devel] [PATCH 4/4] error: Fix error_printf() calls lacking newlines Markus Armbruster
  3 siblings, 1 reply; 11+ messages in thread
From: Markus Armbruster @ 2016-08-03 11:37 UTC (permalink / raw)
  To: qemu-devel; +Cc: Jason J. Herne

Commit 5d596c2's regexp assumes the error message string is the first
argument.  Correct for error_report(), wrong for all the others.
Relax the regexp to match newline in anywhere.  This might cause
additional false positives.

While there, update the list of error_reporting functions.

Cc: Jason J. Herne <jjherne@linux.vnet.ibm.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 scripts/checkpatch.pl | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index afa7f79..c2ca999 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);
 	}
 
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Qemu-devel] [PATCH 3/4] vfio: Use error_report() instead of error_printf() for errors
  2016-08-03 11:37 [Qemu-devel] [PATCH 0/4] error: Newline fixes Markus Armbruster
  2016-08-03 11:37 ` [Qemu-devel] [PATCH 1/4] error: Strip trailing '\n' from error string arguments (again) Markus Armbruster
  2016-08-03 11:37 ` [Qemu-devel] [PATCH 2/4] checkpatch: Fix newline detection in error_setg() & friends Markus Armbruster
@ 2016-08-03 11:37 ` Markus Armbruster
  2016-08-04 20:51   ` Eric Blake
  2016-08-03 11:37 ` [Qemu-devel] [PATCH 4/4] error: Fix error_printf() calls lacking newlines Markus Armbruster
  3 siblings, 1 reply; 11+ messages in thread
From: Markus Armbruster @ 2016-08-03 11:37 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Williamson

Cc: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/vfio/platform.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c
index 1798a00..a559e7b 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 {
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Qemu-devel] [PATCH 4/4] error: Fix error_printf() calls lacking newlines
  2016-08-03 11:37 [Qemu-devel] [PATCH 0/4] error: Newline fixes Markus Armbruster
                   ` (2 preceding siblings ...)
  2016-08-03 11:37 ` [Qemu-devel] [PATCH 3/4] vfio: Use error_report() instead of error_printf() for errors Markus Armbruster
@ 2016-08-03 11:37 ` Markus Armbruster
  2016-08-04 20:52   ` Eric Blake
  3 siblings, 1 reply; 11+ messages in thread
From: Markus Armbruster @ 2016-08-03 11:37 UTC (permalink / raw)
  To: qemu-devel

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 hw/i386/pc.c | 2 +-
 kvm-all.c    | 2 +-
 ui/vnc.c     | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 47593b7..022dd1b 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/kvm-all.c b/kvm-all.c
index ef81ca5..aaa4cc6 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -2135,7 +2135,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/ui/vnc.c b/ui/vnc.c
index 3ce3a5b..bad5874 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -3193,7 +3193,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;
     }
 
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH 1/4] error: Strip trailing '\n' from error string arguments (again)
  2016-08-03 11:37 ` [Qemu-devel] [PATCH 1/4] error: Strip trailing '\n' from error string arguments (again) Markus Armbruster
@ 2016-08-04 20:47   ` Eric Blake
  2016-08-05  6:57     ` Markus Armbruster
  0 siblings, 1 reply; 11+ messages in thread
From: Eric Blake @ 2016-08-04 20:47 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1255 bytes --]

On 08/03/2016 05:37 AM, Markus Armbruster wrote:
> Commit 9af9e0f, 6daf194d, be62a2eb and 312fd5f got rid of a bunch, but
> they keep coming back.  checkpatch.pl tries to flag them since commit
> 5d596c2, but it's not very good at it.  Offenders tracked down with
> Coccinelle script scripts/coccinelle/err-bad-newline.cocci, an updated
> version of the script from commit 312fd5f.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---

> +++ 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

So you use Coccinelle to find error messages...

> +@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)

...and python to then parse the format string and flag violations.
Slick.  Does it still work across formats like "foo %" PRIdMAX "\n"?

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH 2/4] checkpatch: Fix newline detection in error_setg() & friends
  2016-08-03 11:37 ` [Qemu-devel] [PATCH 2/4] checkpatch: Fix newline detection in error_setg() & friends Markus Armbruster
@ 2016-08-04 20:49   ` Eric Blake
  0 siblings, 0 replies; 11+ messages in thread
From: Eric Blake @ 2016-08-04 20:49 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel; +Cc: Jason J. Herne

[-- Attachment #1: Type: text/plain, Size: 857 bytes --]

On 08/03/2016 05:37 AM, Markus Armbruster wrote:
> Commit 5d596c2's regexp assumes the error message string is the first
> argument.  Correct for error_report(), wrong for all the others.
> Relax the regexp to match newline in anywhere.  This might cause
> additional false positives.

Might, but those are still rare enough that we don't have to worry about
it unless someone actually hits such a false positive.

> 
> While there, update the list of error_reporting functions.
> 
> Cc: Jason J. Herne <jjherne@linux.vnet.ibm.com>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  scripts/checkpatch.pl | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH 3/4] vfio: Use error_report() instead of error_printf() for errors
  2016-08-03 11:37 ` [Qemu-devel] [PATCH 3/4] vfio: Use error_report() instead of error_printf() for errors Markus Armbruster
@ 2016-08-04 20:51   ` Eric Blake
  0 siblings, 0 replies; 11+ messages in thread
From: Eric Blake @ 2016-08-04 20:51 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel; +Cc: Alex Williamson

[-- Attachment #1: Type: text/plain, Size: 995 bytes --]

On 08/03/2016 05:37 AM, Markus Armbruster wrote:
> Cc: Alex Williamson <alex.williamson@redhat.com>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  hw/vfio/platform.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 

Reviewed-by: Eric Blake <eblake@redhat.com>

> diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c
> index 1798a00..a559e7b 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 {
> 

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH 4/4] error: Fix error_printf() calls lacking newlines
  2016-08-03 11:37 ` [Qemu-devel] [PATCH 4/4] error: Fix error_printf() calls lacking newlines Markus Armbruster
@ 2016-08-04 20:52   ` Eric Blake
  2016-08-05  6:58     ` Markus Armbruster
  0 siblings, 1 reply; 11+ messages in thread
From: Eric Blake @ 2016-08-04 20:52 UTC (permalink / raw)
  To: Markus Armbruster, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 555 bytes --]

On 08/03/2016 05:37 AM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  hw/i386/pc.c | 2 +-
>  kvm-all.c    | 2 +-
>  ui/vnc.c     | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
> 

I'm guessing these were found with a slight tweak to the Coccinelle
script in 1/4? Worth checking that in, or at least leaving a comment
bread-crumb?

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH 1/4] error: Strip trailing '\n' from error string arguments (again)
  2016-08-04 20:47   ` Eric Blake
@ 2016-08-05  6:57     ` Markus Armbruster
  0 siblings, 0 replies; 11+ messages in thread
From: Markus Armbruster @ 2016-08-05  6:57 UTC (permalink / raw)
  To: Eric Blake; +Cc: qemu-devel

Eric Blake <eblake@redhat.com> writes:

> On 08/03/2016 05:37 AM, Markus Armbruster wrote:
>> Commit 9af9e0f, 6daf194d, be62a2eb and 312fd5f got rid of a bunch, but
>> they keep coming back.  checkpatch.pl tries to flag them since commit
>> 5d596c2, but it's not very good at it.  Offenders tracked down with
>> Coccinelle script scripts/coccinelle/err-bad-newline.cocci, an updated
>> version of the script from commit 312fd5f.
>> 
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>
>> +++ 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
>
> So you use Coccinelle to find error messages...
>
>> +@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)
>
> ...and python to then parse the format string and flag violations.
> Slick.  Does it still work across formats like "foo %" PRIdMAX "\n"?

Testing... yes, it does.

> Reviewed-by: Eric Blake <eblake@redhat.com>

Thanks!

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH 4/4] error: Fix error_printf() calls lacking newlines
  2016-08-04 20:52   ` Eric Blake
@ 2016-08-05  6:58     ` Markus Armbruster
  0 siblings, 0 replies; 11+ messages in thread
From: Markus Armbruster @ 2016-08-05  6:58 UTC (permalink / raw)
  To: Eric Blake; +Cc: qemu-devel

Eric Blake <eblake@redhat.com> writes:

> On 08/03/2016 05:37 AM, Markus Armbruster wrote:
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> ---
>>  hw/i386/pc.c | 2 +-
>>  kvm-all.c    | 2 +-
>>  ui/vnc.c     | 2 +-
>>  3 files changed, 3 insertions(+), 3 deletions(-)
>> 
>
> I'm guessing these were found with a slight tweak to the Coccinelle
> script in 1/4? Worth checking that in, or at least leaving a comment
> bread-crumb?

I simply examined all error_printf() calls.  Only 49.  If the problem
persists, we may want to add a script to catch it.

> Reviewed-by: Eric Blake <eblake@redhat.com>

Thanks!

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-08-05  6:59 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-03 11:37 [Qemu-devel] [PATCH 0/4] error: Newline fixes Markus Armbruster
2016-08-03 11:37 ` [Qemu-devel] [PATCH 1/4] error: Strip trailing '\n' from error string arguments (again) Markus Armbruster
2016-08-04 20:47   ` Eric Blake
2016-08-05  6:57     ` Markus Armbruster
2016-08-03 11:37 ` [Qemu-devel] [PATCH 2/4] checkpatch: Fix newline detection in error_setg() & friends Markus Armbruster
2016-08-04 20:49   ` Eric Blake
2016-08-03 11:37 ` [Qemu-devel] [PATCH 3/4] vfio: Use error_report() instead of error_printf() for errors Markus Armbruster
2016-08-04 20:51   ` Eric Blake
2016-08-03 11:37 ` [Qemu-devel] [PATCH 4/4] error: Fix error_printf() calls lacking newlines Markus Armbruster
2016-08-04 20:52   ` Eric Blake
2016-08-05  6:58     ` Markus Armbruster

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).