From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 153902006351915.141484265131112; Mon, 8 Oct 2018 10:34:23 -0700 (PDT) Received: from localhost ([::1]:47489 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZQE-0006bH-Bq for importer@patchew.org; Mon, 08 Oct 2018 13:34:22 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41333) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNe-0005AU-Oe for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNa-0005ml-2T for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39282) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005gI-Je for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5F7CB30DDBF2; Mon, 8 Oct 2018 17:31:27 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2272467676; Mon, 8 Oct 2018 17:31:26 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 4BFAE1132F35; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:30:55 +0200 Message-Id: <20181008173125.19678-2-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.45]); Mon, 08 Oct 2018 17:31:27 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 01/31] Use error_fatal to simplify obvious fatal errors (again) X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , Alexander Graf , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Add a slight improvement of the Coccinelle semantic patch from commit 07d04a0219b, and use it to clean up. It leaves dead Error * variables behind, cleaned up manually. Cc: David Gibson Cc: Alexander Graf Cc: Eric Blake Cc: Paolo Bonzini Signed-off-by: Markus Armbruster Acked-by: David Gibson Reviewed-by: Eric Blake --- hw/intc/xics_kvm.c | 7 +------ qemu-nbd.c | 6 +----- scripts/coccinelle/use-error_fatal.cocci | 20 ++++++++++++++++++++ vl.c | 7 +------ 4 files changed, 23 insertions(+), 17 deletions(-) create mode 100644 scripts/coccinelle/use-error_fatal.cocci diff --git a/hw/intc/xics_kvm.c b/hw/intc/xics_kvm.c index 30c3769a20..e8fa9a53ae 100644 --- a/hw/intc/xics_kvm.c +++ b/hw/intc/xics_kvm.c @@ -198,17 +198,12 @@ static void ics_get_kvm_state(ICSState *ics) { uint64_t state; int i; - Error *local_err =3D NULL; =20 for (i =3D 0; i < ics->nr_irqs; i++) { ICSIRQState *irq =3D &ics->irqs[i]; =20 kvm_device_access(kernel_xics_fd, KVM_DEV_XICS_GRP_SOURCES, - i + ics->offset, &state, false, &local_err); - if (local_err) { - error_report_err(local_err); - exit(1); - } + i + ics->offset, &state, false, &error_fatal); =20 irq->server =3D state & KVM_XICS_DESTINATION_MASK; irq->saved_priority =3D (state >> KVM_XICS_PRIORITY_SHIFT) diff --git a/qemu-nbd.c b/qemu-nbd.c index e76fe3082a..7874bc973c 100644 --- a/qemu-nbd.c +++ b/qemu-nbd.c @@ -1002,11 +1002,7 @@ int main(int argc, char **argv) } =20 exp =3D nbd_export_new(bs, dev_offset, fd_size, nbdflags, nbd_export_c= losed, - writethrough, NULL, &local_err); - if (!exp) { - error_report_err(local_err); - exit(EXIT_FAILURE); - } + writethrough, NULL, &error_fatal); nbd_export_set_name(exp, export_name); nbd_export_set_description(exp, export_description); =20 diff --git a/scripts/coccinelle/use-error_fatal.cocci b/scripts/coccinelle/= use-error_fatal.cocci new file mode 100644 index 0000000000..10fff0aec4 --- /dev/null +++ b/scripts/coccinelle/use-error_fatal.cocci @@ -0,0 +1,20 @@ +@@ +type T; +identifier FUN, RET; +expression list ARGS; +expression ERR, EC, FAIL; +@@ +( +- T RET =3D FUN(ARGS, &ERR); ++ T RET =3D FUN(ARGS, &error_fatal); +| +- RET =3D FUN(ARGS, &ERR); ++ RET =3D FUN(ARGS, &error_fatal); +| +- FUN(ARGS, &ERR); ++ FUN(ARGS, &error_fatal); +) +- if (FAIL) { +- error_report_err(ERR); +- exit(EC); +- } diff --git a/vl.c b/vl.c index a867c9c4d9..9d2b38a31f 100644 --- a/vl.c +++ b/vl.c @@ -2002,15 +2002,10 @@ static void select_vgahw(const char *p) =20 static void parse_display_qapi(const char *optarg) { - Error *err =3D NULL; DisplayOptions *opts; Visitor *v; =20 - v =3D qobject_input_visitor_new_str(optarg, "type", &err); - if (!v) { - error_report_err(err); - exit(1); - } + v =3D qobject_input_visitor_new_str(optarg, "type", &error_fatal); =20 visit_type_DisplayOptions(v, NULL, &opts, &error_fatal); QAPI_CLONE_MEMBERS(DisplayOptions, &dpy, opts); --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020250234508.81275471780464; Mon, 8 Oct 2018 10:37:30 -0700 (PDT) Received: from localhost ([::1]:47509 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZTF-0000bc-1N for importer@patchew.org; Mon, 08 Oct 2018 13:37:29 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41331) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNe-0005AT-Nh for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005lk-Ho for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45262) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNY-0005gS-SS for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9B1B18E5A2; Mon, 8 Oct 2018 17:31:27 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BE48B10018FF; Mon, 8 Oct 2018 17:31:26 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 4F5911132D75; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:30:56 +0200 Message-Id: <20181008173125.19678-3-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Mon, 08 Oct 2018 17:31:27 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 02/31] block: Use warn_report() & friends to report warnings X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Hitoshi Mitake , Peter Lieven , Ronnie Sahlberg , Liu Yuan , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. Convert a few that are actually warnings to warn_report(). While there, split warnings consisting of multiple sentences to conform to conventions spelled out in warn_report()'s contract, and improve a rather useless warning in sheepdog.c. Cc: Kevin Wolf Cc: Ronnie Sahlberg Cc: Paolo Bonzini Cc: Peter Lieven Cc: Hitoshi Mitake Cc: Liu Yuan Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- block/bochs.c | 8 ++++---- block/cloop.c | 8 ++++---- block/dmg.c | 8 ++++---- block/iscsi.c | 2 +- block/rbd.c | 12 ++++++------ block/sheepdog.c | 2 +- block/vvfat.c | 8 ++++---- 7 files changed, 24 insertions(+), 24 deletions(-) diff --git a/block/bochs.c b/block/bochs.c index 50c630047b..36c1b45bd2 100644 --- a/block/bochs.c +++ b/block/bochs.c @@ -112,10 +112,10 @@ static int bochs_open(BlockDriverState *bs, QDict *op= tions, int flags, } =20 if (!bdrv_is_read_only(bs)) { - error_report("Opening bochs images without an explicit read-only= =3Don " - "option is deprecated. Future versions will refuse to= " - "open the image instead of automatically marking the " - "image read-only."); + warn_report("Opening bochs images without an explicit read-only=3D= on " + "option is deprecated"); + error_printf("Future versions may refuse to open the image " + "instead of automatically marking it read-only.\n"); ret =3D bdrv_set_read_only(bs, true, errp); /* no write support ye= t */ if (ret < 0) { return ret; diff --git a/block/cloop.c b/block/cloop.c index 2be68987bd..a558e67cb0 100644 --- a/block/cloop.c +++ b/block/cloop.c @@ -74,10 +74,10 @@ static int cloop_open(BlockDriverState *bs, QDict *opti= ons, int flags, } =20 if (!bdrv_is_read_only(bs)) { - error_report("Opening cloop images without an explicit read-only= =3Don " - "option is deprecated. Future versions will refuse to= " - "open the image instead of automatically marking the " - "image read-only."); + warn_report("Opening cloop images without an explicit read-only=3D= on " + "option is deprecated"); + error_printf("Future versions may refuse to open the image " + "instead of automatically marking it read-only.\n"); ret =3D bdrv_set_read_only(bs, true, errp); if (ret < 0) { return ret; diff --git a/block/dmg.c b/block/dmg.c index c9b3c519c4..9fb814460d 100644 --- a/block/dmg.c +++ b/block/dmg.c @@ -420,10 +420,10 @@ static int dmg_open(BlockDriverState *bs, QDict *opti= ons, int flags, } =20 if (!bdrv_is_read_only(bs)) { - error_report("Opening dmg images without an explicit read-only=3Do= n " - "option is deprecated. Future versions will refuse to= " - "open the image instead of automatically marking the " - "image read-only."); + warn_report("Opening dmg images without an explicit read-only=3Don= " + "option is deprecated"); + error_printf("Future versions may refuse to open the image " + "instead of automatically marking it read-only.\n"); ret =3D bdrv_set_read_only(bs, true, errp); if (ret < 0) { return ret; diff --git a/block/iscsi.c b/block/iscsi.c index bb69faf34a..73998c2860 100644 --- a/block/iscsi.c +++ b/block/iscsi.c @@ -1844,7 +1844,7 @@ static int iscsi_open(BlockDriverState *bs, QDict *op= tions, int flags, iscsi_set_timeout(iscsi, timeout); #else if (timeout) { - error_report("iSCSI: ignoring timeout value for libiscsi <1.15.0"); + warn_report("iSCSI: ignoring timeout value for libiscsi <1.15.0"); } #endif =20 diff --git a/block/rbd.c b/block/rbd.c index 014c68d629..6e26bac170 100644 --- a/block/rbd.c +++ b/block/rbd.c @@ -750,8 +750,8 @@ static int qemu_rbd_open(BlockDriverState *bs, QDict *o= ptions, int flags, /* Take care whenever deciding to actually deprecate; once this ab= ility * is removed, we will not be able to open any images with legacy-= styled * backing image strings. */ - error_report("RBD options encoded in the filename as keyvalue pair= s " - "is deprecated"); + warn_report("RBD options encoded in the filename as keyvalue pairs= " + "is deprecated"); } =20 /* Remove the processed options from the QDict (the visitor processes @@ -781,10 +781,10 @@ static int qemu_rbd_open(BlockDriverState *bs, QDict = *options, int flags, * leave as-is */ if (s->snap !=3D NULL) { if (!bdrv_is_read_only(bs)) { - error_report("Opening rbd snapshots without an explicit " - "read-only=3Don option is deprecated. Future vers= ions " - "will refuse to open the image instead of " - "automatically marking the image read-only."); + warn_report("Opening rbd snapshots without an explicit " + "read-only=3Don option is deprecated"); + error_printf("Future versions may refuse to open the image " + "instead of automatically marking it read-only.\n= "); r =3D bdrv_set_read_only(bs, true, &local_err); if (r < 0) { error_propagate(errp, local_err); diff --git a/block/sheepdog.c b/block/sheepdog.c index b229a664d9..0125df9d49 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -572,7 +572,7 @@ static int connect_to_sdog(BDRVSheepdogState *s, Error = **errp) if (s->addr->type =3D=3D SOCKET_ADDRESS_TYPE_INET && fd >=3D 0) { int ret =3D socket_set_nodelay(fd); if (ret < 0) { - error_report("%s", strerror(errno)); + warn_report("can't set TCP_NODELAY: %s", strerror(errno)); } } =20 diff --git a/block/vvfat.c b/block/vvfat.c index fc41841a5c..8f3f9e9a93 100644 --- a/block/vvfat.c +++ b/block/vvfat.c @@ -1263,10 +1263,10 @@ static int vvfat_open(BlockDriverState *bs, QDict *= options, int flags, goto fail; } } else if (!bdrv_is_read_only(bs)) { - error_report("Opening non-rw vvfat images without an explicit " - "read-only=3Don option is deprecated. Future versions= " - "will refuse to open the image instead of " - "automatically marking the image read-only."); + warn_report("Opening non-rw vvfat images without an explicit " + "read-only=3Don option is deprecated"); + error_printf("Future versions may refuse to open the image " + "instead of automatically marking it read-only.\n"); /* read only is the default for safety */ ret =3D bdrv_set_read_only(bs, true, &local_err); if (ret < 0) { --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020754564513.7153757373304; Mon, 8 Oct 2018 10:45:54 -0700 (PDT) Received: from localhost ([::1]:47554 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZbK-0007dM-Dx for importer@patchew.org; Mon, 08 Oct 2018 13:45:50 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41319) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNe-0005AR-K8 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005mD-LY for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59078) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005gU-7Z for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id DC61830D4DAE; Mon, 8 Oct 2018 17:31:27 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2EECE60C62; Mon, 8 Oct 2018 17:31:26 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 52FD31132D7F; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:30:57 +0200 Message-Id: <20181008173125.19678-4-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Mon, 08 Oct 2018 17:31:27 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 03/31] cpus hw target: Use warn_report() & friends to report warnings X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Wei Huang , Fam Zheng , Mark Cave-Ayland , Alex Williamson , =?UTF-8?q?Alex=20Benn=C3=A9e?= , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. Convert a few that are actually warnings to warn_report(). While there, split a warning consisting of multiple sentences to conform to conventions spelled out in warn_report()'s contract. Cc: Alex Benn=C3=A9e Cc: Mark Cave-Ayland Cc: Alex Williamson Cc: Fam Zheng Cc: Wei Huang Cc: David Gibson Signed-off-by: Markus Armbruster Acked-by: David Gibson Reviewed-by: Alex Benn=C3=A9e --- cpus.c | 8 ++++---- hw/display/cg3.c | 2 +- hw/display/tcx.c | 2 +- hw/misc/ivshmem.c | 4 ++-- hw/net/virtio-net.c | 8 ++++---- hw/virtio/virtio-pci.c | 4 ++-- target/i386/cpu.c | 17 +++++++++-------- target/ppc/translate_init.inc.c | 4 ++-- 8 files changed, 25 insertions(+), 24 deletions(-) diff --git a/cpus.c b/cpus.c index 361678e459..7804071872 100644 --- a/cpus.c +++ b/cpus.c @@ -211,12 +211,12 @@ void qemu_tcg_configure(QemuOpts *opts, Error **errp) error_setg(errp, "No MTTCG when icount is enabled"); } else { #ifndef TARGET_SUPPORTS_MTTCG - error_report("Guest not yet converted to MTTCG - " - "you may get unexpected results"); + warn_report("Guest not yet converted to MTTCG - " + "you may get unexpected results"); #endif if (!check_tcg_memory_orders_compatible()) { - error_report("Guest expects a stronger memory ordering= " - "than the host provides"); + warn_report("Guest expects a stronger memory ordering " + "than the host provides"); error_printf("This may cause strange/hard to debug err= ors\n"); } mttcg_enabled =3D true; diff --git a/hw/display/cg3.c b/hw/display/cg3.c index 1c199ab369..e50d97e48c 100644 --- a/hw/display/cg3.c +++ b/hw/display/cg3.c @@ -307,7 +307,7 @@ static void cg3_realizefn(DeviceState *dev, Error **err= p) ret =3D load_image_mr(fcode_filename, &s->rom); g_free(fcode_filename); if (ret < 0 || ret > FCODE_MAX_ROM_SIZE) { - error_report("cg3: could not load prom '%s'", CG3_ROM_FILE); + warn_report("cg3: could not load prom '%s'", CG3_ROM_FILE); } } =20 diff --git a/hw/display/tcx.c b/hw/display/tcx.c index b2786ee8d0..66f2459226 100644 --- a/hw/display/tcx.c +++ b/hw/display/tcx.c @@ -823,7 +823,7 @@ static void tcx_realizefn(DeviceState *dev, Error **err= p) ret =3D load_image_mr(fcode_filename, &s->rom); g_free(fcode_filename); if (ret < 0 || ret > FCODE_MAX_ROM_SIZE) { - error_report("tcx: could not load prom '%s'", TCX_ROM_FILE); + warn_report("tcx: could not load prom '%s'", TCX_ROM_FILE); } } =20 diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c index 6febbabcaa..4794518b2c 100644 --- a/hw/misc/ivshmem.c +++ b/hw/misc/ivshmem.c @@ -1292,8 +1292,8 @@ static void ivshmem_realize(PCIDevice *dev, Error **e= rrp) IVShmemState *s =3D IVSHMEM_COMMON(dev); =20 if (!qtest_enabled()) { - error_report("ivshmem is deprecated, please use ivshmem-plain" - " or ivshmem-doorbell instead"); + warn_report("ivshmem is deprecated, please use ivshmem-plain" + " or ivshmem-doorbell instead"); } =20 if (qemu_chr_fe_backend_connected(&s->server_chr) + !!s->shmobj !=3D 1= ) { diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 4bdd5b8532..385b1a03e9 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -2020,10 +2020,10 @@ static void virtio_net_device_realize(DeviceState *= dev, Error **errp) =20 if (n->net_conf.tx && strcmp(n->net_conf.tx, "timer") && strcmp(n->net_conf.tx, "bh")) { - error_report("virtio-net: " - "Unknown option tx=3D%s, valid options: \"timer\" \"b= h\"", - n->net_conf.tx); - error_report("Defaulting to \"bh\""); + warn_report("virtio-net: " + "Unknown option tx=3D%s, valid options: \"timer\" \"bh= \"", + n->net_conf.tx); + error_printf("Defaulting to \"bh\""); } =20 n->net_conf.tx_queue_size =3D MIN(virtio_net_max_tx_queue_size(n), diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c index 3a01fe90f0..a954799267 100644 --- a/hw/virtio/virtio-pci.c +++ b/hw/virtio/virtio-pci.c @@ -1683,8 +1683,8 @@ static void virtio_pci_device_plugged(DeviceState *d,= Error **errp) if (err) { /* Notice when a system that supports MSIx can't initialize it= */ if (err !=3D -ENOTSUP) { - error_report("unable to init msix vectors to %" PRIu32, - proxy->nvectors); + warn_report("unable to init msix vectors to %" PRIu32, + proxy->nvectors); } proxy->nvectors =3D 0; } diff --git a/target/i386/cpu.c b/target/i386/cpu.c index c88876dfe3..9d4217afba 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -5123,14 +5123,15 @@ static void x86_cpu_realizefn(DeviceState *dev, Err= or **errp) * NOTE: the following code has to follow qemu_init_vcpu(). Otherwise * cs->nr_threads hasn't be populated yet and the checking is incorrec= t. */ - if (IS_AMD_CPU(env) && - !(env->features[FEAT_8000_0001_ECX] & CPUID_EXT3_TOPOEXT) && - cs->nr_threads > 1 && !ht_warned) { - error_report("This family of AMD CPU doesn't support " - "hyperthreading(%d). Please configure -smp " - "options properly or try enabling topoext feature= .", - cs->nr_threads); - ht_warned =3D true; + if (IS_AMD_CPU(env) && + !(env->features[FEAT_8000_0001_ECX] & CPUID_EXT3_TOPOEXT) && + cs->nr_threads > 1 && !ht_warned) { + warn_report("This family of AMD CPU doesn't support " + "hyperthreading(%d)", + cs->nr_threads); + error_printf("Please configure -smp options properly" + " or try enabling topoext feature.\n"); + ht_warned =3D true; } =20 x86_cpu_apic_realize(cpu, &local_err); diff --git a/target/ppc/translate_init.inc.c b/target/ppc/translate_init.in= c.c index 263e63cb03..ee9432eb15 100644 --- a/target/ppc/translate_init.inc.c +++ b/target/ppc/translate_init.inc.c @@ -8381,8 +8381,8 @@ static void getset_compat_deprecated(Object *obj, Vis= itor *v, const char *name, QNull *null =3D NULL; =20 if (!qtest_enabled()) { - error_report("CPU 'compat' property is deprecated and has no effec= t; " - "use max-cpu-compat machine property instead"); + warn_report("CPU 'compat' property is deprecated and has no effect= ; " + "use max-cpu-compat machine property instead"); } visit_type_null(v, name, &null, NULL); qobject_unref(null); --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020428542943.1651941099818; Mon, 8 Oct 2018 10:40:28 -0700 (PDT) Received: from localhost ([::1]:47521 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZW7-000301-Ec for importer@patchew.org; Mon, 08 Oct 2018 13:40:27 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41278) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNd-0005AP-MJ for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005ld-GR for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41928) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNY-0005iG-S0 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 28E1E30610D6 for ; Mon, 8 Oct 2018 17:31:30 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D08CC308BDA1; Mon, 8 Oct 2018 17:31:26 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 566701132D83; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:30:58 +0200 Message-Id: <20181008173125.19678-5-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.48]); Mon, 08 Oct 2018 17:31:30 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 04/31] vfio: Use warn_report() & friends to report warnings X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alex Williamson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The vfio code reports warnings like error_report(WARN_PREFIX "Could not frobnicate", DEV-NAME); where WARN_PREFIX is defined so the message comes out as vfio warning: DEV-NAME: Could not frobnicate This usage predates the introduction of warn_report() & friends in commit 97f40301f1d. It's time to convert to that interface. Since these functions already prefix the message with "warning: ", replace WARN_PREFIX by VFIO_MSG_PREFIX, so the messages come out like warning: vfio DEV-NAME: Could not frobnicate The next commit will replace ERR_PREFIX. Cc: Alex Williamson Signed-off-by: Markus Armbruster Acked-by: Alex Williamson --- hw/vfio/pci.c | 14 +++++++------- hw/vfio/platform.c | 4 ++-- include/hw/vfio/vfio-common.h | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 866f0deeb7..36f1182249 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -249,7 +249,7 @@ static void vfio_intx_update(PCIDevice *pdev) =20 vfio_intx_enable_kvm(vdev, &err); if (err) { - error_reportf_err(err, WARN_PREFIX, vdev->vbasedev.name); + warn_reportf_err(err, VFIO_MSG_PREFIX, vdev->vbasedev.name); } =20 /* Re-enable the interrupt in cased we missed an EOI */ @@ -314,7 +314,7 @@ static int vfio_intx_enable(VFIOPCIDevice *vdev, Error = **errp) =20 vfio_intx_enable_kvm(vdev, &err); if (err) { - error_reportf_err(err, WARN_PREFIX, vdev->vbasedev.name); + warn_reportf_err(err, VFIO_MSG_PREFIX, vdev->vbasedev.name); } =20 vdev->interrupt =3D VFIO_INT_INTx; @@ -1555,7 +1555,7 @@ static int vfio_msix_setup(VFIOPCIDevice *vdev, int p= os, Error **errp) &err); if (ret < 0) { if (ret =3D=3D -ENOTSUP) { - error_report_err(err); + warn_report_err(err); return 0; } =20 @@ -2588,9 +2588,9 @@ static void vfio_populate_device(VFIOPCIDevice *vdev,= Error **errp) } else if (irq_info.count =3D=3D 1) { vdev->pci_aer =3D true; } else { - error_report(WARN_PREFIX - "Could not enable error recovery for the device", - vbasedev->name); + warn_report(VFIO_MSG_PREFIX + "Could not enable error recovery for the device", + vbasedev->name); } } =20 @@ -2715,7 +2715,7 @@ static void vfio_req_notifier_handler(void *opaque) =20 qdev_unplug(&vdev->pdev.qdev, &err); if (err) { - error_reportf_err(err, WARN_PREFIX, vdev->vbasedev.name); + warn_reportf_err(err, VFIO_MSG_PREFIX, vdev->vbasedev.name); } } =20 diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c index 57c4a0ee2b..c1aecac43c 100644 --- a/hw/vfio/platform.c +++ b/hw/vfio/platform.c @@ -657,8 +657,8 @@ static void vfio_platform_realize(DeviceState *dev, Err= or **errp) =20 for (i =3D 0; i < vbasedev->num_regions; i++) { if (vfio_region_mmap(vdev->regions[i])) { - error_report("%s mmap unsupported. Performance may be slow", - memory_region_name(vdev->regions[i]->mem)); + warn_report("%s mmap unsupported, performance may be slow", + memory_region_name(vdev->regions[i]->mem)); } sysbus_init_mmio(sbdev, vdev->regions[i]->mem); } diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h index 821def0565..ad747aab7f 100644 --- a/include/hw/vfio/vfio-common.h +++ b/include/hw/vfio/vfio-common.h @@ -31,7 +31,7 @@ #endif =20 #define ERR_PREFIX "vfio error: %s: " -#define WARN_PREFIX "vfio warning: %s: " +#define VFIO_MSG_PREFIX "vfio %s: " =20 enum { VFIO_DEVICE_TYPE_PCI =3D 0, --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020593584765.5406225377815; Mon, 8 Oct 2018 10:43:13 -0700 (PDT) Received: from localhost ([::1]:47537 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZYe-0005CV-8Y for importer@patchew.org; Mon, 08 Oct 2018 13:43:04 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41286) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNe-0005AQ-0M for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNa-0005me-13 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41782) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005iM-JM for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C1E607AE88 for ; Mon, 8 Oct 2018 17:31:30 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 705CA6128E; Mon, 8 Oct 2018 17:31:28 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 5B6BB1132D9B; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:30:59 +0200 Message-Id: <20181008173125.19678-6-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 08 Oct 2018 17:31:30 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 05/31] vfio: Clean up error reporting after previous commit X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alex Williamson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The previous commit changed vfio's warning messages from vfio warning: DEV-NAME: Could not frobnicate to warning: vfio DEV-NAME: Could not frobnicate To match this change, change error messages from vfio error: DEV-NAME: On fire to vfio DEV-NAME: On fire Note the loss of "error". If we think marking error messages that way is a good idea, we should mark *all* error messages, i.e. make error_report() print it. Cc: Alex Williamson Signed-off-by: Markus Armbruster Acked-by: Alex Williamson --- hw/vfio/pci-quirks.c | 4 ++-- hw/vfio/pci.c | 8 ++++---- hw/vfio/platform.c | 2 +- include/hw/vfio/vfio-common.h | 1 - 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c index 481fd08df7..eae31c74d6 100644 --- a/hw/vfio/pci-quirks.c +++ b/hw/vfio/pci-quirks.c @@ -1670,7 +1670,7 @@ static void vfio_probe_igd_bar4_quirk(VFIOPCIDevice *= vdev, int nr) * but also no point in us enabling VGA if disabled in hardware. */ if (!(gmch & 0x2) && !vdev->vga && vfio_populate_vga(vdev, &err)) { - error_reportf_err(err, ERR_PREFIX, vdev->vbasedev.name); + error_reportf_err(err, VFIO_MSG_PREFIX, vdev->vbasedev.name); error_report("IGD device %s failed to enable VGA access, " "legacy mode disabled", vdev->vbasedev.name); goto out; @@ -1696,7 +1696,7 @@ static void vfio_probe_igd_bar4_quirk(VFIOPCIDevice *= vdev, int nr) ret =3D vfio_pci_igd_opregion_init(vdev, opregion, &err); if (ret) { error_append_hint(&err, "IGD legacy mode disabled\n"); - error_reportf_err(err, ERR_PREFIX, vdev->vbasedev.name); + error_reportf_err(err, VFIO_MSG_PREFIX, vdev->vbasedev.name); goto out; } =20 diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 36f1182249..fedf81e386 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -742,7 +742,7 @@ static void vfio_msi_disable_common(VFIOPCIDevice *vdev) =20 vfio_intx_enable(vdev, &err); if (err) { - error_reportf_err(err, ERR_PREFIX, vdev->vbasedev.name); + error_reportf_err(err, VFIO_MSG_PREFIX, vdev->vbasedev.name); } } =20 @@ -2194,7 +2194,7 @@ static void vfio_pci_post_reset(VFIOPCIDevice *vdev) =20 vfio_intx_enable(vdev, &err); if (err) { - error_reportf_err(err, ERR_PREFIX, vdev->vbasedev.name); + error_reportf_err(err, VFIO_MSG_PREFIX, vdev->vbasedev.name); } =20 for (nr =3D 0; nr < PCI_NUM_REGIONS - 1; ++nr) { @@ -2828,7 +2828,7 @@ static void vfio_realize(PCIDevice *pdev, Error **err= p) =20 if (stat(vdev->vbasedev.sysfsdev, &st) < 0) { error_setg_errno(errp, errno, "no such host device"); - error_prepend(errp, ERR_PREFIX, vdev->vbasedev.sysfsdev); + error_prepend(errp, VFIO_MSG_PREFIX, vdev->vbasedev.sysfsdev); return; } =20 @@ -3079,7 +3079,7 @@ out_teardown: vfio_teardown_msi(vdev); vfio_bars_exit(vdev); error: - error_prepend(errp, ERR_PREFIX, vdev->vbasedev.name); + error_prepend(errp, VFIO_MSG_PREFIX, vdev->vbasedev.name); } =20 static void vfio_instance_finalize(Object *obj) diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c index c1aecac43c..61852f711b 100644 --- a/hw/vfio/platform.c +++ b/hw/vfio/platform.c @@ -668,7 +668,7 @@ out: } =20 if (vdev->vbasedev.name) { - error_prepend(errp, ERR_PREFIX, vdev->vbasedev.name); + error_prepend(errp, VFIO_MSG_PREFIX, vdev->vbasedev.name); } else { error_prepend(errp, "vfio error: "); } diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h index ad747aab7f..89ed6a5743 100644 --- a/include/hw/vfio/vfio-common.h +++ b/include/hw/vfio/vfio-common.h @@ -30,7 +30,6 @@ #include #endif =20 -#define ERR_PREFIX "vfio error: %s: " #define VFIO_MSG_PREFIX "vfio %s: " =20 enum { --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020755505744.7098603539083; Mon, 8 Oct 2018 10:45:55 -0700 (PDT) Received: from localhost ([::1]:47553 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZbH-0007bz-Dc for importer@patchew.org; Mon, 08 Oct 2018 13:45:47 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41276) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNd-0005AN-Lt for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005mK-Pj for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41788) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005j7-DE for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7AF817F419 for ; Mon, 8 Oct 2018 17:31:32 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 722AD2A181; Mon, 8 Oct 2018 17:31:28 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 5D88F1132D3B; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:00 +0200 Message-Id: <20181008173125.19678-7-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 08 Oct 2018 17:31:32 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 06/31] char: Use error_printf() to print help and such X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. Convert a few that are actually help and such to error_printf(). Improves output of -chardev help from qemu-system-x86_64: -chardev help: Available chardev backend types: serial ... to Available chardev backend types: serial ... Cc: Paolo Bonzini Cc: "Marc-Andr=C3=A9 Lureau" Signed-off-by: Markus Armbruster Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- chardev/char-pty.c | 2 +- chardev/char.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/chardev/char-pty.c b/chardev/char-pty.c index e8d9a53476..f681d637c1 100644 --- a/chardev/char-pty.c +++ b/chardev/char-pty.c @@ -259,7 +259,7 @@ static void char_pty_open(Chardev *chr, qemu_set_nonblock(master_fd); =20 chr->filename =3D g_strdup_printf("pty:%s", pty_name); - error_report("char device redirected to %s (label %s)", + error_printf("char device redirected to %s (label %s)\n", pty_name, chr->label); =20 s =3D PTY_CHARDEV(chr); diff --git a/chardev/char.c b/chardev/char.c index e115166995..7f07a1bfbd 100644 --- a/chardev/char.c +++ b/chardev/char.c @@ -634,7 +634,7 @@ Chardev *qemu_chr_new_from_opts(QemuOpts *opts, Error *= *errp) =20 chardev_name_foreach(help_string_append, str); =20 - error_report("Available chardev backend types: %s", str->str); + error_printf("Available chardev backend types: %s\n", str->str); g_string_free(str, true); return NULL; } --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539021384847585.0247925810642; Mon, 8 Oct 2018 10:56:24 -0700 (PDT) Received: from localhost ([::1]:47612 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZlY-0006wL-03 for importer@patchew.org; Mon, 08 Oct 2018 13:56:24 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41505) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNk-0005FG-Nm for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNa-0005nT-K4 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:48 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34418) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNa-0005hD-9U for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:38 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CC0E4A755D; Mon, 8 Oct 2018 17:31:28 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 99C9587C1; Mon, 8 Oct 2018 17:31:28 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 60FB81132D3E; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:01 +0200 Message-Id: <20181008173125.19678-8-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Mon, 08 Oct 2018 17:31:28 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 07/31] 9pfs: Fix CLI parsing crash on error X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Greg Kurz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. 9p-handle.c's handle_parse_opts() does that, and then fails without setting an error. Wrong. Its caller crashes when it tries to report the error: $ qemu-system-x86_64 -nodefaults -fsdev id=3Dfoo,fsdriver=3Dhandle qemu-system-x86_64: -fsdev id=3Dfoo,fsdriver=3Dhandle: warning: handle = backend is deprecated qemu-system-x86_64: -fsdev id=3Dfoo,fsdriver=3Dhandle: fsdev: No path s= pecified Segmentation fault (core dumped) Screwed up when commit 91cda4e8f37 (v2.12.0) converted the function to Error. Fix by calling error_setg() instead of error_report(). Fixes: 91cda4e8f372602795e3a2f4bd2e3adaf9f82255 Cc: Greg Kurz Signed-off-by: Markus Armbruster Acked-by: Greg Kurz --- hw/9pfs/9p-handle.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/9pfs/9p-handle.c b/hw/9pfs/9p-handle.c index f3641dbe4a..3465b1ef30 100644 --- a/hw/9pfs/9p-handle.c +++ b/hw/9pfs/9p-handle.c @@ -19,6 +19,7 @@ #include #include #include +#include "qapi/error.h" #include "qemu/xattr.h" #include "qemu/cutils.h" #include "qemu/error-report.h" @@ -655,12 +656,13 @@ static int handle_parse_opts(QemuOpts *opts, FsDriver= Entry *fse, Error **errp) warn_report("handle backend is deprecated"); =20 if (sec_model) { - error_report("Invalid argument security_model specified with handl= e fsdriver"); + error_setg(errp, + "Invalid argument security_model specified with handle = fsdriver"); return -1; } =20 if (!path) { - error_report("fsdev: No path specified"); + error_setg(errp, "fsdev: No path specified"); return -1; } fse->path =3D g_strdup(path); --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020426277760.1162585003315; Mon, 8 Oct 2018 10:40:26 -0700 (PDT) Received: from localhost ([::1]:47518 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZVr-0002le-SM for importer@patchew.org; Mon, 08 Oct 2018 13:40:11 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41277) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNd-0005AO-Ll for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005m7-Il for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57280) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNY-0005iw-UZ for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4C53F31F3F7 for ; Mon, 8 Oct 2018 17:31:31 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9C5BA10018FF; Mon, 8 Oct 2018 17:31:28 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 647D11132D3F; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:02 +0200 Message-Id: <20181008173125.19678-9-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Mon, 08 Oct 2018 17:31:31 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 08/31] pc: Fix machine property nvdimm-persistence error handling X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Michael S. Tsirkin" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. pc.c's pc_machine_set_nvdimm_persistence() does that, and then exit()s. Wrong. Attempting to set machine property nvdimm-persistence to a bad value instantly kills the VM: $ qemu-system-x86_64 -nodefaults -S -display none -qmp stdio {"QMP": {"version": {"qemu": {"micro": 50, "minor": 0, "major": 3}, "pa= ckage": "v3.0.0-837-gc5e4e49258"}, "capabilities": []}} {"execute": "qmp_capabilities"} {"return": {}} {"execute": "qom-set", "arguments": {"path": "/machine", "property": "n= vdimm-persistence", "value": "instadeath"}} -machine nvdimm-persistence=3Dinstadeath: unsupported option $ echo $? 1 Broken when commit 11c39b5cd96 (v3.0.0) replaced error_propagate(); return by error_report(); exit() instead of error_setg(); return. Fix that. Fixes: 11c39b5cd966ddc067a1ca0c5392ec9b666c45b7 Cc: "Michael S. Tsirkin" Signed-off-by: Markus Armbruster Reviewed-by: Marc-Andr=C3=A9 Lureau --- hw/i386/pc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/i386/pc.c b/hw/i386/pc.c index cd5029c149..eab8572f2a 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -2209,8 +2209,9 @@ static void pc_machine_set_nvdimm_persistence(Object = *obj, const char *value, else if (strcmp(value, "mem-ctrl") =3D=3D 0) nvdimm_state->persistence =3D 2; else { - error_report("-machine nvdimm-persistence=3D%s: unsupported option= ", value); - exit(EXIT_FAILURE); + error_setg(errp, "-machine nvdimm-persistence=3D%s: unsupported op= tion", + value); + return; } =20 g_free(nvdimm_state->persistence_string); --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020240859963.7696155744225; Mon, 8 Oct 2018 10:37:20 -0700 (PDT) Received: from localhost ([::1]:47506 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZT1-0000PX-6x for importer@patchew.org; Mon, 08 Oct 2018 13:37:15 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41259) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNd-0005AI-Bk for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005lP-Ei for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53874) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNY-0005jH-Vu for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 1FCC630D47CB for ; Mon, 8 Oct 2018 17:31:33 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D752D65950; Mon, 8 Oct 2018 17:31:28 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 67EE61132C7B; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:03 +0200 Message-Id: <20181008173125.19678-10-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Mon, 08 Oct 2018 17:31:33 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 09/31] ioapic: Fix error handling in realize() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Xu Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. ioapic_realize() does that, and then exit()s. Currently mostly harmless, as the device cannot be hot-plugged. Fixes: 20fd4b7b6d9282fe0cb83601f1821f31bd257458 Cc: Peter Xu Signed-off-by: Markus Armbruster Reviewed-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Peter Xu --- hw/intc/ioapic.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/intc/ioapic.c b/hw/intc/ioapic.c index b6896ac4ce..4e529729b4 100644 --- a/hw/intc/ioapic.c +++ b/hw/intc/ioapic.c @@ -21,7 +21,7 @@ */ =20 #include "qemu/osdep.h" -#include "qemu/error-report.h" +#include "qapi/error.h" #include "monitor/monitor.h" #include "hw/hw.h" #include "hw/i386/pc.h" @@ -393,9 +393,9 @@ static void ioapic_realize(DeviceState *dev, Error **er= rp) IOAPICCommonState *s =3D IOAPIC_COMMON(dev); =20 if (s->version !=3D 0x11 && s->version !=3D 0x20) { - error_report("IOAPIC only supports version 0x11 or 0x20 " - "(default: 0x%x).", IOAPIC_VER_DEF); - exit(1); + error_setg(errp, "IOAPIC only supports version 0x11 or 0x20 " + "(default: 0x%x).", IOAPIC_VER_DEF); + return; } =20 memory_region_init_io(&s->io_memory, OBJECT(s), &ioapic_io_ops, s, --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 153902093643988.83938353418557; Mon, 8 Oct 2018 10:48:56 -0700 (PDT) Received: from localhost ([::1]:47569 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZeJ-0001Oy-8a for importer@patchew.org; Mon, 08 Oct 2018 13:48:55 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41325) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNe-0005AS-LF for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005li-IL for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52824) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNY-0005hm-TW for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6D2F8C0B020D for ; Mon, 8 Oct 2018 17:31:29 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id DE1DE65953; Mon, 8 Oct 2018 17:31:28 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 6B71F11329D4; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:04 +0200 Message-Id: <20181008173125.19678-11-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Mon, 08 Oct 2018 17:31:29 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 10/31] smbios: Clean up error handling in smbios_add() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. smbios_entry_add() does that, and then exit()s. It also passes &error_fatal to qemu_opts_validate(). Both wrong, but currently harmless, as its only caller passes &error_fatal. Messed up in commit 1007a37e208. Clean it up. Cc: Paolo Bonzini Signed-off-by: Markus Armbruster Acked-by: Paolo Bonzini Reviewed-by: Marc-Andr=C3=A9 Lureau --- hw/smbios/smbios.c | 90 +++++++++++++++++++++++++++++++--------------- 1 file changed, 62 insertions(+), 28 deletions(-) diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c index a27e54b2fa..920939454e 100644 --- a/hw/smbios/smbios.c +++ b/hw/smbios/smbios.c @@ -950,6 +950,7 @@ static void save_opt_list(size_t *ndest, const char ***= dest, =20 void smbios_entry_add(QemuOpts *opts, Error **errp) { + Error *err =3D NULL; const char *val; =20 assert(!smbios_immutable); @@ -960,12 +961,16 @@ void smbios_entry_add(QemuOpts *opts, Error **errp) int size; struct smbios_table *table; /* legacy mode only */ =20 - qemu_opts_validate(opts, qemu_smbios_file_opts, &error_fatal); + qemu_opts_validate(opts, qemu_smbios_file_opts, &err); + if (err) { + error_propagate(errp, err); + return; + } =20 size =3D get_image_size(val); if (size =3D=3D -1 || size < sizeof(struct smbios_structure_header= )) { - error_report("Cannot read SMBIOS file %s", val); - exit(1); + error_setg(errp, "Cannot read SMBIOS file %s", val); + return; } =20 /* @@ -978,14 +983,15 @@ void smbios_entry_add(QemuOpts *opts, Error **errp) smbios_tables_len); =20 if (load_image(val, (uint8_t *)header) !=3D size) { - error_report("Failed to load SMBIOS file %s", val); - exit(1); + error_setg(errp, "Failed to load SMBIOS file %s", val); + return; } =20 if (test_bit(header->type, have_fields_bitmap)) { - error_report("can't load type %d struct, fields already specif= ied!", - header->type); - exit(1); + error_setg(errp, + "can't load type %d struct, fields already specifie= d!", + header->type); + return; } set_bit(header->type, have_binfile_bitmap); =20 @@ -1030,19 +1036,23 @@ void smbios_entry_add(QemuOpts *opts, Error **errp) unsigned long type =3D strtoul(val, NULL, 0); =20 if (type > SMBIOS_MAX_TYPE) { - error_report("out of range!"); - exit(1); + error_setg(errp, "out of range!"); + return; } =20 if (test_bit(type, have_binfile_bitmap)) { - error_report("can't add fields, binary file already loaded!"); - exit(1); + error_setg(errp, "can't add fields, binary file already loaded= !"); + return; } set_bit(type, have_fields_bitmap); =20 switch (type) { case 0: - qemu_opts_validate(opts, qemu_smbios_type0_opts, &error_fatal); + qemu_opts_validate(opts, qemu_smbios_type0_opts, &err); + if (err) { + error_propagate(errp, err); + return; + } save_opt(&type0.vendor, opts, "vendor"); save_opt(&type0.version, opts, "version"); save_opt(&type0.date, opts, "date"); @@ -1051,14 +1061,18 @@ void smbios_entry_add(QemuOpts *opts, Error **errp) val =3D qemu_opt_get(opts, "release"); if (val) { if (sscanf(val, "%hhu.%hhu", &type0.major, &type0.minor) != =3D 2) { - error_report("Invalid release"); - exit(1); + error_setg(errp, "Invalid release"); + return; } type0.have_major_minor =3D true; } return; case 1: - qemu_opts_validate(opts, qemu_smbios_type1_opts, &error_fatal); + qemu_opts_validate(opts, qemu_smbios_type1_opts, &err); + if (err) { + error_propagate(errp, err); + return; + } save_opt(&type1.manufacturer, opts, "manufacturer"); save_opt(&type1.product, opts, "product"); save_opt(&type1.version, opts, "version"); @@ -1069,14 +1083,18 @@ void smbios_entry_add(QemuOpts *opts, Error **errp) val =3D qemu_opt_get(opts, "uuid"); if (val) { if (qemu_uuid_parse(val, &qemu_uuid) !=3D 0) { - error_report("Invalid UUID"); - exit(1); + error_setg(errp, "Invalid UUID"); + return; } qemu_uuid_set =3D true; } return; case 2: - qemu_opts_validate(opts, qemu_smbios_type2_opts, &error_fatal); + qemu_opts_validate(opts, qemu_smbios_type2_opts, &err); + if (err) { + error_propagate(errp, err); + return; + } save_opt(&type2.manufacturer, opts, "manufacturer"); save_opt(&type2.product, opts, "product"); save_opt(&type2.version, opts, "version"); @@ -1085,7 +1103,11 @@ void smbios_entry_add(QemuOpts *opts, Error **errp) save_opt(&type2.location, opts, "location"); return; case 3: - qemu_opts_validate(opts, qemu_smbios_type3_opts, &error_fatal); + qemu_opts_validate(opts, qemu_smbios_type3_opts, &err); + if (err) { + error_propagate(errp, err); + return; + } save_opt(&type3.manufacturer, opts, "manufacturer"); save_opt(&type3.version, opts, "version"); save_opt(&type3.serial, opts, "serial"); @@ -1093,7 +1115,11 @@ void smbios_entry_add(QemuOpts *opts, Error **errp) save_opt(&type3.sku, opts, "sku"); return; case 4: - qemu_opts_validate(opts, qemu_smbios_type4_opts, &error_fatal); + qemu_opts_validate(opts, qemu_smbios_type4_opts, &err); + if (err) { + error_propagate(errp, err); + return; + } save_opt(&type4.sock_pfx, opts, "sock_pfx"); save_opt(&type4.manufacturer, opts, "manufacturer"); save_opt(&type4.version, opts, "version"); @@ -1102,11 +1128,19 @@ void smbios_entry_add(QemuOpts *opts, Error **errp) save_opt(&type4.part, opts, "part"); return; case 11: - qemu_opts_validate(opts, qemu_smbios_type11_opts, &error_fatal= ); + qemu_opts_validate(opts, qemu_smbios_type11_opts, &err); + if (err) { + error_propagate(errp, err); + return; + } save_opt_list(&type11.nvalues, &type11.values, opts, "value"); return; case 17: - qemu_opts_validate(opts, qemu_smbios_type17_opts, &error_fatal= ); + qemu_opts_validate(opts, qemu_smbios_type17_opts, &err); + if (err) { + error_propagate(errp, err); + return; + } save_opt(&type17.loc_pfx, opts, "loc_pfx"); save_opt(&type17.bank, opts, "bank"); save_opt(&type17.manufacturer, opts, "manufacturer"); @@ -1116,12 +1150,12 @@ void smbios_entry_add(QemuOpts *opts, Error **errp) type17.speed =3D qemu_opt_get_number(opts, "speed", 0); return; default: - error_report("Don't know how to build fields for SMBIOS type %= ld", - type); - exit(1); + error_setg(errp, + "Don't know how to build fields for SMBIOS type %ld= ", + type); + return; } } =20 - error_report("Must specify type=3D or file=3D"); - exit(1); + error_setg(errp, "Must specify type=3D or file=3D"); } --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 15390200575111012.8562022700938; Mon, 8 Oct 2018 10:34:17 -0700 (PDT) Received: from localhost ([::1]:47488 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZQ1-0006UN-KA for importer@patchew.org; Mon, 08 Oct 2018 13:34:09 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41250) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNd-0005AF-4C for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNY-0005kq-JS for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41772) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNY-0005hg-64 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:36 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 597A67AE8C for ; Mon, 8 Oct 2018 17:31:29 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 21DB96607C; Mon, 8 Oct 2018 17:31:29 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 6EE101132988; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:05 +0200 Message-Id: <20181008173125.19678-12-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 08 Oct 2018 17:31:29 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 11/31] migration: Fix !replay_can_snapshot() error handling X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. save_snapshot() and load_snapshot() do that, and then fail without setting an error. Wrong. The HMP commands survive this unscathed, since hmp_handle_error() does nothing when no error has been set. Callers main() (on behalf of -loadvm) and replay_vmstate_init() crash, but I'm not sure the error is possible there. Screwed up when commit 377b21ccea1 (v2.12.0) added incorrect error handling right next to correct examples. Fix by calling error_setg() instead of error_report(). Fixes: 377b21ccea1755a8b0dae822c29567c58dda6939 Cc: Paolo Bonzini Signed-off-by: Markus Armbruster Reviewed-by: Marc-Andr=C3=A9 Lureau --- migration/savevm.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/migration/savevm.c b/migration/savevm.c index 2d10e45582..5f8eb38676 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -2414,8 +2414,8 @@ int save_snapshot(const char *name, Error **errp) AioContext *aio_context; =20 if (!replay_can_snapshot()) { - error_report("Record/replay does not allow making snapshot " - "right now. Try once more later."); + error_setg(errp, "Record/replay does not allow making snapshot " + "right now. Try once more later."); return ret; } =20 @@ -2611,8 +2611,8 @@ int load_snapshot(const char *name, Error **errp) MigrationIncomingState *mis =3D migration_incoming_get_current(); =20 if (!replay_can_snapshot()) { - error_report("Record/replay does not allow loading snapshot " - "right now. Try once more later."); + error_setg(errp, "Record/replay does not allow loading snapshot " + "right now. Try once more later."); return -EINVAL; } =20 --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539021259055302.79269504337526; Mon, 8 Oct 2018 10:54:19 -0700 (PDT) Received: from localhost ([::1]:47598 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZjW-0005Mv-0Q for importer@patchew.org; Mon, 08 Oct 2018 13:54:18 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41433) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNh-0005B7-48 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNb-0005oS-Du for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57242) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNa-0005i5-Nd for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:38 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 854B031E7DE for ; Mon, 8 Oct 2018 17:31:29 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 294F2103BAB4; Mon, 8 Oct 2018 17:31:29 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 725541132947; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:06 +0200 Message-Id: <20181008173125.19678-13-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Mon, 08 Oct 2018 17:31:29 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 12/31] l2tpv3: Improve -netdev/netdev_add/-net/... error reporting X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jason Wang Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" When -netdev l2tpv3 fails, it first reports a specific error, then a generic one, like this: $ qemu-system-x86_64 -netdev l2tpv3,id=3Dfoo,src=3D,dst=3D,txsession=3D1 qemu-system-x86_64: -netdev l2tpv3,id=3Dfoo,src=3D,dst=3D,txsession=3D1= : l2tpv3_open : could not resolve src, errno =3D Name or service not known qemu-system-x86_64: Device 'l2tpv3' could not be initialized With the command line, the messages go to stderr. In HMP, they go to the monitor. In QMP, the second one becomes the error reply, and the first one goes to stderr. Convert net_init_tap() to Error. This suppresses the unwanted second message, and makes the specific error the QMP error reply. Cc: Jason Wang Signed-off-by: Markus Armbruster Reviewed-by: Marc-Andr=C3=A9 Lureau --- net/l2tpv3.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/net/l2tpv3.c b/net/l2tpv3.c index 6745b78990..0c5dd22ef7 100644 --- a/net/l2tpv3.c +++ b/net/l2tpv3.c @@ -28,6 +28,7 @@ #include #include "net/net.h" #include "clients.h" +#include "qapi/error.h" #include "qemu-common.h" #include "qemu/error-report.h" #include "qemu/option.h" @@ -528,7 +529,6 @@ int net_init_l2tpv3(const Netdev *netdev, const char *name, NetClientState *peer, Error **errp) { - /* FIXME error_setg(errp, ...) on failure */ const NetdevL2TPv3Options *l2tpv3; NetL2TPV3State *s; NetClientState *nc; @@ -555,7 +555,7 @@ int net_init_l2tpv3(const Netdev *netdev, } =20 if ((l2tpv3->has_offset) && (l2tpv3->offset > 256)) { - error_report("l2tpv3_open : offset must be less than 256 bytes"); + error_setg(errp, "l2tpv3_open : offset must be less than 256 bytes= "); goto outerr; } =20 @@ -563,6 +563,8 @@ int net_init_l2tpv3(const Netdev *netdev, if (l2tpv3->has_rxcookie && l2tpv3->has_txcookie) { s->cookie =3D true; } else { + error_setg(errp, + "require both 'rxcookie' and 'txcookie' or neither"= ); goto outerr; } } else { @@ -578,7 +580,8 @@ int net_init_l2tpv3(const Netdev *netdev, if (l2tpv3->has_udp && l2tpv3->udp) { s->udp =3D true; if (!(l2tpv3->has_srcport && l2tpv3->has_dstport)) { - error_report("l2tpv3_open : need both src and dst port for udp= "); + error_setg(errp, + "l2tpv3_open : need both src and dst port for udp"); goto outerr; } else { srcport =3D l2tpv3->srcport; @@ -639,20 +642,19 @@ int net_init_l2tpv3(const Netdev *netdev, gairet =3D getaddrinfo(l2tpv3->src, srcport, &hints, &result); =20 if ((gairet !=3D 0) || (result =3D=3D NULL)) { - error_report( - "l2tpv3_open : could not resolve src, errno =3D %s", - gai_strerror(gairet) - ); + error_setg(errp, "l2tpv3_open : could not resolve src, errno =3D %= s", + gai_strerror(gairet)); goto outerr; } fd =3D socket(result->ai_family, result->ai_socktype, result->ai_proto= col); if (fd =3D=3D -1) { fd =3D -errno; - error_report("l2tpv3_open : socket creation failed, errno =3D %d",= -fd); + error_setg(errp, "l2tpv3_open : socket creation failed, errno =3D = %d", + -fd); goto outerr; } if (bind(fd, (struct sockaddr *) result->ai_addr, result->ai_addrlen))= { - error_report("l2tpv3_open : could not bind socket err=3D%i", errn= o); + error_setg(errp, "l2tpv3_open : could not bind socket err=3D%i", = errno); goto outerr; } if (result) { @@ -677,10 +679,8 @@ int net_init_l2tpv3(const Netdev *netdev, result =3D NULL; gairet =3D getaddrinfo(l2tpv3->dst, dstport, &hints, &result); if ((gairet !=3D 0) || (result =3D=3D NULL)) { - error_report( - "l2tpv3_open : could not resolve dst, error =3D %s", - gai_strerror(gairet) - ); + error_setg(errp, "l2tpv3_open : could not resolve dst, error =3D %= s", + gai_strerror(gairet)); goto outerr; } =20 --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020759801315.7081389018672; Mon, 8 Oct 2018 10:45:59 -0700 (PDT) Received: from localhost ([::1]:47555 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZbP-0007jZ-WA for importer@patchew.org; Mon, 08 Oct 2018 13:45:56 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41371) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNf-0005Ad-O6 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNb-0005nr-1v for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53864) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNa-0005iI-HO for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:38 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 51FC530D2C3B for ; Mon, 8 Oct 2018 17:31:30 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1500160C62; Mon, 8 Oct 2018 17:31:30 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 75BF5113282C; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:07 +0200 Message-Id: <20181008173125.19678-14-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.42]); Mon, 08 Oct 2018 17:31:30 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 13/31] net/socket: Fix invalid socket type error handling X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Jason Wang Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. net_socket_fd_init() does that, and then fails without setting an error. Wrong. I didn't analyze how exactly this can break. A caller that reports the error on failure would crash. Broken when commit c37f0bb1d0d (v2.11.0) converted the function to Error. Fix by calling error_setg() instead of error_report(). Fixes: c37f0bb1d0d24e3a6b5f4659bb305913dcb798a6 Cc: Jason Wang Signed-off-by: Markus Armbruster Reviewed-by: Marc-Andr=C3=A9 Lureau --- net/socket.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/socket.c b/net/socket.c index 6917fbcbf5..90ef3517be 100644 --- a/net/socket.c +++ b/net/socket.c @@ -453,8 +453,8 @@ static NetSocketState *net_socket_fd_init(NetClientStat= e *peer, case SOCK_STREAM: return net_socket_fd_init_stream(peer, model, name, fd, is_connect= ed); default: - error_report("socket type=3D%d for fd=3D%d must be either" - " SOCK_DGRAM or SOCK_STREAM", so_type, fd); + error_setg(errp, "socket type=3D%d for fd=3D%d must be either" + " SOCK_DGRAM or SOCK_STREAM", so_type, fd); closesocket(fd); } return NULL; --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020589881680.367349176593; Mon, 8 Oct 2018 10:43:09 -0700 (PDT) Received: from localhost ([::1]:47536 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZYa-0005A6-OF for importer@patchew.org; Mon, 08 Oct 2018 13:43:00 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41363) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNf-0005Ac-K2 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNa-0005nZ-Os for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60086) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNa-0005j6-B2 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:38 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 78356C0B2A35 for ; Mon, 8 Oct 2018 17:31:32 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 18EB934168; Mon, 8 Oct 2018 17:31:30 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 7945B113279E; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:08 +0200 Message-Id: <20181008173125.19678-15-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Mon, 08 Oct 2018 17:31:32 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 14/31] numa: Fix QMP command set-numa-node error handling X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. parse_numa_node() does that, and then exit()s. It also passes &error_fatal to machine_set_cpu_numa_node(). Both wrong. Attempting to configure numa when the machine doesn't support it kills the VM: $ qemu-system-x86_64 -nodefaults -S -display none -M none -preconfig -q= mp stdio {"QMP": {"version": {"qemu": {"micro": 50, "minor": 0, "major": 3}, "pa= ckage": "v3.0.0-837-gc5e4e49258"}, "capabilities": []}} {"execute": "qmp_capabilities"} {"return": {}} {"execute": "set-numa-node", "arguments": {"type": "node"}} NUMA is not supported by this machine-type $ echo $? 1 Messed up when commit 64c2a8f6d3f and 7c88e65d9e9 (v2.10.0) added incorrect error handling right next to correct examples. Latent bug until commit f3be67812c2 (v3.0.0) made it accessible via QMP. Fairly harmless in practice, because it's limited to RUN_STATE_PRECONFIG. The fix is obvious: replace error_report(); exit() by error_setg(); return. This affects parse_numa_node()'s other caller numa_complete_configuration(): since it ignores errors, the "NUMA is not supported by this machine-type" is now ignored, too. But that error is as unexpected there as any other. Change it to abort on error instead. Fixes: f3be67812c226162f86ce92634bd913714445420 Cc: Igor Mammedov Signed-off-by: Markus Armbruster fixup! numa: Fix QMP command set-numa-node error handling --- numa.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/numa.c b/numa.c index 81542d4ebb..1d7c49ad43 100644 --- a/numa.c +++ b/numa.c @@ -60,6 +60,7 @@ NodeInfo numa_info[MAX_NODES]; static void parse_numa_node(MachineState *ms, NumaNodeOptions *node, Error **errp) { + Error *err =3D NULL; uint16_t nodenr; uint16List *cpus =3D NULL; MachineClass *mc =3D MACHINE_GET_CLASS(ms); @@ -82,8 +83,8 @@ static void parse_numa_node(MachineState *ms, NumaNodeOpt= ions *node, } =20 if (!mc->cpu_index_to_instance_props || !mc->get_default_cpu_node_id) { - error_report("NUMA is not supported by this machine-type"); - exit(1); + error_setg(errp, "NUMA is not supported by this machine-type"); + return; } for (cpus =3D node->cpus; cpus; cpus =3D cpus->next) { CpuInstanceProperties props; @@ -97,7 +98,11 @@ static void parse_numa_node(MachineState *ms, NumaNodeOp= tions *node, props =3D mc->cpu_index_to_instance_props(ms, cpus->value); props.node_id =3D nodenr; props.has_node_id =3D true; - machine_set_cpu_numa_node(ms, &props, &error_fatal); + machine_set_cpu_numa_node(ms, &props, &err); + if (err) { + error_propagate(errp, err); + return; + } } =20 if (node->has_mem && node->has_memdev) { @@ -367,7 +372,7 @@ void numa_complete_configuration(MachineState *ms) if (ms->ram_slots > 0 && nb_numa_nodes =3D=3D 0 && mc->auto_enable_numa_with_memhp) { NumaNodeOptions node =3D { }; - parse_numa_node(ms, &node, NULL); + parse_numa_node(ms, &node, &error_abort); } =20 assert(max_numa_nodeid <=3D MAX_NODES); --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020943946246.39491238007054; Mon, 8 Oct 2018 10:49:03 -0700 (PDT) Received: from localhost ([::1]:47570 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZeQ-0001UV-Sx for importer@patchew.org; Mon, 08 Oct 2018 13:49:02 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41348) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNf-0005AZ-59 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNa-0005ng-T9 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45284) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNa-0005iQ-Fx for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:38 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CB78D8E5A4; Mon, 8 Oct 2018 17:31:30 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 94E4C5D787; Mon, 8 Oct 2018 17:31:30 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 7CC4A113274F; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:09 +0200 Message-Id: <20181008173125.19678-16-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Mon, 08 Oct 2018 17:31:30 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 15/31] xen/pt: Fix incomplete conversion to realize() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Anthony Perard , Stefano Stabellini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The conversion of "xen-pci-passthrough" to realize() (commit 5a11d0f7549, v2.6.0) neglected to convert the xen_pt_config_init() error path. If xen_pt_config_init() fails, xen_pt_realize() reports the error, then returns success without completing its job. I don't know the exact impact, but it can't be good. Belatedly convert the error path. Fixes: 5a11d0f7549e24a10e178a9dc8ff5e698031d9a6 Cc: Stefano Stabellini Cc: Anthony Perard Signed-off-by: Markus Armbruster --- hw/xen/xen_pt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c index e5a6eff44f..f1f3a3727c 100644 --- a/hw/xen/xen_pt.c +++ b/hw/xen/xen_pt.c @@ -830,7 +830,7 @@ static void xen_pt_realize(PCIDevice *d, Error **errp) xen_pt_config_init(s, &err); if (err) { error_append_hint(&err, "PCI Config space initialisation failed"); - error_report_err(err); + error_propagate(errp, err); rc =3D -1; goto err_out; } --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539021105190134.00376213804077; Mon, 8 Oct 2018 10:51:45 -0700 (PDT) Received: from localhost ([::1]:47583 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9Zgx-0003KR-AQ for importer@patchew.org; Mon, 08 Oct 2018 13:51:39 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41346) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNf-0005AY-4L for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNa-0005my-Au for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59124) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005jR-SY for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:38 -0400 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D07BE30D4DB0 for ; Mon, 8 Oct 2018 17:31:33 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9725C308BDA1; Mon, 8 Oct 2018 17:31:30 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 803C31132751; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:10 +0200 Message-Id: <20181008173125.19678-17-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Mon, 08 Oct 2018 17:31:33 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 16/31] seccomp: Clean up error reporting in parse_sandbox() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Otubo Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. parse_sandbox() 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. Cc: Eduardo Otubo Signed-off-by: Markus Armbruster --- qemu-seccomp.c | 18 +++++++++--------- vl.c | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/qemu-seccomp.c b/qemu-seccomp.c index 1baa5c69ed..6d27699409 100644 --- a/qemu-seccomp.c +++ b/qemu-seccomp.c @@ -12,11 +12,12 @@ * Contributions after 2012-01-13 are licensed under the terms of the * GNU GPL, version 2 or (at your option) any later version. */ + #include "qemu/osdep.h" +#include "qapi/error.h" #include "qemu/config-file.h" #include "qemu/option.h" #include "qemu/module.h" -#include "qemu/error-report.h" #include #include #include "sysemu/seccomp.h" @@ -190,7 +191,7 @@ int parse_sandbox(void *opaque, QemuOpts *opts, Error *= *errp) * to provide a little bit of consistency for * the command line */ } else { - error_report("invalid argument for obsolete"); + error_setg(errp, "invalid argument for obsolete"); return -1; } } @@ -205,14 +206,13 @@ int parse_sandbox(void *opaque, QemuOpts *opts, Error= **errp) /* calling prctl directly because we're * not sure if host has CAP_SYS_ADMIN set*/ if (prctl(PR_SET_NO_NEW_PRIVS, 1)) { - error_report("failed to set no_new_privs " - "aborting"); + error_setg(errp, "failed to set no_new_privs " "aborti= ng"); return -1; } } else if (g_str_equal(value, "allow")) { /* default value */ } else { - error_report("invalid argument for elevateprivileges"); + error_setg(errp, "invalid argument for elevateprivileges"); return -1; } } @@ -224,7 +224,7 @@ int parse_sandbox(void *opaque, QemuOpts *opts, Error *= *errp) } else if (g_str_equal(value, "allow")) { /* default value */ } else { - error_report("invalid argument for spawn"); + error_setg(errp, "invalid argument for spawn"); return -1; } } @@ -236,14 +236,14 @@ int parse_sandbox(void *opaque, QemuOpts *opts, Error= **errp) } else if (g_str_equal(value, "allow")) { /* default value */ } else { - error_report("invalid argument for resourcecontrol"); + error_setg(errp, "invalid argument for resourcecontrol"); return -1; } } =20 if (seccomp_start(seccomp_opts) < 0) { - error_report("failed to install seccomp syscall filter " - "in the kernel"); + error_setg(errp, "failed to install seccomp syscall filter " + "in the kernel"); return -1; } } diff --git a/vl.c b/vl.c index 9d2b38a31f..485c3fc008 100644 --- a/vl.c +++ b/vl.c @@ -3925,8 +3925,8 @@ int main(int argc, char **argv, char **envp) =20 #ifdef CONFIG_SECCOMP olist =3D qemu_find_opts_err("sandbox", NULL); - if (olist && qemu_opts_foreach(olist, parse_sandbox, NULL, NULL)) { - exit(1); + if (olist) { + qemu_opts_foreach(olist, parse_sandbox, NULL, &error_fatal); } #endif =20 --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020754998493.79620849472315; Mon, 8 Oct 2018 10:45:54 -0700 (PDT) Received: from localhost ([::1]:47552 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZbF-0007a3-OD for importer@patchew.org; Mon, 08 Oct 2018 13:45:45 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41416) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNg-0005Am-Gs for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNb-0005oN-EQ for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39300) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNa-0005iP-On for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:38 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D9CEC30DDBEB for ; Mon, 8 Oct 2018 17:31:30 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A78C42A2F8 for ; Mon, 8 Oct 2018 17:31:30 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 83A3611415DD; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:11 +0200 Message-Id: <20181008173125.19678-18-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.45]); Mon, 08 Oct 2018 17:31:30 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 17/31] vl: Clean up error reporting in parse_add_fd() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. parse_add_fd() 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. Also change call of cleanup_add_fd(), which can't fail, for symmetry. Signed-off-by: Markus Armbruster --- vl.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/vl.c b/vl.c index 485c3fc008..7ce8299d9d 100644 --- a/vl.c +++ b/vl.c @@ -1059,12 +1059,12 @@ static int parse_add_fd(void *opaque, QemuOpts *opt= s, Error **errp) fd_opaque =3D qemu_opt_get(opts, "opaque"); =20 if (fd < 0) { - error_report("fd option is required and must be non-negative"); + error_setg(errp, "fd option is required and must be non-negative"); return -1; } =20 if (fd <=3D STDERR_FILENO) { - error_report("fd cannot be a standard I/O stream"); + error_setg(errp, "fd cannot be a standard I/O stream"); return -1; } =20 @@ -1074,12 +1074,12 @@ static int parse_add_fd(void *opaque, QemuOpts *opt= s, Error **errp) */ flags =3D fcntl(fd, F_GETFD); if (flags =3D=3D -1 || (flags & FD_CLOEXEC)) { - error_report("fd is not valid or already in use"); + error_setg(errp, "fd is not valid or already in use"); return -1; } =20 if (fdset_id < 0) { - error_report("set option is required and must be non-negative"); + error_setg(errp, "set option is required and must be non-negative"= ); return -1; } =20 @@ -1092,7 +1092,7 @@ static int parse_add_fd(void *opaque, QemuOpts *opts,= Error **errp) } #endif if (dupfd =3D=3D -1) { - error_report("error duplicating fd: %s", strerror(errno)); + error_setg(errp, "error duplicating fd: %s", strerror(errno)); return -1; } =20 @@ -3936,15 +3936,11 @@ int main(int argc, char **argv, char **envp) } =20 #ifndef _WIN32 - if (qemu_opts_foreach(qemu_find_opts("add-fd"), - parse_add_fd, NULL, NULL)) { - exit(1); - } + qemu_opts_foreach(qemu_find_opts("add-fd"), + parse_add_fd, NULL, &error_fatal); =20 - if (qemu_opts_foreach(qemu_find_opts("add-fd"), - cleanup_add_fd, NULL, NULL)) { - exit(1); - } + qemu_opts_foreach(qemu_find_opts("add-fd"), + cleanup_add_fd, NULL, &error_fatal); #endif =20 current_machine =3D MACHINE(object_new(object_class_get_name( --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 15390204241971011.9886524482171; Mon, 8 Oct 2018 10:40:24 -0700 (PDT) Received: from localhost ([::1]:47519 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZVu-0002o1-PC for importer@patchew.org; Mon, 08 Oct 2018 13:40:14 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41269) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNd-0005AL-JT for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005lw-I5 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59690) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNY-0005iX-Ru for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0BA6DC0BFBC4 for ; Mon, 8 Oct 2018 17:31:31 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A71C02010D97; Mon, 8 Oct 2018 17:31:30 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 8704F114168F; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:12 +0200 Message-Id: <20181008173125.19678-19-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.25 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Mon, 08 Oct 2018 17:31:31 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 18/31] qom: Clean up error reporting in user_creatable_add_opts_foreach() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. user_creatable_add_opts_foreach() 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. Cc: Daniel P. Berrang=C3=A9 Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- qemu-io.c | 8 +++----- qemu-nbd.c | 8 +++----- qom/object_interfaces.c | 4 +--- vl.c | 16 ++++++---------- 4 files changed, 13 insertions(+), 23 deletions(-) diff --git a/qemu-io.c b/qemu-io.c index 13829f5e21..6df7731af4 100644 --- a/qemu-io.c +++ b/qemu-io.c @@ -620,11 +620,9 @@ int main(int argc, char **argv) exit(1); } =20 - if (qemu_opts_foreach(&qemu_object_opts, - user_creatable_add_opts_foreach, - NULL, NULL)) { - exit(1); - } + qemu_opts_foreach(&qemu_object_opts, + user_creatable_add_opts_foreach, + NULL, &error_fatal); =20 if (!trace_init_backends()) { exit(1); diff --git a/qemu-nbd.c b/qemu-nbd.c index 7874bc973c..ca7109652e 100644 --- a/qemu-nbd.c +++ b/qemu-nbd.c @@ -766,11 +766,9 @@ int main(int argc, char **argv) exit(EXIT_FAILURE); } =20 - if (qemu_opts_foreach(&qemu_object_opts, - user_creatable_add_opts_foreach, - NULL, NULL)) { - exit(EXIT_FAILURE); - } + qemu_opts_foreach(&qemu_object_opts, + user_creatable_add_opts_foreach, + NULL, &error_fatal); =20 if (!trace_init_backends()) { exit(1); diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c index 72b97a8bed..4052d6c4a7 100644 --- a/qom/object_interfaces.c +++ b/qom/object_interfaces.c @@ -143,7 +143,6 @@ int user_creatable_add_opts_foreach(void *opaque, QemuO= pts *opts, Error **errp) { bool (*type_predicate)(const char *) =3D opaque; Object *obj =3D NULL; - Error *err =3D NULL; const char *type; =20 type =3D qemu_opt_get(opts, "qom-type"); @@ -152,9 +151,8 @@ int user_creatable_add_opts_foreach(void *opaque, QemuO= pts *opts, Error **errp) return 0; } =20 - obj =3D user_creatable_add_opts(opts, &err); + obj =3D user_creatable_add_opts(opts, errp); if (!obj) { - error_report_err(err); return -1; } object_unref(obj); diff --git a/vl.c b/vl.c index 7ce8299d9d..b8576f8f10 100644 --- a/vl.c +++ b/vl.c @@ -4181,11 +4181,9 @@ int main(int argc, char **argv, char **envp) page_size_init(); socket_init(); =20 - if (qemu_opts_foreach(qemu_find_opts("object"), - user_creatable_add_opts_foreach, - object_create_initial, NULL)) { - exit(1); - } + qemu_opts_foreach(qemu_find_opts("object"), + user_creatable_add_opts_foreach, + object_create_initial, &error_fatal); =20 if (qemu_opts_foreach(qemu_find_opts("chardev"), chardev_init_func, NULL, NULL)) { @@ -4316,11 +4314,9 @@ int main(int argc, char **argv, char **envp) exit(1); } =20 - if (qemu_opts_foreach(qemu_find_opts("object"), - user_creatable_add_opts_foreach, - object_create_delayed, NULL)) { - exit(1); - } + qemu_opts_foreach(qemu_find_opts("object"), + user_creatable_add_opts_foreach, + object_create_delayed, &error_fatal); =20 if (tpm_init() < 0) { exit(1); --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 153902110303345.49103168495844; Mon, 8 Oct 2018 10:51:43 -0700 (PDT) Received: from localhost ([::1]:47582 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9Zgv-0003Ip-6x for importer@patchew.org; Mon, 08 Oct 2018 13:51:37 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41353) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNf-0005Ab-6X for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNa-0005mq-2k for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57274) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005iT-Nt for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EEF3731F404 for ; Mon, 8 Oct 2018 17:31:30 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BBF435D77C for ; Mon, 8 Oct 2018 17:31:30 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 8A74A1142039; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:13 +0200 Message-Id: <20181008173125.19678-20-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Mon, 08 Oct 2018 17:31:30 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 19/31] vl: Clean up error reporting in parse_add_fd() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. chardev_init_func() 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 --- vl.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/vl.c b/vl.c index b8576f8f10..ecb70f87d8 100644 --- a/vl.c +++ b/vl.c @@ -2239,7 +2239,7 @@ static int chardev_init_func(void *opaque, QemuOpts *= opts, Error **errp) =20 if (!qemu_chr_new_from_opts(opts, &local_err)) { if (local_err) { - error_report_err(local_err); + error_propagate(errp, local_err); return -1; } exit(0); @@ -4185,10 +4185,8 @@ int main(int argc, char **argv, char **envp) user_creatable_add_opts_foreach, object_create_initial, &error_fatal); =20 - if (qemu_opts_foreach(qemu_find_opts("chardev"), - chardev_init_func, NULL, NULL)) { - exit(1); - } + qemu_opts_foreach(qemu_find_opts("chardev"), + chardev_init_func, NULL, &error_fatal); =20 #ifdef CONFIG_VIRTFS if (qemu_opts_foreach(qemu_find_opts("fsdev"), --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020933891675.0312736846173; Mon, 8 Oct 2018 10:48:53 -0700 (PDT) Received: from localhost ([::1]:47568 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZeH-0001Oc-0h for importer@patchew.org; Mon, 08 Oct 2018 13:48:53 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41339) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNf-0005AW-0m for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNa-0005nA-GU for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60078) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNa-0005iV-4b for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:38 -0400 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 00CC2C0B2033 for ; Mon, 8 Oct 2018 17:31:31 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C39272010D99 for ; Mon, 8 Oct 2018 17:31:30 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 8DD9F114209D; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:14 +0200 Message-Id: <20181008173125.19678-21-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.25 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Mon, 08 Oct 2018 17:31:31 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 20/31] vl: Clean up error reporting in machine_set_property() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. machine_set_property() 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 --- vl.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/vl.c b/vl.c index ecb70f87d8..3adc9dbe4f 100644 --- a/vl.c +++ b/vl.c @@ -2676,7 +2676,7 @@ static int machine_set_property(void *opaque, g_free(qom_name); =20 if (local_err) { - error_report_err(local_err); + error_propagate(errp, local_err); return -1; } =20 @@ -4201,11 +4201,8 @@ int main(int argc, char **argv, char **envp) } =20 machine_opts =3D qemu_get_machine_opts(); - if (qemu_opt_foreach(machine_opts, machine_set_property, current_machi= ne, - NULL)) { - object_unref(OBJECT(current_machine)); - exit(1); - } + qemu_opt_foreach(machine_opts, machine_set_property, current_machine, + &error_fatal); =20 configure_accelerator(current_machine); =20 --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020240817462.82161271516816; Mon, 8 Oct 2018 10:37:20 -0700 (PDT) Received: from localhost ([::1]:47507 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZT0-0000Q0-Mw for importer@patchew.org; Mon, 08 Oct 2018 13:37:14 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41271) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNd-0005AM-Jb for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005lr-IG for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57282) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005ij-0N for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8E9C531F40A for ; Mon, 8 Oct 2018 17:31:31 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5D3A25C6CD for ; Mon, 8 Oct 2018 17:31:31 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 914C611420CE; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:15 +0200 Message-Id: <20181008173125.19678-22-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Mon, 08 Oct 2018 17:31:31 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 21/31] vl: Clean up error reporting in mon_init_func() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. mon_init_func() 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 --- vl.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/vl.c b/vl.c index 3adc9dbe4f..1009d708a0 100644 --- a/vl.c +++ b/vl.c @@ -2270,8 +2270,8 @@ static int mon_init_func(void *opaque, QemuOpts *opts= , Error **errp) } else if (strcmp(mode, "control") =3D=3D 0) { flags =3D MONITOR_USE_CONTROL; } else { - error_report("unknown monitor mode \"%s\"", mode); - exit(1); + error_setg(errp, "unknown monitor mode \"%s\"", mode); + return -1; } =20 if (qemu_opt_get_bool(opts, "pretty", 0)) @@ -2285,8 +2285,8 @@ static int mon_init_func(void *opaque, QemuOpts *opts= , Error **errp) chardev =3D qemu_opt_get(opts, "chardev"); chr =3D qemu_chr_find(chardev); if (chr =3D=3D NULL) { - error_report("chardev \"%s\" not found", chardev); - exit(1); + error_setg(errp, "chardev \"%s\" not found", chardev); + return -1; } =20 monitor_init(chr, flags); @@ -4365,10 +4365,8 @@ int main(int argc, char **argv, char **envp) default_drive(default_floppy, snapshot, IF_FLOPPY, 0, FD_OPTS); default_drive(default_sdcard, snapshot, IF_SD, 0, SD_OPTS); =20 - if (qemu_opts_foreach(qemu_find_opts("mon"), - mon_init_func, NULL, NULL)) { - exit(1); - } + qemu_opts_foreach(qemu_find_opts("mon"), + mon_init_func, NULL, &error_fatal); =20 if (foreach_device_config(DEV_SERIAL, serial_parse) < 0) exit(1); --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539021493039793.3303105000882; Mon, 8 Oct 2018 10:58:13 -0700 (PDT) Received: from localhost ([::1]:47618 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZnE-00081P-2y for importer@patchew.org; Mon, 08 Oct 2018 13:58:08 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41379) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNf-0005Ae-TR for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNb-0005o0-42 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:47098) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNa-0005il-Ib for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:38 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 937DC317C24C for ; Mon, 8 Oct 2018 17:31:31 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 605C517A67 for ; Mon, 8 Oct 2018 17:31:31 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 94AE3114D2E7; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:16 +0200 Message-Id: <20181008173125.19678-23-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.41]); Mon, 08 Oct 2018 17:31:31 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 22/31] vl: Clean up error reporting in parse_fw_cfg() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 --- 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 =3D (FWCfgState *) opaque; =20 if (fw_cfg =3D=3D NULL) { - error_report("fw_cfg device not available"); + error_setg(errp, "fw_cfg device not available"); return -1; } name =3D qemu_opt_get(opts, "name"); @@ -2183,15 +2183,16 @@ static int parse_fw_cfg(void *opaque, QemuOpts *opt= s, Error **errp) =20 /* 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) !=3D 0) { @@ -2203,7 +2204,7 @@ static int parse_fw_cfg(void *opaque, QemuOpts *opts,= Error **errp) buf =3D 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(); } =20 - if (qemu_opts_foreach(qemu_find_opts("fw_cfg"), - parse_fw_cfg, fw_cfg_find(), NULL) !=3D 0) { - exit(1); - } + qemu_opts_foreach(qemu_find_opts("fw_cfg"), + parse_fw_cfg, fw_cfg_find(), &error_fatal); =20 /* init USB devices */ if (machine_usb(current_machine)) { --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020057514534.1391361285062; Mon, 8 Oct 2018 10:34:17 -0700 (PDT) Received: from localhost ([::1]:47487 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZQ0-0006T1-U8 for importer@patchew.org; Mon, 08 Oct 2018 13:34:08 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41251) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNd-0005AG-4K for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNY-0005kk-HR for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:37332) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNY-0005in-4d for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:36 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B6910C7C11 for ; Mon, 8 Oct 2018 17:31:31 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 856B910021B2 for ; Mon, 8 Oct 2018 17:31:31 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 982001153BCB; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:17 +0200 Message-Id: <20181008173125.19678-24-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Mon, 08 Oct 2018 17:31:31 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 23/31] vl: Clean up error reporting in device_init_func() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. device_init_func() 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 --- vl.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/vl.c b/vl.c index a3a39ec06b..86eee4c798 100644 --- a/vl.c +++ b/vl.c @@ -2222,12 +2222,10 @@ static int device_help_func(void *opaque, QemuOpts = *opts, Error **errp) =20 static int device_init_func(void *opaque, QemuOpts *opts, Error **errp) { - Error *err =3D NULL; DeviceState *dev; =20 - dev =3D qdev_device_add(opts, &err); + dev =3D qdev_device_add(opts, errp); if (!dev) { - error_report_err(err); return -1; } object_unref(OBJECT(dev)); @@ -4444,10 +4442,8 @@ int main(int argc, char **argv, char **envp) =20 /* init generic devices */ rom_set_order_override(FW_CFG_ORDER_OVERRIDE_DEVICE); - if (qemu_opts_foreach(qemu_find_opts("device"), - device_init_func, NULL, NULL)) { - exit(1); - } + qemu_opts_foreach(qemu_find_opts("device"), + device_init_func, NULL, &error_fatal); =20 cpu_synchronize_all_post_init(); =20 --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 153902042597927.113540632728473; Mon, 8 Oct 2018 10:40:25 -0700 (PDT) Received: from localhost ([::1]:47520 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZVv-0002p3-Te for importer@patchew.org; Mon, 08 Oct 2018 13:40:16 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41257) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNd-0005AH-Ay for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005m3-IJ for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49842) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNY-0005jY-VE for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3CF1EB9A69 for ; Mon, 8 Oct 2018 17:31:35 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 889FC65953; Mon, 8 Oct 2018 17:31:31 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 9B9A91156105; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:18 +0200 Message-Id: <20181008173125.19678-25-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Mon, 08 Oct 2018 17:31:35 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 24/31] vl: Clean up error reporting in vnc_init_func() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. vnc_init_func() 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. Cc: Gerd Hoffmann Signed-off-by: Markus Armbruster --- ui/vnc.c | 5 +++-- vl.c | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ui/vnc.c b/ui/vnc.c index cf221c83cc..df6c84b802 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -4082,8 +4082,9 @@ int vnc_init_func(void *opaque, QemuOpts *opts, Error= **errp) vnc_display_init(id); vnc_display_open(id, &local_err); if (local_err !=3D NULL) { - error_reportf_err(local_err, "Failed to start VNC server: "); - exit(1); + error_propagate(errp, local_err); + error_prepend(errp, "Failed to start VNC server: "); + return -1; } return 0; } diff --git a/vl.c b/vl.c index 86eee4c798..5c159ca45c 100644 --- a/vl.c +++ b/vl.c @@ -4479,7 +4479,7 @@ int main(int argc, char **argv, char **envp) /* init remote displays */ #ifdef CONFIG_VNC qemu_opts_foreach(qemu_find_opts("vnc"), - vnc_init_func, NULL, NULL); + vnc_init_func, NULL, &error_fatal); #endif =20 if (using_spice) { --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539021376928470.205511115787; Mon, 8 Oct 2018 10:56:16 -0700 (PDT) Received: from localhost ([::1]:47611 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZlP-0006sc-UX for importer@patchew.org; Mon, 08 Oct 2018 13:56:15 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41398) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNg-0005Ak-9C for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNb-0005oG-Ad for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:37958) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNa-0005iu-Lt for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:38 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3C6843006044 for ; Mon, 8 Oct 2018 17:31:32 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 06480612B5; Mon, 8 Oct 2018 17:31:32 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 9F17711562E4; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:19 +0200 Message-Id: <20181008173125.19678-26-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Mon, 08 Oct 2018 17:31:32 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 25/31] numa: Clean up error reporting in parse_numa() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. parse_numa() 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. While there, give parse_numa() internal linkage. Cc: Eduardo Habkost Signed-off-by: Markus Armbruster Reviewed-by: Eduardo Habkost --- include/sysemu/numa.h | 1 - numa.c | 8 +++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/include/sysemu/numa.h b/include/sysemu/numa.h index 7a0ae751aa..21713b7e2f 100644 --- a/include/sysemu/numa.h +++ b/include/sysemu/numa.h @@ -22,7 +22,6 @@ struct NumaNodeMem { }; =20 extern NodeInfo numa_info[MAX_NODES]; -int parse_numa(void *opaque, QemuOpts *opts, Error **errp); void parse_numa_opts(MachineState *ms); void numa_complete_configuration(MachineState *ms); void query_numa_node_mem(NumaNodeMem node_mem[]); diff --git a/numa.c b/numa.c index 1d7c49ad43..50ec016013 100644 --- a/numa.c +++ b/numa.c @@ -215,7 +215,7 @@ end: error_propagate(errp, err); } =20 -int parse_numa(void *opaque, QemuOpts *opts, Error **errp) +static int parse_numa(void *opaque, QemuOpts *opts, Error **errp) { NumaOptions *object =3D NULL; MachineState *ms =3D MACHINE(opaque); @@ -239,7 +239,7 @@ int parse_numa(void *opaque, QemuOpts *opts, Error **er= rp) end: qapi_free_NumaOptions(object); if (err) { - error_report_err(err); + error_propagate(errp, err); return -1; } =20 @@ -444,9 +444,7 @@ void numa_complete_configuration(MachineState *ms) =20 void parse_numa_opts(MachineState *ms) { - if (qemu_opts_foreach(qemu_find_opts("numa"), parse_numa, ms, NULL)) { - exit(1); - } + qemu_opts_foreach(qemu_find_opts("numa"), parse_numa, ms, &error_fatal= ); } =20 void qmp_set_numa_node(NumaOptions *cmd, Error **errp) --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020057614189.8625101330556; Mon, 8 Oct 2018 10:34:17 -0700 (PDT) Received: from localhost ([::1]:47486 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZPz-0006SM-4B for importer@patchew.org; Mon, 08 Oct 2018 13:34:07 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41249) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNd-0005AE-47 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005lD-9V for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:40 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59692) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNY-0005j2-No for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6A11FC0BFBC9; Mon, 8 Oct 2018 17:31:32 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0ED401A7E9; Mon, 8 Oct 2018 17:31:32 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id A33C711562E9; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:20 +0200 Message-Id: <20181008173125.19678-27-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Mon, 08 Oct 2018 17:31:32 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 26/31] tpm: Clean up error reporting in tpm_init_tpmdev() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Stefan Berger Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. tpm_init_tpmdev() does that, and then fails without setting an error. Its caller main(), via tpm_init() and qemu_opts_foreach(), is fine with it, but clean it up anyway. Cc: Stefan Berger Signed-off-by: Markus Armbruster --- include/sysemu/tpm.h | 2 +- stubs/tpm.c | 3 +-- tpm.c | 22 +++++++++------------- vl.c | 4 +--- 4 files changed, 12 insertions(+), 19 deletions(-) diff --git a/include/sysemu/tpm.h b/include/sysemu/tpm.h index 9ae1ab6da3..17a97ed77a 100644 --- a/include/sysemu/tpm.h +++ b/include/sysemu/tpm.h @@ -16,7 +16,7 @@ #include "qom/object.h" =20 int tpm_config_parse(QemuOptsList *opts_list, const char *optarg); -int tpm_init(void); +void tpm_init(void); void tpm_cleanup(void); =20 typedef enum TPMVersion { diff --git a/stubs/tpm.c b/stubs/tpm.c index 6729bc8517..80939cd3db 100644 --- a/stubs/tpm.c +++ b/stubs/tpm.c @@ -9,9 +9,8 @@ #include "qapi/qapi-commands-tpm.h" #include "sysemu/tpm.h" =20 -int tpm_init(void) +void tpm_init(void) { - return 0; } =20 void tpm_cleanup(void) diff --git a/tpm.c b/tpm.c index 93031723ad..9c9e20bbb7 100644 --- a/tpm.c +++ b/tpm.c @@ -89,19 +89,19 @@ static int tpm_init_tpmdev(void *dummy, QemuOpts *opts,= Error **errp) int i; =20 if (!QLIST_EMPTY(&tpm_backends)) { - error_report("Only one TPM is allowed."); + error_setg(errp, "Only one TPM is allowed."); return 1; } =20 id =3D qemu_opts_id(opts); if (id =3D=3D NULL) { - error_report(QERR_MISSING_PARAMETER, "id"); + error_setg(errp, QERR_MISSING_PARAMETER, "id"); return 1; } =20 value =3D qemu_opt_get(opts, "type"); if (!value) { - error_report(QERR_MISSING_PARAMETER, "type"); + error_setg(errp, QERR_MISSING_PARAMETER, "type"); tpm_display_backend_drivers(); return 1; } @@ -109,8 +109,8 @@ static int tpm_init_tpmdev(void *dummy, QemuOpts *opts,= Error **errp) i =3D qapi_enum_parse(&TpmType_lookup, value, -1, NULL); be =3D i >=3D 0 ? tpm_be_find_by_type(i) : NULL; if (be =3D=3D NULL) { - error_report(QERR_INVALID_PARAMETER_VALUE, - "type", "a TPM backend type"); + error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "type", + "a TPM backend type"); tpm_display_backend_drivers(); return 1; } @@ -118,7 +118,7 @@ static int tpm_init_tpmdev(void *dummy, QemuOpts *opts,= Error **errp) /* validate backend specific opts */ qemu_opts_validate(opts, be->opts, &local_err); if (local_err) { - error_report_err(local_err); + error_propagate(errp, local_err); return 1; } =20 @@ -151,14 +151,10 @@ void tpm_cleanup(void) * Initialize the TPM. Process the tpmdev command line options describing = the * TPM backend. */ -int tpm_init(void) +void tpm_init(void) { - if (qemu_opts_foreach(qemu_find_opts("tpmdev"), - tpm_init_tpmdev, NULL, NULL)) { - return -1; - } - - return 0; + qemu_opts_foreach(qemu_find_opts("tpmdev"), + tpm_init_tpmdev, NULL, &error_fatal); } =20 /* diff --git a/vl.c b/vl.c index 5c159ca45c..b6f9212f09 100644 --- a/vl.c +++ b/vl.c @@ -4312,9 +4312,7 @@ int main(int argc, char **argv, char **envp) user_creatable_add_opts_foreach, object_create_delayed, &error_fatal); =20 - if (tpm_init() < 0) { - exit(1); - } + tpm_init(); =20 /* init the bluetooth world */ if (foreach_device_config(DEV_BT, bt_parse)) --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020596090407.0234275586504; Mon, 8 Oct 2018 10:43:16 -0700 (PDT) Received: from localhost ([::1]:47539 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZYp-0005Ld-3H for importer@patchew.org; Mon, 08 Oct 2018 13:43:15 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41343) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNf-0005AX-33 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNa-0005n4-Cq for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57292) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005ja-UZ for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:38 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 908D331F40B for ; Mon, 8 Oct 2018 17:31:35 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 100B12A186; Mon, 8 Oct 2018 17:31:32 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id A6B0D11562F4; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:21 +0200 Message-Id: <20181008173125.19678-28-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Mon, 08 Oct 2018 17:31:35 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 27/31] spice: Clean up error reporting in add_channel() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() in a function that takes an Error ** argument is suspicious. add_channel() does that, and then exit()s. Its caller main(), via qemu_opts_foreach(), is fine with it, but clean it up anyway. Cc: Gerd Hoffmann Signed-off-by: Markus Armbruster --- ui/spice-core.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/ui/spice-core.c b/ui/spice-core.c index a4fbbc3898..ebaae24643 100644 --- a/ui/spice-core.c +++ b/ui/spice-core.c @@ -597,9 +597,9 @@ static int add_channel(void *opaque, const char *name, = const char *value, if (strcmp(name, "tls-channel") =3D=3D 0) { int *tls_port =3D opaque; if (!*tls_port) { - error_report("spice: tried to setup tls-channel" - " without specifying a TLS port"); - exit(1); + error_setg(errp, "spice: tried to setup tls-channel" + " without specifying a TLS port"); + return -1; } security =3D SPICE_CHANNEL_SECURITY_SSL; } @@ -615,8 +615,9 @@ static int add_channel(void *opaque, const char *name, = const char *value, rc =3D spice_server_set_channel_security(spice_server, value, secu= rity); } if (rc !=3D 0) { - error_report("spice: failed to set channel security for %s", value= ); - exit(1); + error_setg(errp, "spice: failed to set channel security for %s", + value); + return -1; } return 0; } @@ -787,7 +788,7 @@ void qemu_spice_init(void) spice_server_set_playback_compression (spice_server, qemu_opt_get_bool(opts, "playback-compression", 1)); =20 - qemu_opt_foreach(opts, add_channel, &tls_port, NULL); + qemu_opt_foreach(opts, add_channel, &tls_port, &error_fatal); =20 spice_server_set_name(spice_server, qemu_name); spice_server_set_uuid(spice_server, (unsigned char *)&qemu_uuid); --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539021109447685.4479922007515; Mon, 8 Oct 2018 10:51:49 -0700 (PDT) Received: from localhost ([::1]:47584 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9Zh5-0003P0-Jn for importer@patchew.org; Mon, 08 Oct 2018 13:51:47 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41338) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNf-0005AV-0T for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005lJ-AV for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39308) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNY-0005j4-OZ for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6D2C030DDBDC; Mon, 8 Oct 2018 17:31:32 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 12B5D10021B2; Mon, 8 Oct 2018 17:31:32 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id AA17E1156355; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:22 +0200 Message-Id: <20181008173125.19678-29-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.45]); Mon, 08 Oct 2018 17:31:32 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 28/31] fsdev: Clean up error reporting in qemu_fsdev_add() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Greg Kurz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() from within a a function that takes an Error ** argument is suspicious. qemu_fsdev_add() does that, and its caller fsdev_init_func() then fails without setting an error. Its caller main(), via qemu_opts_foreach(), is fine with it, but clean it up anyway. Cc: Greg Kurz Signed-off-by: Markus Armbruster --- fsdev/qemu-fsdev-dummy.c | 2 +- fsdev/qemu-fsdev.c | 12 +++++------- fsdev/qemu-fsdev.h | 2 +- hw/9pfs/xen-9p-backend.c | 7 ++++++- vl.c | 8 +++----- 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/fsdev/qemu-fsdev-dummy.c b/fsdev/qemu-fsdev-dummy.c index 6dc0fbc4c4..489cd29081 100644 --- a/fsdev/qemu-fsdev-dummy.c +++ b/fsdev/qemu-fsdev-dummy.c @@ -15,7 +15,7 @@ #include "qemu/config-file.h" #include "qemu/module.h" =20 -int qemu_fsdev_add(QemuOpts *opts) +int qemu_fsdev_add(QemuOpts *opts, Error **errp) { return 0; } diff --git a/fsdev/qemu-fsdev.c b/fsdev/qemu-fsdev.c index 8a4afbffbd..7a3b87cc9e 100644 --- a/fsdev/qemu-fsdev.c +++ b/fsdev/qemu-fsdev.c @@ -30,7 +30,7 @@ static FsDriverTable FsDrivers[] =3D { { .name =3D "proxy", .ops =3D &proxy_ops}, }; =20 -int qemu_fsdev_add(QemuOpts *opts) +int qemu_fsdev_add(QemuOpts *opts, Error **errp) { int i; struct FsDriverListEntry *fsle; @@ -38,10 +38,9 @@ int qemu_fsdev_add(QemuOpts *opts) const char *fsdriver =3D qemu_opt_get(opts, "fsdriver"); const char *writeout =3D qemu_opt_get(opts, "writeout"); bool ro =3D qemu_opt_get_bool(opts, "readonly", 0); - Error *local_err =3D NULL; =20 if (!fsdev_id) { - error_report("fsdev: No id specified"); + error_setg(errp, "fsdev: No id specified"); return -1; } =20 @@ -53,11 +52,11 @@ int qemu_fsdev_add(QemuOpts *opts) } =20 if (i =3D=3D ARRAY_SIZE(FsDrivers)) { - error_report("fsdev: fsdriver %s not found", fsdriver); + error_setg(errp, "fsdev: fsdriver %s not found", fsdriver); return -1; } } else { - error_report("fsdev: No fsdriver specified"); + error_setg(errp, "fsdev: No fsdriver specified"); return -1; } =20 @@ -76,8 +75,7 @@ int qemu_fsdev_add(QemuOpts *opts) } =20 if (fsle->fse.ops->parse_opts) { - if (fsle->fse.ops->parse_opts(opts, &fsle->fse, &local_err)) { - error_report_err(local_err); + if (fsle->fse.ops->parse_opts(opts, &fsle->fse, errp)) { g_free(fsle->fse.fsdev_id); g_free(fsle); return -1; diff --git a/fsdev/qemu-fsdev.h b/fsdev/qemu-fsdev.h index 65e4b1cfab..d9716b4144 100644 --- a/fsdev/qemu-fsdev.h +++ b/fsdev/qemu-fsdev.h @@ -38,7 +38,7 @@ typedef struct FsDriverListEntry { QTAILQ_ENTRY(FsDriverListEntry) next; } FsDriverListEntry; =20 -int qemu_fsdev_add(QemuOpts *opts); +int qemu_fsdev_add(QemuOpts *opts, Error **errp); FsDriverEntry *get_fsdev_fsentry(char *id); extern FileOperations local_ops; extern FileOperations handle_ops; diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c index 6026780f95..3f54a21c76 100644 --- a/hw/9pfs/xen-9p-backend.c +++ b/hw/9pfs/xen-9p-backend.c @@ -14,6 +14,7 @@ #include "hw/9pfs/9p.h" #include "hw/xen/xen_backend.h" #include "hw/9pfs/xen-9pfs.h" +#include "qapi/error.h" #include "qemu/config-file.h" #include "qemu/option.h" #include "fsdev/qemu-fsdev.h" @@ -355,6 +356,7 @@ static int xen_9pfs_free(struct XenDevice *xendev) =20 static int xen_9pfs_connect(struct XenDevice *xendev) { + Error *err =3D NULL; int i; Xen9pfsDev *xen_9pdev =3D container_of(xendev, Xen9pfsDev, xendev); V9fsState *s =3D &xen_9pdev->state; @@ -452,7 +454,10 @@ static int xen_9pfs_connect(struct XenDevice *xendev) qemu_opt_set(fsdev, "path", xen_9pdev->path, NULL); qemu_opt_set(fsdev, "security_model", xen_9pdev->security_model, NULL); qemu_opts_set_id(fsdev, s->fsconf.fsdev_id); - qemu_fsdev_add(fsdev); + qemu_fsdev_add(fsdev, &err); + if (err) { + error_report_err(err); + } v9fs_device_realize_common(s, &xen_9p_transport, NULL); =20 return 0; diff --git a/vl.c b/vl.c index b6f9212f09..4aa976c4cc 100644 --- a/vl.c +++ b/vl.c @@ -2249,7 +2249,7 @@ static int chardev_init_func(void *opaque, QemuOpts *= opts, Error **errp) #ifdef CONFIG_VIRTFS static int fsdev_init_func(void *opaque, QemuOpts *opts, Error **errp) { - return qemu_fsdev_add(opts); + return qemu_fsdev_add(opts, errp); } #endif =20 @@ -4188,10 +4188,8 @@ int main(int argc, char **argv, char **envp) chardev_init_func, NULL, &error_fatal); =20 #ifdef CONFIG_VIRTFS - if (qemu_opts_foreach(qemu_find_opts("fsdev"), - fsdev_init_func, NULL, NULL)) { - exit(1); - } + qemu_opts_foreach(qemu_find_opts("fsdev"), + fsdev_init_func, NULL, &error_fatal); #endif =20 if (qemu_opts_foreach(qemu_find_opts("device"), --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539020240828246.79176744450967; Mon, 8 Oct 2018 10:37:20 -0700 (PDT) Received: from localhost ([::1]:47508 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZT2-0000Qf-5Q for importer@patchew.org; Mon, 08 Oct 2018 13:37:16 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41262) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNd-0005AJ-EW for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005mQ-SK for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60084) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNZ-0005j0-F2 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:37 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6C9E7C0B2A30 for ; Mon, 8 Oct 2018 17:31:32 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2321265961; Mon, 8 Oct 2018 17:31:32 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id ADA3D11564B6; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:23 +0200 Message-Id: <20181008173125.19678-30-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Mon, 08 Oct 2018 17:31:32 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 29/31] vl: Assert drive_new() does not fail in default_drive() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Max Reitz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" If creating (empty) default drives fails, it's a bug. Therefore, assert() is more appropriate than exit(1). Cc: Kevin Wolf Cc: Max Reitz Signed-off-by: Markus Armbruster --- vl.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/vl.c b/vl.c index 4aa976c4cc..0d25956b2f 100644 --- a/vl.c +++ b/vl.c @@ -1156,9 +1156,7 @@ static void default_drive(int enable, int snapshot, B= lockInterfaceType type, } =20 dinfo =3D drive_new(opts, type); - if (!dinfo) { - exit(1); - } + assert(dinfo); dinfo->is_default =3D true; =20 } --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1539021562132280.584159032955; Mon, 8 Oct 2018 10:59:22 -0700 (PDT) Received: from localhost ([::1]:47625 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZoP-0000OC-4U for importer@patchew.org; Mon, 08 Oct 2018 13:59:21 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41413) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNg-0005Al-Ei for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNa-0005nI-Ia for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50302) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNa-0005jA-2k for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:38 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 92DD8313D683 for ; Mon, 8 Oct 2018 17:31:32 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2AA4C65964; Mon, 8 Oct 2018 17:31:32 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id B119911564DC; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:24 +0200 Message-Id: <20181008173125.19678-31-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.49]); Mon, 08 Oct 2018 17:31:32 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 30/31] blockdev: Convert drive_new() to Error X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , Max Reitz Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Calling error_report() from within a a function that takes an Error ** argument is suspicious. drive_new() does that, and its caller drive_init_func() then exit()s. Its caller main(), via qemu_opts_foreach(), is fine with it, but clean it up anyway: * Convert drive_new() to Error * Update add_init_drive() to report the error received from drive_new(). * Make main() pass &error_fatal through qemu_opts_foreach(), drive_init_func() to drive_new() * Make default_drive() pass &error_abort through qemu_opts_foreach(), drive_init_func() to drive_new() Cc: Kevin Wolf Cc: Max Reitz Signed-off-by: Markus Armbruster --- blockdev.c | 27 ++++++++++++++------------- device-hotplug.c | 5 ++++- include/sysemu/blockdev.h | 3 ++- vl.c | 11 ++++------- 4 files changed, 24 insertions(+), 22 deletions(-) diff --git a/blockdev.c b/blockdev.c index a8755bd908..574adbcb7f 100644 --- a/blockdev.c +++ b/blockdev.c @@ -759,7 +759,8 @@ QemuOptsList qemu_legacy_drive_opts =3D { }, }; =20 -DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_= type) +DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_= type, + Error **errp) { const char *value; BlockBackend *blk; @@ -808,7 +809,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterface= Type block_default_type) qemu_opt_rename(all_opts, opt_renames[i].from, opt_renames[i].to, &local_err); if (local_err) { - error_report_err(local_err); + error_propagate(errp, local_err); return NULL; } } @@ -819,7 +820,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterface= Type block_default_type) bool writethrough; =20 if (bdrv_parse_cache_mode(value, &flags, &writethrough) !=3D 0) { - error_report("invalid cache option"); + error_setg(errp, "invalid cache option"); return NULL; } =20 @@ -847,7 +848,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterface= Type block_default_type) &error_abort); qemu_opts_absorb_qdict(legacy_opts, bs_opts, &local_err); if (local_err) { - error_report_err(local_err); + error_propagate(errp, local_err); goto fail; } =20 @@ -860,7 +861,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterface= Type block_default_type) media =3D MEDIA_CDROM; read_only =3D true; } else { - error_report("'%s' invalid media", value); + error_setg(errp, "'%s' invalid media", value); goto fail; } } @@ -885,7 +886,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterface= Type block_default_type) type++) { } if (type =3D=3D IF_COUNT) { - error_report("unsupported bus type '%s'", value); + error_setg(errp, "unsupported bus type '%s'", value); goto fail; } } else { @@ -902,7 +903,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterface= Type block_default_type) =20 if (index !=3D -1) { if (bus_id !=3D 0 || unit_id !=3D -1) { - error_report("index cannot be used with bus and unit"); + error_setg(errp, "index cannot be used with bus and unit"); goto fail; } bus_id =3D drive_index_to_bus_id(type, index); @@ -921,13 +922,13 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfa= ceType block_default_type) } =20 if (max_devs && unit_id >=3D max_devs) { - error_report("unit %d too big (max is %d)", unit_id, max_devs - 1); + error_setg(errp, "unit %d too big (max is %d)", unit_id, max_devs = - 1); goto fail; } =20 if (drive_get(type, bus_id, unit_id) !=3D NULL) { - error_report("drive with bus=3D%d, unit=3D%d (index=3D%d) exists", - bus_id, unit_id, index); + error_setg(errp, "drive with bus=3D%d, unit=3D%d (index=3D%d) exis= ts", + bus_id, unit_id, index); goto fail; } =20 @@ -970,7 +971,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterface= Type block_default_type) if (werror !=3D NULL) { if (type !=3D IF_IDE && type !=3D IF_SCSI && type !=3D IF_VIRTIO && type !=3D IF_NONE) { - error_report("werror is not supported by this bus type"); + error_setg(errp, "werror is not supported by this bus type"); goto fail; } qdict_put_str(bs_opts, "werror", werror); @@ -980,7 +981,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterface= Type block_default_type) if (rerror !=3D NULL) { if (type !=3D IF_IDE && type !=3D IF_VIRTIO && type !=3D IF_SCSI && type !=3D IF_NONE) { - error_report("rerror is not supported by this bus type"); + error_setg(errp, "rerror is not supported by this bus type"); goto fail; } qdict_put_str(bs_opts, "rerror", rerror); @@ -991,7 +992,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterface= Type block_default_type) bs_opts =3D NULL; if (!blk) { if (local_err) { - error_report_err(local_err); + error_propagate(errp, local_err); } goto fail; } else { diff --git a/device-hotplug.c b/device-hotplug.c index cd427e2c76..6090d5f1e9 100644 --- a/device-hotplug.c +++ b/device-hotplug.c @@ -28,6 +28,7 @@ #include "sysemu/block-backend.h" #include "sysemu/blockdev.h" #include "qapi/qmp/qdict.h" +#include "qapi/error.h" #include "qemu/config-file.h" #include "qemu/option.h" #include "sysemu/sysemu.h" @@ -36,6 +37,7 @@ =20 static DriveInfo *add_init_drive(const char *optstr) { + Error *err =3D NULL; DriveInfo *dinfo; QemuOpts *opts; MachineClass *mc; @@ -45,8 +47,9 @@ static DriveInfo *add_init_drive(const char *optstr) return NULL; =20 mc =3D MACHINE_GET_CLASS(current_machine); - dinfo =3D drive_new(opts, mc->block_default_type); + dinfo =3D drive_new(opts, mc->block_default_type, &err); if (!dinfo) { + error_report_err(err); qemu_opts_del(opts); return NULL; } diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h index 24954b94e0..d34c4920dc 100644 --- a/include/sysemu/blockdev.h +++ b/include/sysemu/blockdev.h @@ -54,7 +54,8 @@ DriveInfo *drive_get_next(BlockInterfaceType type); QemuOpts *drive_def(const char *optstr); QemuOpts *drive_add(BlockInterfaceType type, int index, const char *file, const char *optstr); -DriveInfo *drive_new(QemuOpts *arg, BlockInterfaceType block_default_type); +DriveInfo *drive_new(QemuOpts *arg, BlockInterfaceType block_default_type, + Error **errp); =20 /* device-hotplug */ =20 diff --git a/vl.c b/vl.c index 0d25956b2f..101e0123d9 100644 --- a/vl.c +++ b/vl.c @@ -1129,7 +1129,7 @@ static int drive_init_func(void *opaque, QemuOpts *op= ts, Error **errp) { BlockInterfaceType *block_default_type =3D opaque; =20 - return drive_new(opts, *block_default_type) =3D=3D NULL; + return drive_new(opts, *block_default_type, errp) =3D=3D NULL; } =20 static int drive_enable_snapshot(void *opaque, QemuOpts *opts, Error **err= p) @@ -1155,8 +1155,7 @@ static void default_drive(int enable, int snapshot, B= lockInterfaceType type, drive_enable_snapshot(NULL, opts, NULL); } =20 - dinfo =3D drive_new(opts, type); - assert(dinfo); + dinfo =3D drive_new(opts, type, &error_abort); dinfo->is_default =3D true; =20 } @@ -4348,10 +4347,8 @@ int main(int argc, char **argv, char **envp) qemu_opts_foreach(qemu_find_opts("drive"), drive_enable_snapshot, NULL, NULL); } - if (qemu_opts_foreach(qemu_find_opts("drive"), drive_init_func, - &machine_class->block_default_type, NULL)) { - exit(1); - } + qemu_opts_foreach(qemu_find_opts("drive"), drive_init_func, + &machine_class->block_default_type, &error_fatal); =20 default_drive(default_cdrom, snapshot, machine_class->block_default_ty= pe, 2, CDROM_OPTS); --=20 2.17.1 From nobody Thu Nov 6 00:17:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 153902124865472.51336203333994; Mon, 8 Oct 2018 10:54:08 -0700 (PDT) Received: from localhost ([::1]:47596 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZjL-0005Ha-D6 for importer@patchew.org; Mon, 08 Oct 2018 13:54:07 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41349) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9ZNf-0005Aa-5d for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9ZNa-0005nN-J5 for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:37960) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9ZNa-0005iy-6U for qemu-devel@nongnu.org; Mon, 08 Oct 2018 13:31:38 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 66DFC30B844E for ; Mon, 8 Oct 2018 17:31:32 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-116-50.ams2.redhat.com [10.36.116.50]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3389717A67 for ; Mon, 8 Oct 2018 17:31:32 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id B47AC11565AA; Mon, 8 Oct 2018 19:31:25 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 8 Oct 2018 19:31:25 +0200 Message-Id: <20181008173125.19678-32-armbru@redhat.com> In-Reply-To: <20181008173125.19678-1-armbru@redhat.com> References: <20181008173125.19678-1-armbru@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Mon, 08 Oct 2018 17:31:32 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 31/31] vl: Simplify call of parse_name() X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" main() checks for parse_name() failure even though it can't actually fail. That's okay. Simplify it to check by passing &error_fatal, like the other users of qemu_opts_foreach(). Signed-off-by: Markus Armbruster --- vl.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/vl.c b/vl.c index 101e0123d9..0a76c58943 100644 --- a/vl.c +++ b/vl.c @@ -3926,10 +3926,8 @@ int main(int argc, char **argv, char **envp) } #endif =20 - if (qemu_opts_foreach(qemu_find_opts("name"), - parse_name, NULL, NULL)) { - exit(1); - } + qemu_opts_foreach(qemu_find_opts("name"), + parse_name, NULL, &error_fatal); =20 #ifndef _WIN32 qemu_opts_foreach(qemu_find_opts("add-fd"), --=20 2.17.1