All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH 22/31] vl: Clean up error reporting in parse_fw_cfg()
Date: Mon,  8 Oct 2018 19:31:16 +0200	[thread overview]
Message-ID: <20181008173125.19678-23-armbru@redhat.com> (raw)
In-Reply-To: <20181008173125.19678-1-armbru@redhat.com>

Calling error_report() in a function that takes an Error ** argument
is suspicious.  parse_fw_cfg() does that, and then fails without
setting an error.  Its caller main(), via qemu_opts_foreach(), is fine
with it, but clean it up anyway.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 vl.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/vl.c b/vl.c
index 1009d708a0..a3a39ec06b 100644
--- a/vl.c
+++ b/vl.c
@@ -2174,7 +2174,7 @@ static int parse_fw_cfg(void *opaque, QemuOpts *opts, Error **errp)
     FWCfgState *fw_cfg = (FWCfgState *) opaque;
 
     if (fw_cfg == NULL) {
-        error_report("fw_cfg device not available");
+        error_setg(errp, "fw_cfg device not available");
         return -1;
     }
     name = qemu_opt_get(opts, "name");
@@ -2183,15 +2183,16 @@ static int parse_fw_cfg(void *opaque, QemuOpts *opts, Error **errp)
 
     /* we need name and either a file or the content string */
     if (!(nonempty_str(name) && (nonempty_str(file) || nonempty_str(str)))) {
-        error_report("invalid argument(s)");
+        error_setg(errp, "invalid argument(s)");
         return -1;
     }
     if (nonempty_str(file) && nonempty_str(str)) {
-        error_report("file and string are mutually exclusive");
+        error_setg(errp, "file and string are mutually exclusive");
         return -1;
     }
     if (strlen(name) > FW_CFG_MAX_FILE_PATH - 1) {
-        error_report("name too long (max. %d char)", FW_CFG_MAX_FILE_PATH - 1);
+        error_setg(errp, "name too long (max. %d char)",
+                   FW_CFG_MAX_FILE_PATH - 1);
         return -1;
     }
     if (strncmp(name, "opt/", 4) != 0) {
@@ -2203,7 +2204,7 @@ static int parse_fw_cfg(void *opaque, QemuOpts *opts, Error **errp)
         buf = g_memdup(str, size);
     } else {
         if (!g_file_get_contents(file, &buf, &size, NULL)) {
-            error_report("can't load %s", file);
+            error_setg(errp, "can't load %s", file);
             return -1;
         }
     }
@@ -4429,10 +4430,8 @@ int main(int argc, char **argv, char **envp)
         hax_sync_vcpus();
     }
 
-    if (qemu_opts_foreach(qemu_find_opts("fw_cfg"),
-                          parse_fw_cfg, fw_cfg_find(), NULL) != 0) {
-        exit(1);
-    }
+    qemu_opts_foreach(qemu_find_opts("fw_cfg"),
+                      parse_fw_cfg, fw_cfg_find(), &error_fatal);
 
     /* init USB devices */
     if (machine_usb(current_machine)) {
-- 
2.17.1

  parent reply	other threads:[~2018-10-08 17:31 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-08 17:30 [Qemu-devel] [PATCH 00/31] Replace some unwise uses of error_report() & friends Markus Armbruster
2018-10-08 17:30 ` [Qemu-devel] [PATCH 01/31] Use error_fatal to simplify obvious fatal errors (again) Markus Armbruster
2018-10-08 20:32   ` Eric Blake
2018-10-11 17:25     ` Markus Armbruster
2018-10-08 22:25   ` David Gibson
2018-10-08 17:30 ` [Qemu-devel] [PATCH 02/31] block: Use warn_report() & friends to report warnings Markus Armbruster
2018-10-08 20:35   ` Eric Blake
2018-10-08 17:30 ` [Qemu-devel] [PATCH 03/31] cpus hw target: " Markus Armbruster
2018-10-08 22:25   ` David Gibson
2018-10-09  9:56   ` Alex Bennée
2018-10-08 17:30 ` [Qemu-devel] [PATCH 04/31] vfio: " Markus Armbruster
2018-10-08 19:04   ` Alex Williamson
2018-10-08 17:30 ` [Qemu-devel] [PATCH 05/31] vfio: Clean up error reporting after previous commit Markus Armbruster
2018-10-08 19:04   ` Alex Williamson
2018-10-08 17:31 ` [Qemu-devel] [PATCH 06/31] char: Use error_printf() to print help and such Markus Armbruster
2018-10-09  6:09   ` Philippe Mathieu-Daudé
2018-10-08 17:31 ` [Qemu-devel] [PATCH 07/31] 9pfs: Fix CLI parsing crash on error Markus Armbruster
2018-10-09  7:38   ` Greg Kurz
2018-10-08 17:31 ` [Qemu-devel] [PATCH 08/31] pc: Fix machine property nvdimm-persistence error handling Markus Armbruster
2018-10-09  9:15   ` Marc-André Lureau
2018-10-08 17:31 ` [Qemu-devel] [PATCH 09/31] ioapic: Fix error handling in realize() Markus Armbruster
2018-10-09  3:24   ` Peter Xu
2018-10-09  9:18   ` Marc-André Lureau
2018-10-08 17:31 ` [Qemu-devel] [PATCH 10/31] smbios: Clean up error handling in smbios_add() Markus Armbruster
2018-10-09  9:25   ` Marc-André Lureau
2018-10-09 17:02   ` Paolo Bonzini
2018-10-08 17:31 ` [Qemu-devel] [PATCH 11/31] migration: Fix !replay_can_snapshot() error handling Markus Armbruster
2018-10-09  9:27   ` Marc-André Lureau
2018-10-08 17:31 ` [Qemu-devel] [PATCH 12/31] l2tpv3: Improve -netdev/netdev_add/-net/... error reporting Markus Armbruster
2018-10-09  9:32   ` Marc-André Lureau
2018-10-11 17:35     ` Markus Armbruster
2018-10-08 17:31 ` [Qemu-devel] [PATCH 13/31] net/socket: Fix invalid socket type error handling Markus Armbruster
2018-10-09  9:47   ` Marc-André Lureau
2018-10-08 17:31 ` [Qemu-devel] [PATCH 14/31] numa: Fix QMP command set-numa-node " Markus Armbruster
2018-10-08 18:03   ` Eduardo Habkost
2018-10-11 17:38     ` Markus Armbruster
2018-10-12 14:35   ` Igor Mammedov
2018-10-13 16:33     ` Markus Armbruster
2018-10-08 17:31 ` [Qemu-devel] [PATCH 15/31] xen/pt: Fix incomplete conversion to realize() Markus Armbruster
2018-10-10 13:31   ` Anthony PERARD
2018-10-08 17:31 ` [Qemu-devel] [PATCH 16/31] seccomp: Clean up error reporting in parse_sandbox() Markus Armbruster
2018-10-09  9:53   ` Marc-André Lureau
2018-10-11 17:40     ` Markus Armbruster
2018-10-10 12:39   ` Eduardo Otubo
2018-10-08 17:31 ` [Qemu-devel] [PATCH 17/31] vl: Clean up error reporting in parse_add_fd() Markus Armbruster
2018-10-09 10:11   ` Marc-André Lureau
2018-10-08 17:31 ` [Qemu-devel] [PATCH 18/31] qom: Clean up error reporting in user_creatable_add_opts_foreach() Markus Armbruster
2018-10-08 20:43   ` Eric Blake
2018-10-09 11:11   ` Marc-André Lureau
2018-10-09 13:25   ` Daniel P. Berrangé
2018-10-08 17:31 ` [Qemu-devel] [PATCH 19/31] vl: Clean up error reporting in parse_add_fd() Markus Armbruster
2018-10-09  6:07   ` Philippe Mathieu-Daudé
2018-10-09 11:13   ` Marc-André Lureau
2018-10-11 17:43     ` Markus Armbruster
2018-10-08 17:31 ` [Qemu-devel] [PATCH 20/31] vl: Clean up error reporting in machine_set_property() Markus Armbruster
2018-10-09  6:02   ` Philippe Mathieu-Daudé
2018-10-09 11:18   ` Marc-André Lureau
2018-10-08 17:31 ` [Qemu-devel] [PATCH 21/31] vl: Clean up error reporting in mon_init_func() Markus Armbruster
2018-10-09  6:02   ` Philippe Mathieu-Daudé
2018-10-09 11:21   ` Marc-André Lureau
2018-10-08 17:31 ` Markus Armbruster [this message]
2018-10-09 11:25   ` [Qemu-devel] [PATCH 22/31] vl: Clean up error reporting in parse_fw_cfg() Marc-André Lureau
2018-10-08 17:31 ` [Qemu-devel] [PATCH 23/31] vl: Clean up error reporting in device_init_func() Markus Armbruster
2018-10-09  6:05   ` Philippe Mathieu-Daudé
2018-10-08 17:31 ` [Qemu-devel] [PATCH 24/31] vl: Clean up error reporting in vnc_init_func() Markus Armbruster
2018-10-09 11:35   ` Marc-André Lureau
2018-10-11 17:48   ` Markus Armbruster
2018-10-08 17:31 ` [Qemu-devel] [PATCH 25/31] numa: Clean up error reporting in parse_numa() Markus Armbruster
2018-10-08 18:01   ` Eduardo Habkost
2018-10-08 17:31 ` [Qemu-devel] [PATCH 26/31] tpm: Clean up error reporting in tpm_init_tpmdev() Markus Armbruster
2018-10-09 10:57   ` Philippe Mathieu-Daudé
2018-10-09 11:38   ` Marc-André Lureau
2018-10-10 19:00   ` Stefan Berger
2018-10-08 17:31 ` [Qemu-devel] [PATCH 27/31] spice: Clean up error reporting in add_channel() Markus Armbruster
2018-10-09 11:46   ` Marc-André Lureau
2018-10-08 17:31 ` [Qemu-devel] [PATCH 28/31] fsdev: Clean up error reporting in qemu_fsdev_add() Markus Armbruster
2018-10-08 20:46   ` Eric Blake
2018-10-11 17:51     ` Markus Armbruster
2018-10-09  7:45   ` Greg Kurz
2018-10-08 17:31 ` [Qemu-devel] [PATCH 29/31] vl: Assert drive_new() does not fail in default_drive() Markus Armbruster
2018-10-08 20:48   ` Eric Blake
2018-10-08 21:08   ` Max Reitz
2018-10-08 17:31 ` [Qemu-devel] [PATCH 30/31] blockdev: Convert drive_new() to Error Markus Armbruster
2018-10-08 20:48   ` Eric Blake
2018-10-08 21:22   ` Max Reitz
2018-10-12  5:44     ` Markus Armbruster
2018-10-12 12:28       ` Max Reitz
2018-10-12 14:50         ` Kevin Wolf
2018-10-08 17:31 ` [Qemu-devel] [PATCH 31/31] vl: Simplify call of parse_name() Markus Armbruster
2018-10-09  6:06   ` Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181008173125.19678-23-armbru@redhat.com \
    --to=armbru@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.