From f9734d5d4078f17daf328b9e113aaffe3d00ecaf Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 20 Jul 2021 14:53:53 +0200 Subject: error: Use error_fatal to simplify obvious fatal errors (again) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We did this with scripts/coccinelle/use-error_fatal.cocci before, in commit 50beeb68094 and 007b06578ab. This commit cleans up rarer variations that don't seem worth matching with Coccinelle. Cc: Thomas Huth Cc: Cornelia Huck Cc: Peter Xu Cc: Juan Quintela Cc: Stefan Hajnoczi Cc: Paolo Bonzini Cc: Marc-André Lureau Cc: Gerd Hoffmann Cc: Daniel P. Berrangé Signed-off-by: Markus Armbruster Message-Id: <20210720125408.387910-2-armbru@redhat.com> Reviewed-by: Eric Blake Reviewed-by: Peter Xu Acked-by: Michael S. Tsirkin Reviewed-by: Philippe Mathieu-Daudé --- softmmu/vl.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'softmmu') diff --git a/softmmu/vl.c b/softmmu/vl.c index 5ca11e7..6227f8f 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -2694,12 +2694,7 @@ void qmp_x_exit_preconfig(Error **errp) qemu_machine_creation_done(); if (loadvm) { - Error *local_err = NULL; - if (!load_snapshot(loadvm, NULL, false, NULL, &local_err)) { - error_report_err(local_err); - autostart = 0; - exit(1); - } + load_snapshot(loadvm, NULL, false, NULL, &error_fatal); } if (replay_mode != REPLAY_MODE_NONE) { replay_vmstate_init(); -- cgit v1.1 From f9dfae9cb6b27649085f662a863f6167650402e0 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 20 Jul 2021 14:54:07 +0200 Subject: vl: Clean up -smp error handling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Error ** argument must be NULL, &error_abort, &error_fatal, or a pointer to a variable containing NULL. Passing an argument of the latter kind twice without clearing it in between is wrong: if the first call sets an error, it no longer points to NULL for the second call. machine_parse_property_opt() is wrong that way: it passes @errp to keyval_parse() without checking for failure, then passes it to keyval_merge(). Harmless, since the only caller passes &error_fatal. Clean up: drop the parameter, and use &error_fatal directly. Cc: Paolo Bonzini Signed-off-by: Markus Armbruster Message-Id: <20210720125408.387910-16-armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé Acked-by: Michael S. Tsirkin [Rebased, conflict with commit a3c2f128306 resolved] --- softmmu/vl.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'softmmu') diff --git a/softmmu/vl.c b/softmmu/vl.c index 6227f8f..bdeb178 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -1550,20 +1550,17 @@ machine_merge_property(const char *propname, QDict *prop, Error **errp) static void machine_parse_property_opt(QemuOptsList *opts_list, const char *propname, - const char *arg, Error **errp) + const char *arg) { QDict *prop = NULL; bool help = false; - prop = keyval_parse(arg, opts_list->implied_opt_name, &help, errp); + prop = keyval_parse(arg, opts_list->implied_opt_name, &help, &error_fatal); if (help) { qemu_opts_print_help(opts_list, true); exit(0); } - if (!prop) { - return; - } - machine_merge_property(propname, prop, errp); + machine_merge_property(propname, prop, &error_fatal); qobject_unref(prop); } @@ -3343,7 +3340,8 @@ void qemu_init(int argc, char **argv, char **envp) } break; case QEMU_OPTION_smp: - machine_parse_property_opt(qemu_find_opts("smp-opts"), "smp", optarg, &error_fatal); + machine_parse_property_opt(qemu_find_opts("smp-opts"), + "smp", optarg); break; case QEMU_OPTION_vnc: vnc_parse(optarg); -- cgit v1.1