From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017114; cv=none; d=zohomail.com; s=zohoarc; b=Fr11VJEDQb1js5rlayIoxzyBfcYCLCRMjQBCnNfffcGLUvXNuO1ksHvWw/vWjKRlz94xggSxGP9ylkaa5mL/S65AXgixDnEDfnAb67kFE3AsB9WJnmRNB/aB7Ocq+FLdaR/FC6V6MExtqHN0LxEMMEj4KzmDrmCaNRM9mi6G7gA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017114; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=vwaMCDVCOEqedQg67jOLGOu9cO5xJvTXXQ4rtBOA3bk=; b=NYAJVp3Qlnmcb88mGiSKHXhfSFdLm6PG/a7NkMu79oNuSWHCUzmUw3EAAR8eweW0E+8isuYvSW8Xpu/PK3JCWwX+VmH2Ktf5F+6KupssWXYnt6iew1PnsQgok3UI8jjnbEjanNb503CS5DSEK6bQ0fj+YhI6gp6vox1nt3joW+A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017114005506.27683468994803; Wed, 24 Jun 2020 09:45:14 -0700 (PDT) Received: from localhost ([::1]:45754 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8WO-0005FB-BY for importer@patchew.org; Wed, 24 Jun 2020 12:45:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51182) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8V7-0002fm-FM for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:43:53 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:23235 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8V4-00053W-Ss for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:43:53 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-35-29kwUgoSMQWLy_hR3_ne4g-1; Wed, 24 Jun 2020 12:43:47 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id A23B3804008; Wed, 24 Jun 2020 16:43:46 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5AE495D9D3; Wed, 24 Jun 2020 16:43:46 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id D6897113846D; Wed, 24 Jun 2020 18:43:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=vwaMCDVCOEqedQg67jOLGOu9cO5xJvTXXQ4rtBOA3bk=; b=LiK7WbjsFB89t50395I5YmNQUmli6KCDMJe6+W9i10nZpbMcA7L+Cio0ybdzx5mgbUbMU4 EfMfaA4WH6IZ7e4wTXf5q3FmsYY3Yb2vGQKb41Fgu+4A6LhfA0UKoIRrW+YoT4GGE/JENk 9nU+tZC+VZkcLlpwjDLzD+8wIJKSnwI= X-MC-Unique: 29kwUgoSMQWLy_hR3_ne4g-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 01/46] error: Improve examples in error.h's big comment Date: Wed, 24 Jun 2020 18:42:59 +0200 Message-Id: <20200624164344.3778251-2-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=armbru@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 01:59:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Show errp instead of &err where &err is actually unusual. Add a missing declaration. Add a second error pileup example. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Greg Kurz Reviewed-by: Vladimir Sementsov-Ogievskiy --- include/qapi/error.h | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/include/qapi/error.h b/include/qapi/error.h index ad5b6e896d..1a5ea25e12 100644 --- a/include/qapi/error.h +++ b/include/qapi/error.h @@ -16,15 +16,15 @@ * Error reporting system loosely patterned after Glib's GError. * * Create an error: - * error_setg(&err, "situation normal, all fouled up"); + * error_setg(errp, "situation normal, all fouled up"); * * Create an error and add additional explanation: - * error_setg(&err, "invalid quark"); - * error_append_hint(&err, "Valid quarks are up, down, strange, " + * error_setg(errp, "invalid quark"); + * error_append_hint(errp, "Valid quarks are up, down, strange, " * "charm, top, bottom.\n"); * * Do *not* contract this to - * error_setg(&err, "invalid quark\n" + * error_setg(errp, "invalid quark\n" // WRONG! * "Valid quarks are up, down, strange, charm, top, bottom.= "); * * Report an error to the current monitor if we have one, else stderr: @@ -108,12 +108,23 @@ * } * * Do *not* "optimize" this to + * Error *err =3D NULL; * foo(arg, &err); * bar(arg, &err); // WRONG! * if (err) { * handle the error... * } * because this may pass a non-null err to bar(). + * + * Likewise, do *not* + * Error *err =3D NULL; + * if (cond1) { + * error_setg(err, ...); + * } + * if (cond2) { + * error_setg(err, ...); // WRONG! + * } + * because this may pass a non-null err to error_setg(). */ =20 #ifndef ERROR_H --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017113; cv=none; d=zohomail.com; s=zohoarc; b=MMuqYWmvN1Idfl92dzM7da8trIGUzBE4wDbVoYrouY4tzWbvdUGa6mU4n+nWoBZBXeb13+xGju9j4+rSxjB6+e0i044RPr2AHgDIfVRNGylB370wFOMc5g+umCgw651V+trvX+ScpVnJ6X+I+hAV8lMnZ76wlm89GNbsC2ML0oQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017113; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=/iUY16+Y4OKPSUTd7Sn5YJA+VIxGZ/2x5D/1We9ZON8=; b=Hh1Q5r/eWeYSg+80CFE7lQg5v+A6XhdHj92mPViGotlMB6Zijs7G3470cShth5rIskPHBHGVmz+SOFG3nmAXZTNQD91d0sMPucKEyF3BnmzkJ2CVGfncOECmpR1XbzM2rYO+Owo9b5v9P6SfvaNPb/fJuVZNuYcuNFN44wYAOPw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017113528884.9375526611918; Wed, 24 Jun 2020 09:45:13 -0700 (PDT) Received: from localhost ([::1]:45544 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8WN-0005A7-4G for importer@patchew.org; Wed, 24 Jun 2020 12:45:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51122) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8V5-0002ci-VP for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:43:51 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:55743 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8V4-00053N-94 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:43:51 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-381-O7Du41nKPWOqoAF-B7N-Cw-1; Wed, 24 Jun 2020 12:43:47 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id A4998804016; Wed, 24 Jun 2020 16:43:46 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5B0738927C; Wed, 24 Jun 2020 16:43:46 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id D7F0D113846F; Wed, 24 Jun 2020 18:43:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017029; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/iUY16+Y4OKPSUTd7Sn5YJA+VIxGZ/2x5D/1We9ZON8=; b=dD0L+Y3omW5rQOeNcQSsg+aGwPq3CVNHHn0o+WjCGVPADYgl2KYO6G8bP4Tc+KCkFfoJhL 3SvbPiVHnK8IiytvtwFphqGMzr/j1lswzo6yEs7D86hJ35r6hrdRUiIpPcMEW6z420FkWb KIzkZUbBQhksijhVdqViXK3A9Znpg1g= X-MC-Unique: O7Du41nKPWOqoAF-B7N-Cw-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 02/46] error: Document Error API usage rules Date: Wed, 24 Jun 2020 18:43:00 +0200 Message-Id: <20200624164344.3778251-3-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 02:33:25 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) This merely codifies existing practice, with one exception: the rule advising against returning void, where existing practice is mixed. When the Error API was created, we adopted the (unwritten) rule to return void when the function returns no useful value on success, unlike GError, which recommends to return true on success and false on error then. When a function returns a distinct error value, say false, a checked call that passes the error up looks like if (!frobnicate(..., errp)) { handle the error... } When it returns void, we need Error *err =3D NULL; frobnicate(..., &err); if (err) { handle the error... error_propagate(errp, err); } Not only is this more verbose, it also creates an Error object even when @errp is null, &error_abort or &error_fatal. People got tired of the additional boilerplate, and started to ignore the unwritten rule. The result is confusion among developers about the preferred usage. The written rule will hopefully reduce the confusion. The remainder of this series will update a substantial amount of code to honor the rule. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Greg Kurz Reviewed-by: Vladimir Sementsov-Ogievskiy --- include/qapi/error.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/include/qapi/error.h b/include/qapi/error.h index 1a5ea25e12..c3d84d610a 100644 --- a/include/qapi/error.h +++ b/include/qapi/error.h @@ -15,6 +15,32 @@ /* * Error reporting system loosely patterned after Glib's GError. * + * Rules: + * + * - Functions that use Error to report errors have an Error **errp + * parameter. It should be the last parameter, except for functions + * taking variable arguments. + * + * - You may pass NULL to not receive the error, &error_abort to abort + * on error, &error_fatal to exit(1) on error, or a pointer to a + * variable containing NULL to receive the error. + * + * - The value of @errp should not affect control flow. + * + * - On success, the function should not use @errp. On failure, it + * should set a new error, e.g. with error_setg(errp, ...), or + * propagate an existing one, e.g. with error_propagate(errp, ...). + * + * - Whenever practical, also return a value that indicates success / + * failure. This can make the error checking more concise, and can + * avoid useless error object creation and destruction. Note that + * we still have many functions returning void. We recommend + * =E2=80=A2 bool-valued functions return true on success / false on fai= lure, + * =E2=80=A2 pointer-valued functions return non-null / null pointer, and + * =E2=80=A2 integer-valued functions return non-negative / negative. + * + * How to: + * * Create an error: * error_setg(errp, "situation normal, all fouled up"); * --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017478; cv=none; d=zohomail.com; s=zohoarc; b=T8J+32MXNWDrJrc9wSm6xK8CabDZQVP64bhNcXMVYccoFzHBaPofWE7mwNdPXNG7PgP9Y9e8+sDsu4ayki/CfFjPAnjtL8/LqSHHu6rcDSjg0UNgr8I85KfqGj4oaKxdGDW7Io4+xGDNn9u5Ca+0Tx0Chp5dgPrwT/mjjS34yeQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017478; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=w/27EivrxeFCKmDDGG6O4G2FkcIiWVFGynxfyd1sTS4=; b=RSfWnLpzU4nrrOwoMSAsDXZxV0963Jfp3Id1PJ1/Q8b/zRofxkc8QgdQmftsJfgJlWMiJB4Kg8uwy0GmD2DW2joxxrVfUz/v9FTC3oKz0Xm2fQrVUCX4iEphAgcMvZMoThvnYsumtmFp5GqrjqHAUFk6qfETAxK4RbsKjHDeh5k= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017478109890.5111995118937; Wed, 24 Jun 2020 09:51:18 -0700 (PDT) Received: from localhost ([::1]:38540 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8cG-0006Sb-FN for importer@patchew.org; Wed, 24 Jun 2020 12:51:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51520) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VI-0003Eq-Fw for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:04 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:23335 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8V8-00054v-CX for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:04 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-36-u44wU5flPTOBWqMxJ2g2MA-1; Wed, 24 Jun 2020 12:43:48 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 71FC7107ACCA; Wed, 24 Jun 2020 16:43:47 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5E5CD5C578; Wed, 24 Jun 2020 16:43:46 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id E0F011138470; Wed, 24 Jun 2020 18:43:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=w/27EivrxeFCKmDDGG6O4G2FkcIiWVFGynxfyd1sTS4=; b=Z2rdV1vjxVll4bcViaiwcXhJ4szvi32qC74FLh+I04y+Z8q04u1nBefrARCrUIdAEODNv3 Goip1tV3sKd+g2qv0w17YhAjgzCYbyW7z6t06nIzO5YOmYVNdouzuo6Um8GVSnCT9bkoCr VFFNV+OdgLVlBZFWcD9oNXzil9o7dZw= X-MC-Unique: u44wU5flPTOBWqMxJ2g2MA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 03/46] qdev: Smooth error checking of qdev_realize() & friends Date: Wed, 24 Jun 2020 18:43:01 +0200 Message-Id: <20200624164344.3778251-4-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=armbru@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 00:34:35 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Convert foo(..., &err); if (err) { ... } to if (!foo(..., &err)) { ... } for qdev_realize(), qdev_realize_and_unref(), qbus_realize() and their wrappers isa_realize_and_unref(), pci_realize_and_unref(), sysbus_realize(), sysbus_realize_and_unref(), usb_realize_and_unref(). Coccinelle script: @@ identifier fun =3D {isa_realize_and_unref, pci_realize_and_unref, qbus_= realize, qdev_realize, qdev_realize_and_unref, sysbus_realize, sysbus_reali= ze_and_unref, usb_realize_and_unref}; expression list args, args2; typedef Error; Error *err; identifier errp; @@ - fun(args, &err, args2); - if (err) { + if (!fun(args, errp, args2)) { ... when !=3D err - error_propagate(errp, err); ... } @@ identifier fun =3D {isa_realize_and_unref, pci_realize_and_unref, qbus_= realize, qdev_realize, qdev_realize_and_unref, sysbus_realize, sysbus_reali= ze_and_unref, usb_realize_and_unref}; expression list args, args2; typedef Error; Error *err; @@ - fun(args, &err, args2); - if (err) { + if (!fun(args, &err, args2)) { ... } Fails to convert hw/arm/armsse.c, because Coccinelle gets confused by ARMSSE being used both as typedef and function-like macro there. Convert manually. Eliminate error_propagate() that are now unnecessary. Delete @err that are now unused. Clean up whitespace. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Greg Kurz --- hw/arm/allwinner-a10.c | 21 ++----- hw/arm/armsse.c | 104 ++++++++------------------------ hw/arm/armv7m.c | 12 +--- hw/arm/aspeed_ast2600.c | 68 ++++++--------------- hw/arm/aspeed_soc.c | 60 +++++------------- hw/arm/bcm2835_peripherals.c | 60 +++++------------- hw/arm/bcm2836.c | 12 +--- hw/arm/cubieboard.c | 3 +- hw/arm/digic.c | 12 +--- hw/arm/digic_boards.c | 3 +- hw/arm/fsl-imx25.c | 44 ++++---------- hw/arm/fsl-imx31.c | 32 +++------- hw/arm/fsl-imx6.c | 48 ++++----------- hw/arm/msf2-soc.c | 21 ++----- hw/arm/nrf51_soc.c | 24 ++------ hw/arm/stm32f205_soc.c | 29 +++------ hw/arm/stm32f405_soc.c | 32 +++------- hw/arm/xlnx-zynqmp.c | 61 +++++-------------- hw/block/fdc.c | 4 +- hw/block/xen-block.c | 3 +- hw/char/serial-pci-multi.c | 5 +- hw/char/serial-pci.c | 5 +- hw/char/serial.c | 10 +-- hw/core/cpu.c | 3 +- hw/cpu/a15mpcore.c | 5 +- hw/cpu/a9mpcore.c | 21 ++----- hw/cpu/arm11mpcore.c | 17 ++---- hw/cpu/realview_mpcore.c | 9 +-- hw/display/virtio-gpu-pci.c | 6 +- hw/display/virtio-vga.c | 5 +- hw/intc/armv7m_nvic.c | 9 +-- hw/intc/pnv_xive.c | 8 +-- hw/intc/realview_gic.c | 5 +- hw/intc/spapr_xive.c | 8 +-- hw/intc/xics.c | 5 +- hw/intc/xive.c | 3 +- hw/isa/piix4.c | 5 +- hw/microblaze/xlnx-zynqmp-pmu.c | 9 +-- hw/mips/cps.c | 17 ++---- hw/misc/macio/cuda.c | 5 +- hw/misc/macio/macio.c | 25 ++------ hw/misc/macio/pmu.c | 5 +- hw/pci-host/pnv_phb3.c | 13 +--- hw/pci-host/pnv_phb4.c | 5 +- hw/pci-host/pnv_phb4_pec.c | 5 +- hw/ppc/e500.c | 5 +- hw/ppc/pnv.c | 53 ++++------------ hw/ppc/pnv_core.c | 4 +- hw/ppc/pnv_psi.c | 9 +-- hw/ppc/spapr_cpu_core.c | 3 +- hw/ppc/spapr_irq.c | 5 +- hw/riscv/opentitan.c | 9 +-- hw/riscv/sifive_e.c | 6 +- hw/riscv/sifive_u.c | 5 +- hw/s390x/event-facility.c | 13 ++-- hw/s390x/s390-pci-bus.c | 3 +- hw/s390x/sclp.c | 3 +- hw/s390x/virtio-ccw-crypto.c | 5 +- hw/s390x/virtio-ccw-rng.c | 5 +- hw/scsi/scsi-bus.c | 4 +- hw/sd/aspeed_sdhci.c | 4 +- hw/sd/ssi-sd.c | 3 +- hw/usb/bus.c | 3 +- hw/virtio/virtio-rng-pci.c | 5 +- qdev-monitor.c | 3 +- 65 files changed, 248 insertions(+), 768 deletions(-) diff --git a/hw/arm/allwinner-a10.c b/hw/arm/allwinner-a10.c index 52e0d83760..3e45aa4141 100644 --- a/hw/arm/allwinner-a10.c +++ b/hw/arm/allwinner-a10.c @@ -72,17 +72,12 @@ static void aw_a10_realize(DeviceState *dev, Error **er= rp) { AwA10State *s =3D AW_A10(dev); SysBusDevice *sysbusdev; - Error *err =3D NULL; =20 - qdev_realize(DEVICE(&s->cpu), NULL, &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->cpu), NULL, errp)) { return; } =20 - sysbus_realize(SYS_BUS_DEVICE(&s->intc), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->intc), errp)) { return; } sysbusdev =3D SYS_BUS_DEVICE(&s->intc); @@ -93,9 +88,7 @@ static void aw_a10_realize(DeviceState *dev, Error **errp) qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_FIQ)); qdev_pass_gpios(DEVICE(&s->intc), dev, NULL); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->timer), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer), errp)) { return; } sysbusdev =3D SYS_BUS_DEVICE(&s->timer); @@ -117,18 +110,14 @@ static void aw_a10_realize(DeviceState *dev, Error **= errp) qemu_check_nic_model(&nd_table[0], TYPE_AW_EMAC); qdev_set_nic_properties(DEVICE(&s->emac), &nd_table[0]); } - sysbus_realize(SYS_BUS_DEVICE(&s->emac), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->emac), errp)) { return; } sysbusdev =3D SYS_BUS_DEVICE(&s->emac); sysbus_mmio_map(sysbusdev, 0, AW_A10_EMAC_BASE); sysbus_connect_irq(sysbusdev, 0, qdev_get_gpio_in(dev, 55)); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->sata), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->sata), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->sata), 0, AW_A10_SATA_BASE); diff --git a/hw/arm/armsse.c b/hw/arm/armsse.c index e2cf43ee0b..b306d95538 100644 --- a/hw/arm/armsse.c +++ b/hw/arm/armsse.c @@ -566,9 +566,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) object_property_set_link(cpuobj, OBJECT(&s->cpu_container[i]), "memory", &error_abort); object_property_set_link(cpuobj, OBJECT(s), "idau", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(cpuobj), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(cpuobj), errp)) { return; } /* @@ -577,9 +575,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) * CPU must exist and have been parented into the cluster before * the cluster is realized. */ - qdev_realize(DEVICE(&s->cluster[i]), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->cluster[i]), NULL, errp)) { return; } =20 @@ -613,9 +609,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) error_propagate(errp, err); return; } - qdev_realize(DEVICE(splitter), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(splitter), NULL, errp)) { return; } for (cpunum =3D 0; cpunum < info->num_cpus; cpunum++) { @@ -646,9 +640,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) } =20 /* Security controller */ - sysbus_realize(SYS_BUS_DEVICE(&s->secctl), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->secctl), errp)) { return; } sbd_secctl =3D SYS_BUS_DEVICE(&s->secctl); @@ -669,9 +661,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) error_propagate(errp, err); return; } - qdev_realize(DEVICE(&s->sec_resp_splitter), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->sec_resp_splitter), NULL, errp)) { return; } dev_splitter =3D DEVICE(&s->sec_resp_splitter); @@ -693,9 +683,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) } object_property_set_link(OBJECT(&s->mpc[i]), OBJECT(&s->sram[i]), "downstream", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->mpc[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->mpc[i]), errp)) { return; } /* Map the upstream end of the MPC into the right place... */ @@ -716,9 +704,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) error_propagate(errp, err); return; } - qdev_realize(DEVICE(&s->mpc_irq_orgate), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->mpc_irq_orgate), NULL, errp)) { return; } qdev_connect_gpio_out(DEVICE(&s->mpc_irq_orgate), 0, @@ -735,9 +721,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) * map its upstream ends to the right place in the container. */ qdev_prop_set_uint32(DEVICE(&s->timer0), "pclk-frq", s->mainclk_frq); - sysbus_realize(SYS_BUS_DEVICE(&s->timer0), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer0), errp)) { return; } sysbus_connect_irq(SYS_BUS_DEVICE(&s->timer0), 0, @@ -747,9 +731,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) &error_abort); =20 qdev_prop_set_uint32(DEVICE(&s->timer1), "pclk-frq", s->mainclk_frq); - sysbus_realize(SYS_BUS_DEVICE(&s->timer1), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer1), errp)) { return; } sysbus_connect_irq(SYS_BUS_DEVICE(&s->timer1), 0, @@ -759,9 +741,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) &error_abort); =20 qdev_prop_set_uint32(DEVICE(&s->dualtimer), "pclk-frq", s->mainclk_frq= ); - sysbus_realize(SYS_BUS_DEVICE(&s->dualtimer), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->dualtimer), errp)) { return; } sysbus_connect_irq(SYS_BUS_DEVICE(&s->dualtimer), 0, @@ -785,9 +765,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) int cpunum; SysBusDevice *mhu_sbd =3D SYS_BUS_DEVICE(&s->mhu[i]); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->mhu[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->mhu[i]), errp)) { return; } port =3D g_strdup_printf("port[%d]", i + 3); @@ -812,9 +790,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) } } =20 - sysbus_realize(SYS_BUS_DEVICE(&s->apb_ppc0), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->apb_ppc0), errp)) { return; } =20 @@ -861,9 +837,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) error_propagate(errp, err); return; } - qdev_realize(DEVICE(&s->ppc_irq_orgate), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->ppc_irq_orgate), NULL, errp)) { return; } qdev_connect_gpio_out(DEVICE(&s->ppc_irq_orgate), 0, @@ -884,9 +858,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) qdev_prop_set_string(DEVICE(&s->cachectrl[i]), "name", name); g_free(name); qdev_prop_set_uint64(DEVICE(&s->cachectrl[i]), "size", 0x1000); - sysbus_realize(SYS_BUS_DEVICE(&s->cachectrl[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->cachectrl[i]), errp)) { return; } =20 @@ -902,9 +874,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) qdev_prop_set_string(DEVICE(&s->cpusecctrl[i]), "name", name); g_free(name); qdev_prop_set_uint64(DEVICE(&s->cpusecctrl[i]), "size", 0x1000= ); - sysbus_realize(SYS_BUS_DEVICE(&s->cpusecctrl[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->cpusecctrl[i]), errp)) { return; } =20 @@ -917,9 +887,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) MemoryRegion *mr; =20 qdev_prop_set_uint32(DEVICE(&s->cpuid[i]), "CPUID", i); - sysbus_realize(SYS_BUS_DEVICE(&s->cpuid[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->cpuid[i]), errp)) { return; } =20 @@ -933,9 +901,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) * 0x4002f000: S32K timer */ qdev_prop_set_uint32(DEVICE(&s->s32ktimer), "pclk-frq", S32KCLK); - sysbus_realize(SYS_BUS_DEVICE(&s->s32ktimer), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->s32ktimer), errp)) { return; } sysbus_connect_irq(SYS_BUS_DEVICE(&s->s32ktimer), 0, @@ -944,9 +910,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) object_property_set_link(OBJECT(&s->apb_ppc1), OBJECT(mr), "port[0]", &error_abort); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->apb_ppc1), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->apb_ppc1), errp)) { return; } mr =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->apb_ppc1), 0); @@ -982,9 +946,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) error_propagate(errp, err); return; } - sysbus_realize(SYS_BUS_DEVICE(&s->sysinfo), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->sysinfo), errp)) { return; } /* System information registers */ @@ -998,9 +960,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) "INITSVTOR0_RST", &error_abort); object_property_set_int(OBJECT(&s->sysctl), s->init_svtor, "INITSVTOR1_RST", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->sysctl), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->sysctl), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->sysctl), 0, 0x50021000); @@ -1033,18 +993,14 @@ static void armsse_realize(DeviceState *dev, Error *= *errp) error_propagate(errp, err); return; } - qdev_realize(DEVICE(&s->nmi_orgate), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->nmi_orgate), NULL, errp)) { return; } qdev_connect_gpio_out(DEVICE(&s->nmi_orgate), 0, qdev_get_gpio_in_named(DEVICE(&s->armv7m), "NMI"= , 0)); =20 qdev_prop_set_uint32(DEVICE(&s->s32kwatchdog), "wdogclk-frq", S32KCLK); - sysbus_realize(SYS_BUS_DEVICE(&s->s32kwatchdog), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->s32kwatchdog), errp)) { return; } sysbus_connect_irq(SYS_BUS_DEVICE(&s->s32kwatchdog), 0, @@ -1054,9 +1010,7 @@ static void armsse_realize(DeviceState *dev, Error **= errp) /* 0x40080000 .. 0x4008ffff : ARMSSE second Base peripheral region */ =20 qdev_prop_set_uint32(DEVICE(&s->nswatchdog), "wdogclk-frq", s->mainclk= _frq); - sysbus_realize(SYS_BUS_DEVICE(&s->nswatchdog), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->nswatchdog), errp)) { return; } sysbus_connect_irq(SYS_BUS_DEVICE(&s->nswatchdog), 0, @@ -1064,9 +1018,7 @@ static void armsse_realize(DeviceState *dev, Error **= errp) sysbus_mmio_map(SYS_BUS_DEVICE(&s->nswatchdog), 0, 0x40081000); =20 qdev_prop_set_uint32(DEVICE(&s->swatchdog), "wdogclk-frq", s->mainclk_= frq); - sysbus_realize(SYS_BUS_DEVICE(&s->swatchdog), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->swatchdog), errp)) { return; } sysbus_connect_irq(SYS_BUS_DEVICE(&s->swatchdog), 0, @@ -1081,9 +1033,7 @@ static void armsse_realize(DeviceState *dev, Error **= errp) error_propagate(errp, err); return; } - qdev_realize(DEVICE(splitter), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(splitter), NULL, errp)) { return; } } @@ -1128,9 +1078,7 @@ static void armsse_realize(DeviceState *dev, Error **= errp) error_propagate(errp, err); return; } - qdev_realize(DEVICE(splitter), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(splitter), NULL, errp)) { return; } =20 diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c index 3308211e9c..5d6bded386 100644 --- a/hw/arm/armv7m.c +++ b/hw/arm/armv7m.c @@ -213,16 +213,12 @@ static void armv7m_realize(DeviceState *dev, Error **= errp) s->cpu->env.nvic =3D &s->nvic; s->nvic.cpu =3D s->cpu; =20 - qdev_realize(DEVICE(s->cpu), NULL, &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(s->cpu), NULL, errp)) { return; } =20 /* Note that we must realize the NVIC after the CPU */ - sysbus_realize(SYS_BUS_DEVICE(&s->nvic), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->nvic), errp)) { return; } =20 @@ -254,9 +250,7 @@ static void armv7m_realize(DeviceState *dev, Error **er= rp) } object_property_set_link(obj, OBJECT(s->board_memory), "source-memory", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(obj), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(obj), errp)) { return; } =20 diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c index 59a7a1370b..aa02755d3f 100644 --- a/hw/arm/aspeed_ast2600.c +++ b/hw/arm/aspeed_ast2600.c @@ -259,9 +259,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) * is needed when using -kernel */ =20 - qdev_realize(DEVICE(&s->cpu[i]), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->cpu[i]), NULL, errp)) { return; } } @@ -301,17 +299,13 @@ static void aspeed_soc_ast2600_realize(DeviceState *d= ev, Error **errp) sc->memmap[ASPEED_SRAM], &s->sram); =20 /* SCU */ - sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->scu), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->scu), 0, sc->memmap[ASPEED_SCU]); =20 /* RTC */ - sysbus_realize(SYS_BUS_DEVICE(&s->rtc), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->rtc), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->rtc), 0, sc->memmap[ASPEED_RTC]); @@ -321,9 +315,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) /* Timer */ object_property_set_link(OBJECT(&s->timerctrl), OBJECT(&s->scu), "scu", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->timerctrl), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->timerctrl), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->timerctrl), 0, @@ -343,9 +335,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) /* I2C */ object_property_set_link(OBJECT(&s->i2c), OBJECT(s->dram_mr), "dram", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->i2c), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->i2c), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->i2c), 0, sc->memmap[ASPEED_I2C]); @@ -368,9 +358,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) error_propagate(errp, err); return; } - sysbus_realize(SYS_BUS_DEVICE(&s->fmc), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->fmc), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->fmc), 0, sc->memmap[ASPEED_FMC]); @@ -385,9 +373,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) "dram", &error_abort); object_property_set_int(OBJECT(&s->spi[i]), 1, "num-cs", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->spi[i]), 0, @@ -398,9 +384,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) =20 /* EHCI */ for (i =3D 0; i < sc->ehcis_num; i++) { - sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->ehci[i]), 0, @@ -410,9 +394,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) } =20 /* SDMC - SDRAM Memory Controller */ - sysbus_realize(SYS_BUS_DEVICE(&s->sdmc), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->sdmc), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->sdmc), 0, sc->memmap[ASPEED_SDMC]); @@ -423,9 +405,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) =20 object_property_set_link(OBJECT(&s->wdt[i]), OBJECT(&s->scu), "scu", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt[i]), 0, @@ -436,9 +416,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) for (i =3D 0; i < sc->macs_num; i++) { object_property_set_bool(OBJECT(&s->ftgmac100[i]), true, "aspeed", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->ftgmac100[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->ftgmac100[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->ftgmac100[i]), 0, @@ -448,9 +426,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) =20 object_property_set_link(OBJECT(&s->mii[i]), OBJECT(&s->ftgmac100[= i]), "nic", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->mii[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->mii[i]), errp)) { return; } =20 @@ -459,9 +435,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) } =20 /* XDMA */ - sysbus_realize(SYS_BUS_DEVICE(&s->xdma), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->xdma), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->xdma), 0, @@ -470,18 +444,14 @@ static void aspeed_soc_ast2600_realize(DeviceState *d= ev, Error **errp) aspeed_soc_get_irq(s, ASPEED_XDMA)); =20 /* GPIO */ - sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpio), 0, sc->memmap[ASPEED_GPIO]); sysbus_connect_irq(SYS_BUS_DEVICE(&s->gpio), 0, aspeed_soc_get_irq(s, ASPEED_GPIO)); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->gpio_1_8v), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio_1_8v), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpio_1_8v), 0, @@ -490,9 +460,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) aspeed_soc_get_irq(s, ASPEED_GPIO_1_8V)); =20 /* SDHCI */ - sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->sdhci), 0, @@ -501,9 +469,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) aspeed_soc_get_irq(s, ASPEED_SDHCI)); =20 /* eMMC */ - sysbus_realize(SYS_BUS_DEVICE(&s->emmc), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->emmc), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->emmc), 0, sc->memmap[ASPEED_EMMC]); diff --git a/hw/arm/aspeed_soc.c b/hw/arm/aspeed_soc.c index 311458aa76..6faffc13cc 100644 --- a/hw/arm/aspeed_soc.c +++ b/hw/arm/aspeed_soc.c @@ -230,9 +230,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) =20 /* CPU */ for (i =3D 0; i < sc->num_cpus; i++) { - qdev_realize(DEVICE(&s->cpu[i]), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->cpu[i]), NULL, errp)) { return; } } @@ -248,17 +246,13 @@ static void aspeed_soc_realize(DeviceState *dev, Erro= r **errp) sc->memmap[ASPEED_SRAM], &s->sram); =20 /* SCU */ - sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->scu), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->scu), 0, sc->memmap[ASPEED_SCU]); =20 /* VIC */ - sysbus_realize(SYS_BUS_DEVICE(&s->vic), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->vic), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->vic), 0, sc->memmap[ASPEED_VIC]); @@ -268,9 +262,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_FIQ)); =20 /* RTC */ - sysbus_realize(SYS_BUS_DEVICE(&s->rtc), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->rtc), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->rtc), 0, sc->memmap[ASPEED_RTC]); @@ -280,9 +272,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) /* Timer */ object_property_set_link(OBJECT(&s->timerctrl), OBJECT(&s->scu), "scu", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->timerctrl), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->timerctrl), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->timerctrl), 0, @@ -302,9 +292,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) /* I2C */ object_property_set_link(OBJECT(&s->i2c), OBJECT(s->dram_mr), "dram", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->i2c), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->i2c), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->i2c), 0, sc->memmap[ASPEED_I2C]); @@ -320,9 +308,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) error_propagate(errp, err); return; } - sysbus_realize(SYS_BUS_DEVICE(&s->fmc), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->fmc), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->fmc), 0, sc->memmap[ASPEED_FMC]); @@ -335,9 +321,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) for (i =3D 0; i < sc->spis_num; i++) { object_property_set_int(OBJECT(&s->spi[i]), 1, "num-cs", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->spi[i]), 0, @@ -348,9 +332,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) =20 /* EHCI */ for (i =3D 0; i < sc->ehcis_num; i++) { - sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->ehci[i]), 0, @@ -360,9 +342,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) } =20 /* SDMC - SDRAM Memory Controller */ - sysbus_realize(SYS_BUS_DEVICE(&s->sdmc), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->sdmc), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->sdmc), 0, sc->memmap[ASPEED_SDMC]); @@ -373,9 +353,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) =20 object_property_set_link(OBJECT(&s->wdt[i]), OBJECT(&s->scu), "scu", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt[i]), 0, @@ -386,9 +364,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) for (i =3D 0; i < sc->macs_num; i++) { object_property_set_bool(OBJECT(&s->ftgmac100[i]), true, "aspeed", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->ftgmac100[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->ftgmac100[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->ftgmac100[i]), 0, @@ -398,9 +374,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) } =20 /* XDMA */ - sysbus_realize(SYS_BUS_DEVICE(&s->xdma), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->xdma), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->xdma), 0, @@ -409,9 +383,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) aspeed_soc_get_irq(s, ASPEED_XDMA)); =20 /* GPIO */ - sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpio), 0, sc->memmap[ASPEED_GPIO]); @@ -419,9 +391,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) aspeed_soc_get_irq(s, ASPEED_GPIO)); =20 /* SDHCI */ - sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->sdhci), 0, diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index 7ffdf62067..8313410ffe 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -161,9 +161,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) } =20 /* Interrupt Controller */ - sysbus_realize(SYS_BUS_DEVICE(&s->ic), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->ic), errp)) { return; } =20 @@ -172,9 +170,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) sysbus_pass_irq(SYS_BUS_DEVICE(s), SYS_BUS_DEVICE(&s->ic)); =20 /* Sys Timer */ - sysbus_realize(SYS_BUS_DEVICE(&s->systmr), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->systmr), errp)) { return; } memory_region_add_subregion(&s->peri_mr, ST_OFFSET, @@ -185,9 +181,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) =20 /* UART0 */ qdev_prop_set_chr(DEVICE(&s->uart0), "chardev", serial_hd(0)); - sysbus_realize(SYS_BUS_DEVICE(&s->uart0), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart0), errp)) { return; } =20 @@ -200,9 +194,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) /* AUX / UART1 */ qdev_prop_set_chr(DEVICE(&s->aux), "chardev", serial_hd(1)); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->aux), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->aux), errp)) { return; } =20 @@ -213,9 +205,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) INTERRUPT_AUX)); =20 /* Mailboxes */ - sysbus_realize(SYS_BUS_DEVICE(&s->mboxes), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->mboxes), errp)) { return; } =20 @@ -239,9 +229,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) return; } =20 - sysbus_realize(SYS_BUS_DEVICE(&s->fb), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->fb), errp)) { return; } =20 @@ -251,9 +239,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) qdev_get_gpio_in(DEVICE(&s->mboxes), MBOX_CHAN_FB)); =20 /* Property channel */ - sysbus_realize(SYS_BUS_DEVICE(&s->property), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->property), errp)) { return; } =20 @@ -264,9 +250,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) qdev_get_gpio_in(DEVICE(&s->mboxes), MBOX_CHAN_PROPE= RTY)); =20 /* Random Number Generator */ - sysbus_realize(SYS_BUS_DEVICE(&s->rng), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->rng), errp)) { return; } =20 @@ -289,9 +273,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) &error_abort); object_property_set_bool(OBJECT(&s->sdhci), true, "pending-insert-quir= k", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), errp)) { return; } =20 @@ -302,9 +284,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) INTERRUPT_ARASANSDIO)); =20 /* SDHOST */ - sysbus_realize(SYS_BUS_DEVICE(&s->sdhost), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->sdhost), errp)) { return; } =20 @@ -315,9 +295,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) INTERRUPT_SDIO)); =20 /* DMA Channels */ - sysbus_realize(SYS_BUS_DEVICE(&s->dma), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->dma), errp)) { return; } =20 @@ -334,18 +312,14 @@ static void bcm2835_peripherals_realize(DeviceState *= dev, Error **errp) } =20 /* THERMAL */ - sysbus_realize(SYS_BUS_DEVICE(&s->thermal), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->thermal), errp)) { return; } memory_region_add_subregion(&s->peri_mr, THERMAL_OFFSET, sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->thermal), 0)); =20 /* GPIO */ - sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio), errp)) { return; } =20 @@ -355,9 +329,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) object_property_add_alias(OBJECT(s), "sd-bus", OBJECT(&s->gpio), "sd-b= us"); =20 /* Mphi */ - sysbus_realize(SYS_BUS_DEVICE(&s->mphi), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->mphi), errp)) { return; } =20 @@ -368,9 +340,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) INTERRUPT_HOSTPORT)); =20 /* DWC2 */ - sysbus_realize(SYS_BUS_DEVICE(&s->dwc2), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->dwc2), errp)) { return; } =20 diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index ed1793f7b7..51d156f0c5 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -86,9 +86,7 @@ static void bcm2836_realize(DeviceState *dev, Error **err= p) =20 object_property_add_const_link(OBJECT(&s->peripherals), "ram", obj); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->peripherals), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->peripherals), errp)) { return; } =20 @@ -99,9 +97,7 @@ static void bcm2836_realize(DeviceState *dev, Error **err= p) info->peri_base, 1); =20 /* bcm2836 interrupt controller (and mailboxes, etc.) */ - sysbus_realize(SYS_BUS_DEVICE(&s->control), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->control), errp)) { return; } =20 @@ -133,9 +129,7 @@ static void bcm2836_realize(DeviceState *dev, Error **e= rrp) return; } =20 - qdev_realize(DEVICE(&s->cpu[n].core), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->cpu[n].core), NULL, errp)) { return; } =20 diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index 5cbd115c53..c720e24ced 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -80,8 +80,7 @@ static void cubieboard_init(MachineState *machine) exit(1); } =20 - qdev_realize(DEVICE(a10), NULL, &err); - if (err !=3D NULL) { + if (!qdev_realize(DEVICE(a10), NULL, &err)) { error_reportf_err(err, "Couldn't realize Allwinner A10: "); exit(1); } diff --git a/hw/arm/digic.c b/hw/arm/digic.c index 13a83f7430..9fbb2258c9 100644 --- a/hw/arm/digic.c +++ b/hw/arm/digic.c @@ -62,16 +62,12 @@ static void digic_realize(DeviceState *dev, Error **err= p) return; } =20 - qdev_realize(DEVICE(&s->cpu), NULL, &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->cpu), NULL, errp)) { return; } =20 for (i =3D 0; i < DIGIC4_NB_TIMERS; i++) { - sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), errp)) { return; } =20 @@ -80,9 +76,7 @@ static void digic_realize(DeviceState *dev, Error **errp) } =20 qdev_prop_set_chr(DEVICE(&s->uart), "chardev", serial_hd(0)); - sysbus_realize(SYS_BUS_DEVICE(&s->uart), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart), errp)) { return; } =20 diff --git a/hw/arm/digic_boards.c b/hw/arm/digic_boards.c index b6452d918c..d5524d3e72 100644 --- a/hw/arm/digic_boards.c +++ b/hw/arm/digic_boards.c @@ -62,8 +62,7 @@ static void digic4_board_init(MachineState *machine, Digi= cBoard *board) exit(EXIT_FAILURE); } =20 - qdev_realize(DEVICE(s), NULL, &err); - if (err !=3D NULL) { + if (!qdev_realize(DEVICE(s), NULL, &err)) { error_reportf_err(err, "Couldn't realize DIGIC SoC: "); exit(1); } diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c index 7ab5c98fbe..f5418c8c12 100644 --- a/hw/arm/fsl-imx25.c +++ b/hw/arm/fsl-imx25.c @@ -85,15 +85,11 @@ static void fsl_imx25_realize(DeviceState *dev, Error *= *errp) uint8_t i; Error *err =3D NULL; =20 - qdev_realize(DEVICE(&s->cpu), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->cpu), NULL, errp)) { return; } =20 - sysbus_realize(SYS_BUS_DEVICE(&s->avic), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->avic), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->avic), 0, FSL_IMX25_AVIC_ADDR); @@ -102,9 +98,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **= errp) sysbus_connect_irq(SYS_BUS_DEVICE(&s->avic), 1, qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_FIQ)); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->ccm), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->ccm), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->ccm), 0, FSL_IMX25_CCM_ADDR); @@ -124,9 +118,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error *= *errp) =20 qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i)); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->uart[i]), 0, serial_table[i].ad= dr); @@ -149,9 +141,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error *= *errp) =20 s->gpt[i].ccm =3D IMX_CCM(&s->ccm); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->gpt[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpt[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpt[i]), 0, gpt_table[i].addr); @@ -172,9 +162,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error *= *errp) =20 s->epit[i].ccm =3D IMX_CCM(&s->ccm); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->epit[i]), 0, epit_table[i].addr= ); @@ -185,18 +173,14 @@ static void fsl_imx25_realize(DeviceState *dev, Error= **errp) =20 qdev_set_nic_properties(DEVICE(&s->fec), &nd_table[0]); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->fec), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->fec), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->fec), 0, FSL_IMX25_FEC_ADDR); sysbus_connect_irq(SYS_BUS_DEVICE(&s->fec), 0, qdev_get_gpio_in(DEVICE(&s->avic), FSL_IMX25_FEC_IR= Q)); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->rngc), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->rngc), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->rngc), 0, FSL_IMX25_RNGC_ADDR); @@ -214,9 +198,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error *= *errp) { FSL_IMX25_I2C3_ADDR, FSL_IMX25_I2C3_IRQ } }; =20 - sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->i2c[i]), 0, i2c_table[i].addr); @@ -237,9 +219,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error *= *errp) { FSL_IMX25_GPIO4_ADDR, FSL_IMX25_GPIO4_IRQ } }; =20 - sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpio[i]), 0, gpio_table[i].addr= ); @@ -267,9 +247,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error *= *errp) object_property_set_uint(OBJECT(&s->esdhc[i]), SDHCI_VENDOR_IMX, "vendor", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->esdhc[i]), 0, esdhc_table[i].ad= dr); diff --git a/hw/arm/fsl-imx31.c b/hw/arm/fsl-imx31.c index 42cca529c3..8326f5ff81 100644 --- a/hw/arm/fsl-imx31.c +++ b/hw/arm/fsl-imx31.c @@ -66,15 +66,11 @@ static void fsl_imx31_realize(DeviceState *dev, Error *= *errp) uint16_t i; Error *err =3D NULL; =20 - qdev_realize(DEVICE(&s->cpu), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->cpu), NULL, errp)) { return; } =20 - sysbus_realize(SYS_BUS_DEVICE(&s->avic), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->avic), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->avic), 0, FSL_IMX31_AVIC_ADDR); @@ -83,9 +79,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **e= rrp) sysbus_connect_irq(SYS_BUS_DEVICE(&s->avic), 1, qdev_get_gpio_in(DEVICE(&s->cpu), ARM_CPU_FIQ)); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->ccm), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->ccm), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->ccm), 0, FSL_IMX31_CCM_ADDR); @@ -102,9 +96,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error **= errp) =20 qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i)); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), errp)) { return; } =20 @@ -116,9 +108,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error *= *errp) =20 s->gpt.ccm =3D IMX_CCM(&s->ccm); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->gpt), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpt), errp)) { return; } =20 @@ -138,9 +128,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error *= *errp) =20 s->epit[i].ccm =3D IMX_CCM(&s->ccm); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), errp)) { return; } =20 @@ -162,9 +150,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error *= *errp) }; =20 /* Initialize the I2C */ - sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), errp)) { return; } /* Map I2C memory */ @@ -188,9 +174,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error *= *errp) =20 object_property_set_bool(OBJECT(&s->gpio[i]), false, "has-edge-sel= ", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpio[i]), 0, gpio_table[i].addr= ); diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c index 4ae3c3efc2..4c2da277ec 100644 --- a/hw/arm/fsl-imx6.c +++ b/hw/arm/fsl-imx6.c @@ -130,9 +130,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **= errp) "start-powered-off", &error_abort); } =20 - qdev_realize(DEVICE(&s->cpu[i]), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->cpu[i]), NULL, errp)) { return; } } @@ -144,9 +142,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **= errp) FSL_IMX6_MAX_IRQ + GIC_INTERNAL, "num-irq", &error_abort); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->a9mpcore), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->a9mpcore), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->a9mpcore), 0, FSL_IMX6_A9MPCORE_ADD= R); @@ -158,16 +154,12 @@ static void fsl_imx6_realize(DeviceState *dev, Error = **errp) qdev_get_gpio_in(DEVICE(&s->cpu[i]), ARM_CPU_FI= Q)); } =20 - sysbus_realize(SYS_BUS_DEVICE(&s->ccm), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->ccm), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->ccm), 0, FSL_IMX6_CCM_ADDR); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->src), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->src), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->src), 0, FSL_IMX6_SRC_ADDR); @@ -187,9 +179,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **= errp) =20 qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i)); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), errp)) { return; } =20 @@ -201,9 +191,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **= errp) =20 s->gpt.ccm =3D IMX_CCM(&s->ccm); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->gpt), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpt), errp)) { return; } =20 @@ -224,9 +212,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **= errp) =20 s->epit[i].ccm =3D IMX_CCM(&s->ccm); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->epit[i]), errp)) { return; } =20 @@ -247,9 +233,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **= errp) { FSL_IMX6_I2C3_ADDR, FSL_IMX6_I2C3_IRQ } }; =20 - sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->i2c[i]), errp)) { return; } =20 @@ -307,9 +291,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **= errp) &error_abort); object_property_set_bool(OBJECT(&s->gpio[i]), true, "has-upper-pin= -irq", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), errp)) { return; } =20 @@ -343,9 +325,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **= errp) object_property_set_uint(OBJECT(&s->esdhc[i]), SDHCI_VENDOR_IMX, "vendor", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->esdhc[i]), 0, esdhc_table[i].ad= dr); @@ -390,9 +370,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **= errp) }; =20 /* Initialize the SPI */ - sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), errp)) { return; } =20 @@ -403,9 +381,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **= errp) } =20 qdev_set_nic_properties(DEVICE(&s->eth), &nd_table[0]); - sysbus_realize(SYS_BUS_DEVICE(&s->eth), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->eth), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->eth), 0, FSL_IMX6_ENET_ADDR); diff --git a/hw/arm/msf2-soc.c b/hw/arm/msf2-soc.c index 3235c76194..b6143fba92 100644 --- a/hw/arm/msf2-soc.c +++ b/hw/arm/msf2-soc.c @@ -93,7 +93,6 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Erro= r **errp) MSF2State *s =3D MSF2_SOC(dev_soc); DeviceState *dev, *armv7m; SysBusDevice *busdev; - Error *err =3D NULL; int i; =20 MemoryRegion *system_memory =3D get_system_memory(); @@ -125,9 +124,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Er= ror **errp) qdev_prop_set_bit(armv7m, "enable-bitband", true); object_property_set_link(OBJECT(&s->armv7m), OBJECT(get_system_memory(= )), "memory", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), errp)) { return; } =20 @@ -153,9 +150,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Er= ror **errp) dev =3D DEVICE(&s->timer); /* APB0 clock is the timer input clock */ qdev_prop_set_uint32(dev, "clock-frequency", s->m3clk / s->apb0div); - sysbus_realize(SYS_BUS_DEVICE(&s->timer), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer), errp)) { return; } busdev =3D SYS_BUS_DEVICE(dev); @@ -168,9 +163,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Er= ror **errp) dev =3D DEVICE(&s->sysreg); qdev_prop_set_uint32(dev, "apb0divisor", s->apb0div); qdev_prop_set_uint32(dev, "apb1divisor", s->apb1div); - sysbus_realize(SYS_BUS_DEVICE(&s->sysreg), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->sysreg), errp)) { return; } busdev =3D SYS_BUS_DEVICE(dev); @@ -179,9 +172,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Er= ror **errp) for (i =3D 0; i < MSF2_NUM_SPIS; i++) { gchar *bus_name; =20 - sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), errp)) { return; } =20 @@ -199,9 +190,7 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Er= ror **errp) dev =3D DEVICE(&s->emac); object_property_set_link(OBJECT(&s->emac), OBJECT(get_system_memory()), "ahb-bus", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->emac), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->emac), errp)) { return; } busdev =3D SYS_BUS_DEVICE(dev); diff --git a/hw/arm/nrf51_soc.c b/hw/arm/nrf51_soc.c index 20dd8b5897..a398bdfab8 100644 --- a/hw/arm/nrf51_soc.c +++ b/hw/arm/nrf51_soc.c @@ -67,9 +67,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error= **errp) =20 object_property_set_link(OBJECT(&s->cpu), OBJECT(&s->container), "memo= ry", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->cpu), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->cpu), errp)) { return; } =20 @@ -84,9 +82,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error= **errp) memory_region_add_subregion(&s->container, NRF51_SRAM_BASE, &s->sram); =20 /* UART */ - sysbus_realize(SYS_BUS_DEVICE(&s->uart), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart), errp)) { return; } mr =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->uart), 0); @@ -96,9 +92,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error= **errp) BASE_TO_IRQ(NRF51_UART_BASE))); =20 /* RNG */ - sysbus_realize(SYS_BUS_DEVICE(&s->rng), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->rng), errp)) { return; } =20 @@ -116,9 +110,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Err= or **errp) return; } =20 - sysbus_realize(SYS_BUS_DEVICE(&s->nvm), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->nvm), errp)) { return; } =20 @@ -132,9 +124,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Err= or **errp) memory_region_add_subregion_overlap(&s->container, NRF51_FLASH_BASE, m= r, 0); =20 /* GPIO */ - sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio), errp)) { return; } =20 @@ -151,9 +141,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Err= or **errp) error_propagate(errp, err); return; } - sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), errp)) { return; } =20 diff --git a/hw/arm/stm32f205_soc.c b/hw/arm/stm32f205_soc.c index 56aef686c9..5b008722e5 100644 --- a/hw/arm/stm32f205_soc.c +++ b/hw/arm/stm32f205_soc.c @@ -81,7 +81,6 @@ static void stm32f205_soc_realize(DeviceState *dev_soc, E= rror **errp) STM32F205State *s =3D STM32F205_SOC(dev_soc); DeviceState *dev, *armv7m; SysBusDevice *busdev; - Error *err =3D NULL; int i; =20 MemoryRegion *system_memory =3D get_system_memory(); @@ -107,17 +106,13 @@ static void stm32f205_soc_realize(DeviceState *dev_so= c, Error **errp) qdev_prop_set_bit(armv7m, "enable-bitband", true); object_property_set_link(OBJECT(&s->armv7m), OBJECT(get_system_memory(= )), "memory", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), errp)) { return; } =20 /* System configuration controller */ dev =3D DEVICE(&s->syscfg); - sysbus_realize(SYS_BUS_DEVICE(&s->syscfg), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->syscfg), errp)) { return; } busdev =3D SYS_BUS_DEVICE(dev); @@ -128,9 +123,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc,= Error **errp) for (i =3D 0; i < STM_NUM_USARTS; i++) { dev =3D DEVICE(&(s->usart[i])); qdev_prop_set_chr(dev, "chardev", serial_hd(i)); - sysbus_realize(SYS_BUS_DEVICE(&s->usart[i]), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->usart[i]), errp)) { return; } busdev =3D SYS_BUS_DEVICE(dev); @@ -142,9 +135,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc,= Error **errp) for (i =3D 0; i < STM_NUM_TIMERS; i++) { dev =3D DEVICE(&(s->timer[i])); qdev_prop_set_uint64(dev, "clock-frequency", 1000000000); - sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), errp)) { return; } busdev =3D SYS_BUS_DEVICE(dev); @@ -155,9 +146,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc,= Error **errp) /* ADC 1 to 3 */ object_property_set_int(OBJECT(s->adc_irqs), STM_NUM_ADCS, "num-lines", &error_abort); - qdev_realize(DEVICE(s->adc_irqs), NULL, &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(s->adc_irqs), NULL, errp)) { return; } qdev_connect_gpio_out(DEVICE(s->adc_irqs), 0, @@ -165,9 +154,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc,= Error **errp) =20 for (i =3D 0; i < STM_NUM_ADCS; i++) { dev =3D DEVICE(&(s->adc[i])); - sysbus_realize(SYS_BUS_DEVICE(&s->adc[i]), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->adc[i]), errp)) { return; } busdev =3D SYS_BUS_DEVICE(dev); @@ -179,9 +166,7 @@ static void stm32f205_soc_realize(DeviceState *dev_soc,= Error **errp) /* SPI 1 and 2 */ for (i =3D 0; i < STM_NUM_SPIS; i++) { dev =3D DEVICE(&(s->spi[i])); - sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), errp)) { return; } busdev =3D SYS_BUS_DEVICE(dev); diff --git a/hw/arm/stm32f405_soc.c b/hw/arm/stm32f405_soc.c index cf9228d8e7..48b7181665 100644 --- a/hw/arm/stm32f405_soc.c +++ b/hw/arm/stm32f405_soc.c @@ -118,17 +118,13 @@ static void stm32f405_soc_realize(DeviceState *dev_so= c, Error **errp) qdev_prop_set_bit(armv7m, "enable-bitband", true); object_property_set_link(OBJECT(&s->armv7m), OBJECT(system_memory), "memory", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), errp)) { return; } =20 /* System configuration controller */ dev =3D DEVICE(&s->syscfg); - sysbus_realize(SYS_BUS_DEVICE(&s->syscfg), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->syscfg), errp)) { return; } busdev =3D SYS_BUS_DEVICE(dev); @@ -139,9 +135,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc,= Error **errp) for (i =3D 0; i < STM_NUM_USARTS; i++) { dev =3D DEVICE(&(s->usart[i])); qdev_prop_set_chr(dev, "chardev", serial_hd(i)); - sysbus_realize(SYS_BUS_DEVICE(&s->usart[i]), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->usart[i]), errp)) { return; } busdev =3D SYS_BUS_DEVICE(dev); @@ -153,9 +147,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc,= Error **errp) for (i =3D 0; i < STM_NUM_TIMERS; i++) { dev =3D DEVICE(&(s->timer[i])); qdev_prop_set_uint64(dev, "clock-frequency", 1000000000); - sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), errp)) { return; } busdev =3D SYS_BUS_DEVICE(dev); @@ -173,9 +165,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc,= Error **errp) } object_property_set_int(OBJECT(&s->adc_irqs), STM_NUM_ADCS, "num-lines", &error_abort); - qdev_realize(DEVICE(&s->adc_irqs), NULL, &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->adc_irqs), NULL, errp)) { return; } qdev_connect_gpio_out(DEVICE(&s->adc_irqs), 0, @@ -183,9 +173,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc,= Error **errp) =20 for (i =3D 0; i < STM_NUM_ADCS; i++) { dev =3D DEVICE(&(s->adc[i])); - sysbus_realize(SYS_BUS_DEVICE(&s->adc[i]), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->adc[i]), errp)) { return; } busdev =3D SYS_BUS_DEVICE(dev); @@ -197,9 +185,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc,= Error **errp) /* SPI devices */ for (i =3D 0; i < STM_NUM_SPIS; i++) { dev =3D DEVICE(&(s->spi[i])); - sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), errp)) { return; } busdev =3D SYS_BUS_DEVICE(dev); @@ -209,9 +195,7 @@ static void stm32f405_soc_realize(DeviceState *dev_soc,= Error **errp) =20 /* EXTI device */ dev =3D DEVICE(&s->exti); - sysbus_realize(SYS_BUS_DEVICE(&s->exti), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->exti), errp)) { return; } busdev =3D SYS_BUS_DEVICE(dev); diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c index 1de9d4a89d..33e63a2c4e 100644 --- a/hw/arm/xlnx-zynqmp.c +++ b/hw/arm/xlnx-zynqmp.c @@ -176,7 +176,6 @@ static inline int arm_gic_ppi_index(int cpu_nr, int ppi= _index) static void xlnx_zynqmp_create_rpu(MachineState *ms, XlnxZynqMPState *s, const char *boot_cpu, Error **errp) { - Error *err =3D NULL; int i; int num_rpus =3D MIN(ms->smp.cpus - XLNX_ZYNQMP_NUM_APU_CPUS, XLNX_ZYNQMP_NUM_RPU_CPUS); @@ -209,9 +208,7 @@ static void xlnx_zynqmp_create_rpu(MachineState *ms, Xl= nxZynqMPState *s, =20 object_property_set_bool(OBJECT(&s->rpu_cpu[i]), true, "reset-hive= cs", &error_abort); - qdev_realize(DEVICE(&s->rpu_cpu[i]), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->rpu_cpu[i]), NULL, errp)) { return; } } @@ -367,16 +364,12 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Err= or **errp) "reset-cbar", &error_abort); object_property_set_int(OBJECT(&s->apu_cpu[i]), num_apus, "core-count", &error_abort); - qdev_realize(DEVICE(&s->apu_cpu[i]), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->apu_cpu[i]), NULL, errp)) { return; } } =20 - sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gic), errp)) { return; } =20 @@ -470,9 +463,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) &error_abort); object_property_set_int(OBJECT(&s->gem[i]), 2, "num-priority-queue= s", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->gem[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gem[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->gem[i]), 0, gem_addr[i]); @@ -482,9 +473,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) =20 for (i =3D 0; i < XLNX_ZYNQMP_NUM_UARTS; i++) { qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i)); - sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart[i]), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->uart[i]), 0, uart_addr[i]); @@ -494,9 +483,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) =20 object_property_set_int(OBJECT(&s->sata), SATA_NUM_PORTS, "num-ports", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->sata), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->sata), errp)) { return; } =20 @@ -528,9 +515,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) error_propagate(errp, err); return; } - sysbus_realize(SYS_BUS_DEVICE(sdhci), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(sdhci), errp)) { return; } sysbus_mmio_map(sbd, 0, sdhci_addr[i]); @@ -545,9 +530,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) for (i =3D 0; i < XLNX_ZYNQMP_NUM_SPIS; i++) { gchar *bus_name; =20 - sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), errp)) { return; } =20 @@ -562,9 +545,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) g_free(bus_name); } =20 - sysbus_realize(SYS_BUS_DEVICE(&s->qspi), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->qspi), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->qspi), 0, QSPI_ADDR); @@ -584,17 +565,13 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Err= or **errp) g_free(target_bus); } =20 - sysbus_realize(SYS_BUS_DEVICE(&s->dp), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->dp), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->dp), 0, DP_ADDR); sysbus_connect_irq(SYS_BUS_DEVICE(&s->dp), 0, gic_spi[DP_IRQ]); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->dpdma), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->dpdma), errp)) { return; } object_property_set_link(OBJECT(&s->dp), OBJECT(&s->dpdma), "dpdma", @@ -602,17 +579,13 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Err= or **errp) sysbus_mmio_map(SYS_BUS_DEVICE(&s->dpdma), 0, DPDMA_ADDR); sysbus_connect_irq(SYS_BUS_DEVICE(&s->dpdma), 0, gic_spi[DPDMA_IRQ]); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->ipi), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->ipi), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->ipi), 0, IPI_ADDR); sysbus_connect_irq(SYS_BUS_DEVICE(&s->ipi), 0, gic_spi[IPI_IRQ]); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->rtc), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->rtc), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->rtc), 0, RTC_ADDR); @@ -624,9 +597,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) error_propagate(errp, err); return; } - sysbus_realize(SYS_BUS_DEVICE(&s->gdma[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gdma[i]), errp)) { return; } =20 @@ -636,9 +607,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) } =20 for (i =3D 0; i < XLNX_ZYNQMP_NUM_ADMA_CH; i++) { - sysbus_realize(SYS_BUS_DEVICE(&s->adma[i]), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->adma[i]), errp)) { return; } =20 diff --git a/hw/block/fdc.c b/hw/block/fdc.c index f4493d6afa..fe0ae2d146 100644 --- a/hw/block/fdc.c +++ b/hw/block/fdc.c @@ -2574,9 +2574,7 @@ static void fdctrl_connect_drives(FDCtrl *fdctrl, Dev= iceState *fdc_dev, return; } =20 - qdev_realize_and_unref(dev, &fdctrl->bus.bus, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize_and_unref(dev, &fdctrl->bus.bus, errp)) { return; } } diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c index 1b7bc5de08..10c44dfda2 100644 --- a/hw/block/xen-block.c +++ b/hw/block/xen-block.c @@ -961,8 +961,7 @@ static void xen_block_device_create(XenBackendInstance = *backend, blockdev->iothread =3D iothread; blockdev->drive =3D drive; =20 - qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), &local_err); - if (local_err) { + if (!qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), &local_err)) { error_propagate_prepend(errp, local_err, "realization of device %s failed: ", type); diff --git a/hw/char/serial-pci-multi.c b/hw/char/serial-pci-multi.c index 56f915e7c9..2cf3e44177 100644 --- a/hw/char/serial-pci-multi.c +++ b/hw/char/serial-pci-multi.c @@ -95,7 +95,6 @@ static void multi_serial_pci_realize(PCIDevice *dev, Erro= r **errp) PCIDeviceClass *pc =3D PCI_DEVICE_GET_CLASS(dev); PCIMultiSerialState *pci =3D DO_UPCAST(PCIMultiSerialState, dev, dev); SerialState *s; - Error *err =3D NULL; size_t i, nports =3D multi_serial_get_port_count(pc); =20 pci->dev.config[PCI_CLASS_PROG] =3D pci->prog_if; @@ -106,9 +105,7 @@ static void multi_serial_pci_realize(PCIDevice *dev, Er= ror **errp) =20 for (i =3D 0; i < nports; i++) { s =3D pci->state + i; - qdev_realize(DEVICE(s), NULL, &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(s), NULL, errp)) { multi_serial_pci_exit(dev); return; } diff --git a/hw/char/serial-pci.c b/hw/char/serial-pci.c index 298f3adba7..cd56924a43 100644 --- a/hw/char/serial-pci.c +++ b/hw/char/serial-pci.c @@ -47,11 +47,8 @@ static void serial_pci_realize(PCIDevice *dev, Error **e= rrp) { PCISerialState *pci =3D DO_UPCAST(PCISerialState, dev, dev); SerialState *s =3D &pci->state; - Error *err =3D NULL; =20 - qdev_realize(DEVICE(s), NULL, &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(s), NULL, errp)) { return; } =20 diff --git a/hw/char/serial.c b/hw/char/serial.c index 9eebcb27e7..2386479492 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -989,11 +989,8 @@ static void serial_io_realize(DeviceState *dev, Error = **errp) { SerialIO *sio =3D SERIAL_IO(dev); SerialState *s =3D &sio->serial; - Error *local_err =3D NULL; =20 - qdev_realize(DEVICE(s), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(s), NULL, errp)) { return; } =20 @@ -1096,11 +1093,8 @@ static void serial_mm_realize(DeviceState *dev, Erro= r **errp) { SerialMM *smm =3D SERIAL_MM(dev); SerialState *s =3D &smm->serial; - Error *local_err =3D NULL; =20 - qdev_realize(DEVICE(s), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(s), NULL, errp)) { return; } =20 diff --git a/hw/core/cpu.c b/hw/core/cpu.c index 0f23409f1d..594441a150 100644 --- a/hw/core/cpu.c +++ b/hw/core/cpu.c @@ -59,8 +59,7 @@ CPUState *cpu_create(const char *typename) { Error *err =3D NULL; CPUState *cpu =3D CPU(object_new(typename)); - qdev_realize(DEVICE(cpu), NULL, &err); - if (err !=3D NULL) { + if (!qdev_realize(DEVICE(cpu), NULL, &err)) { error_report_err(err); object_unref(OBJECT(cpu)); exit(EXIT_FAILURE); diff --git a/hw/cpu/a15mpcore.c b/hw/cpu/a15mpcore.c index e6085f5d44..c377be398d 100644 --- a/hw/cpu/a15mpcore.c +++ b/hw/cpu/a15mpcore.c @@ -53,7 +53,6 @@ static void a15mp_priv_realize(DeviceState *dev, Error **= errp) DeviceState *gicdev; SysBusDevice *busdev; int i; - Error *err =3D NULL; bool has_el3; bool has_el2 =3D false; Object *cpuobj; @@ -76,9 +75,7 @@ static void a15mp_priv_realize(DeviceState *dev, Error **= errp) qdev_prop_set_bit(gicdev, "has-virtualization-extensions", has_el2= ); } =20 - sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gic), errp)) { return; } busdev =3D SYS_BUS_DEVICE(&s->gic); diff --git a/hw/cpu/a9mpcore.c b/hw/cpu/a9mpcore.c index 642363d2f4..351295e518 100644 --- a/hw/cpu/a9mpcore.c +++ b/hw/cpu/a9mpcore.c @@ -50,16 +50,13 @@ static void a9mp_priv_realize(DeviceState *dev, Error *= *errp) DeviceState *scudev, *gicdev, *gtimerdev, *mptimerdev, *wdtdev; SysBusDevice *scubusdev, *gicbusdev, *gtimerbusdev, *mptimerbusdev, *wdtbusdev; - Error *err =3D NULL; int i; bool has_el3; Object *cpuobj; =20 scudev =3D DEVICE(&s->scu); qdev_prop_set_uint32(scudev, "num-cpu", s->num_cpu); - sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->scu), errp)) { return; } scubusdev =3D SYS_BUS_DEVICE(&s->scu); @@ -78,9 +75,7 @@ static void a9mp_priv_realize(DeviceState *dev, Error **e= rrp) object_property_get_bool(cpuobj, "has_el3", &error_abort); qdev_prop_set_bit(gicdev, "has-security-extensions", has_el3); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gic), errp)) { return; } gicbusdev =3D SYS_BUS_DEVICE(&s->gic); @@ -93,27 +88,21 @@ static void a9mp_priv_realize(DeviceState *dev, Error *= *errp) =20 gtimerdev =3D DEVICE(&s->gtimer); qdev_prop_set_uint32(gtimerdev, "num-cpu", s->num_cpu); - sysbus_realize(SYS_BUS_DEVICE(&s->gtimer), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gtimer), errp)) { return; } gtimerbusdev =3D SYS_BUS_DEVICE(&s->gtimer); =20 mptimerdev =3D DEVICE(&s->mptimer); qdev_prop_set_uint32(mptimerdev, "num-cpu", s->num_cpu); - sysbus_realize(SYS_BUS_DEVICE(&s->mptimer), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->mptimer), errp)) { return; } mptimerbusdev =3D SYS_BUS_DEVICE(&s->mptimer); =20 wdtdev =3D DEVICE(&s->wdt); qdev_prop_set_uint32(wdtdev, "num-cpu", s->num_cpu); - sysbus_realize(SYS_BUS_DEVICE(&s->wdt), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->wdt), errp)) { return; } wdtbusdev =3D SYS_BUS_DEVICE(&s->wdt); diff --git a/hw/cpu/arm11mpcore.c b/hw/cpu/arm11mpcore.c index a2afb992fb..89c4e35143 100644 --- a/hw/cpu/arm11mpcore.c +++ b/hw/cpu/arm11mpcore.c @@ -76,12 +76,9 @@ static void mpcore_priv_realize(DeviceState *dev, Error = **errp) DeviceState *gicdev =3D DEVICE(&s->gic); DeviceState *mptimerdev =3D DEVICE(&s->mptimer); DeviceState *wdtimerdev =3D DEVICE(&s->wdtimer); - Error *err =3D NULL; =20 qdev_prop_set_uint32(scudev, "num-cpu", s->num_cpu); - sysbus_realize(SYS_BUS_DEVICE(&s->scu), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->scu), errp)) { return; } =20 @@ -91,9 +88,7 @@ static void mpcore_priv_realize(DeviceState *dev, Error *= *errp) ARM11MPCORE_NUM_GIC_PRIORITY_BITS); =20 =20 - sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gic), errp)) { return; } =20 @@ -104,16 +99,12 @@ static void mpcore_priv_realize(DeviceState *dev, Erro= r **errp) qdev_init_gpio_in(dev, mpcore_priv_set_irq, s->num_irq - 32); =20 qdev_prop_set_uint32(mptimerdev, "num-cpu", s->num_cpu); - sysbus_realize(SYS_BUS_DEVICE(&s->mptimer), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->mptimer), errp)) { return; } =20 qdev_prop_set_uint32(wdtimerdev, "num-cpu", s->num_cpu); - sysbus_realize(SYS_BUS_DEVICE(&s->wdtimer), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->wdtimer), errp)) { return; } =20 diff --git a/hw/cpu/realview_mpcore.c b/hw/cpu/realview_mpcore.c index d2e426fa45..96f4d2517a 100644 --- a/hw/cpu/realview_mpcore.c +++ b/hw/cpu/realview_mpcore.c @@ -65,14 +65,11 @@ static void realview_mpcore_realize(DeviceState *dev, E= rror **errp) DeviceState *priv =3D DEVICE(&s->priv); DeviceState *gic; SysBusDevice *gicbusdev; - Error *err =3D NULL; int n; int i; =20 qdev_prop_set_uint32(priv, "num-cpu", s->num_cpu); - sysbus_realize(SYS_BUS_DEVICE(&s->priv), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->priv), errp)) { return; } sysbus_pass_irq(sbd, SYS_BUS_DEVICE(&s->priv)); @@ -81,9 +78,7 @@ static void realview_mpcore_realize(DeviceState *dev, Err= or **errp) } /* ??? IRQ routing is hardcoded to "normal" mode. */ for (n =3D 0; n < 4; n++) { - sysbus_realize(SYS_BUS_DEVICE(&s->gic[n]), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gic[n]), errp)) { return; } gic =3D DEVICE(&s->gic[n]); diff --git a/hw/display/virtio-gpu-pci.c b/hw/display/virtio-gpu-pci.c index 41b88b878d..93ba5956ed 100644 --- a/hw/display/virtio-gpu-pci.c +++ b/hw/display/virtio-gpu-pci.c @@ -31,13 +31,9 @@ static void virtio_gpu_pci_base_realize(VirtIOPCIProxy *= vpci_dev, Error **errp) VirtIOGPUBase *g =3D vgpu->vgpu; DeviceState *vdev =3D DEVICE(g); int i; - Error *local_error =3D NULL; =20 virtio_pci_force_virtio_1(vpci_dev); - qdev_realize(vdev, BUS(&vpci_dev->bus), &local_error); - - if (local_error) { - error_propagate(errp, local_error); + if (!qdev_realize(vdev, BUS(&vpci_dev->bus), errp)) { return; } =20 diff --git a/hw/display/virtio-vga.c b/hw/display/virtio-vga.c index 67f409e106..fd550b35c8 100644 --- a/hw/display/virtio-vga.c +++ b/hw/display/virtio-vga.c @@ -93,7 +93,6 @@ static void virtio_vga_base_realize(VirtIOPCIProxy *vpci_= dev, Error **errp) VirtIOVGABase *vvga =3D VIRTIO_VGA_BASE(vpci_dev); VirtIOGPUBase *g =3D vvga->vgpu; VGACommonState *vga =3D &vvga->vga; - Error *err =3D NULL; uint32_t offset; int i; =20 @@ -138,9 +137,7 @@ static void virtio_vga_base_realize(VirtIOPCIProxy *vpc= i_dev, Error **errp) =20 /* init virtio bits */ virtio_pci_force_virtio_1(vpci_dev); - qdev_realize(DEVICE(g), BUS(&vpci_dev->bus), &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(g), BUS(&vpci_dev->bus), errp)) { return; } =20 diff --git a/hw/intc/armv7m_nvic.c b/hw/intc/armv7m_nvic.c index af9f4c5a85..3c4b6e6d70 100644 --- a/hw/intc/armv7m_nvic.c +++ b/hw/intc/armv7m_nvic.c @@ -2619,7 +2619,6 @@ static void nvic_systick_trigger(void *opaque, int n,= int level) static void armv7m_nvic_realize(DeviceState *dev, Error **errp) { NVICState *s =3D NVIC(dev); - Error *err =3D NULL; int regionlen; =20 /* The armv7m container object will have set our CPU pointer */ @@ -2640,9 +2639,7 @@ static void armv7m_nvic_realize(DeviceState *dev, Err= or **errp) =20 s->num_prio_bits =3D arm_feature(&s->cpu->env, ARM_FEATURE_V7) ? 8 : 2; =20 - sysbus_realize(SYS_BUS_DEVICE(&s->systick[M_REG_NS]), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->systick[M_REG_NS]), errp)) { return; } sysbus_connect_irq(SYS_BUS_DEVICE(&s->systick[M_REG_NS]), 0, @@ -2657,9 +2654,7 @@ static void armv7m_nvic_realize(DeviceState *dev, Err= or **errp) object_initialize_child(OBJECT(dev), "systick-reg-s", &s->systick[M_REG_S], TYPE_SYSTICK); =20 - sysbus_realize(SYS_BUS_DEVICE(&s->systick[M_REG_S]), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->systick[M_REG_S]), errp)) { return; } sysbus_connect_irq(SYS_BUS_DEVICE(&s->systick[M_REG_S]), 0, diff --git a/hw/intc/pnv_xive.c b/hw/intc/pnv_xive.c index 85ba0b4655..7d33457e81 100644 --- a/hw/intc/pnv_xive.c +++ b/hw/intc/pnv_xive.c @@ -1833,9 +1833,7 @@ static void pnv_xive_realize(DeviceState *dev, Error = **errp) &error_fatal); object_property_set_link(OBJECT(xsrc), OBJECT(xive), "xive", &error_abort); - qdev_realize(DEVICE(xsrc), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(xsrc), NULL, errp)) { return; } =20 @@ -1843,9 +1841,7 @@ static void pnv_xive_realize(DeviceState *dev, Error = **errp) &error_fatal); object_property_set_link(OBJECT(end_xsrc), OBJECT(xive), "xive", &error_abort); - qdev_realize(DEVICE(end_xsrc), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(end_xsrc), NULL, errp)) { return; } =20 diff --git a/hw/intc/realview_gic.c b/hw/intc/realview_gic.c index f11fb5259a..9b12116b2a 100644 --- a/hw/intc/realview_gic.c +++ b/hw/intc/realview_gic.c @@ -26,7 +26,6 @@ static void realview_gic_realize(DeviceState *dev, Error = **errp) SysBusDevice *sbd =3D SYS_BUS_DEVICE(dev); RealViewGICState *s =3D REALVIEW_GIC(dev); SysBusDevice *busdev; - Error *err =3D NULL; /* The GICs on the RealView boards have a fixed nonconfigurable * number of interrupt lines, so we don't need to expose this as * a qdev property. @@ -34,9 +33,7 @@ static void realview_gic_realize(DeviceState *dev, Error = **errp) int numirq =3D 96; =20 qdev_prop_set_uint32(DEVICE(&s->gic), "num-irq", numirq); - sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gic), errp)) { return; } busdev =3D SYS_BUS_DEVICE(&s->gic); diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c index b7fc8dde7a..4e9ee90353 100644 --- a/hw/intc/spapr_xive.c +++ b/hw/intc/spapr_xive.c @@ -312,9 +312,7 @@ static void spapr_xive_realize(DeviceState *dev, Error = **errp) &error_fatal); object_property_set_link(OBJECT(xsrc), OBJECT(xive), "xive", &error_abort); - qdev_realize(DEVICE(xsrc), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(xsrc), NULL, errp)) { return; } sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xsrc->esb_mmio); @@ -326,9 +324,7 @@ static void spapr_xive_realize(DeviceState *dev, Error = **errp) &error_fatal); object_property_set_link(OBJECT(end_xsrc), OBJECT(xive), "xive", &error_abort); - qdev_realize(DEVICE(end_xsrc), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(end_xsrc), NULL, errp)) { return; } sysbus_init_mmio(SYS_BUS_DEVICE(xive), &end_xsrc->esb_mmio); diff --git a/hw/intc/xics.c b/hw/intc/xics.c index d365eeca66..0d336fb033 100644 --- a/hw/intc/xics.c +++ b/hw/intc/xics.c @@ -376,7 +376,6 @@ static const TypeInfo icp_info =3D { =20 Object *icp_create(Object *cpu, const char *type, XICSFabric *xi, Error **= errp) { - Error *local_err =3D NULL; Object *obj; =20 obj =3D object_new(type); @@ -384,10 +383,8 @@ Object *icp_create(Object *cpu, const char *type, XICS= Fabric *xi, Error **errp) object_unref(obj); object_property_set_link(obj, OBJECT(xi), ICP_PROP_XICS, &error_abort); object_property_set_link(obj, cpu, ICP_PROP_CPU, &error_abort); - qdev_realize(DEVICE(obj), NULL, &local_err); - if (local_err) { + if (!qdev_realize(DEVICE(obj), NULL, errp)) { object_unparent(obj); - error_propagate(errp, local_err); obj =3D NULL; } =20 diff --git a/hw/intc/xive.c b/hw/intc/xive.c index 2c30dc53d8..8e167306e7 100644 --- a/hw/intc/xive.c +++ b/hw/intc/xive.c @@ -765,8 +765,7 @@ Object *xive_tctx_create(Object *cpu, XivePresenter *xp= tr, Error **errp) object_unref(obj); object_property_set_link(obj, cpu, "cpu", &error_abort); object_property_set_link(obj, OBJECT(xptr), "presenter", &error_abort); - qdev_realize(DEVICE(obj), NULL, &local_err); - if (local_err) { + if (!qdev_realize(DEVICE(obj), NULL, &local_err)) { goto error; } =20 diff --git a/hw/isa/piix4.c b/hw/isa/piix4.c index f634bcb2d1..ac044afa95 100644 --- a/hw/isa/piix4.c +++ b/hw/isa/piix4.c @@ -150,7 +150,6 @@ static void piix4_realize(PCIDevice *dev, Error **errp) PIIX4State *s =3D PIIX4_PCI_DEVICE(dev); ISABus *isa_bus; qemu_irq *i8259_out_irq; - Error *err =3D NULL; =20 isa_bus =3D isa_bus_new(DEVICE(dev), pci_address_space(dev), pci_address_space_io(dev), errp); @@ -183,9 +182,7 @@ static void piix4_realize(PCIDevice *dev, Error **errp) =20 /* RTC */ qdev_prop_set_int32(DEVICE(&s->rtc), "base_year", 2000); - qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->rtc), BUS(isa_bus), errp)) { return; } isa_init_irq(ISA_DEVICE(&s->rtc), &s->rtc.irq, RTC_ISA_IRQ); diff --git a/hw/microblaze/xlnx-zynqmp-pmu.c b/hw/microblaze/xlnx-zynqmp-pm= u.c index abebc7e2ef..cd4f3427d8 100644 --- a/hw/microblaze/xlnx-zynqmp-pmu.c +++ b/hw/microblaze/xlnx-zynqmp-pmu.c @@ -76,7 +76,6 @@ static void xlnx_zynqmp_pmu_soc_init(Object *obj) static void xlnx_zynqmp_pmu_soc_realize(DeviceState *dev, Error **errp) { XlnxZynqMPPMUSoCState *s =3D XLNX_ZYNQMP_PMU_SOC(dev); - Error *err =3D NULL; =20 object_property_set_uint(OBJECT(&s->cpu), XLNX_ZYNQMP_PMU_ROM_ADDR, "base-vectors", &error_abort); @@ -96,9 +95,7 @@ static void xlnx_zynqmp_pmu_soc_realize(DeviceState *dev,= Error **errp) object_property_set_str(OBJECT(&s->cpu), "8.40.b", "version", &error_abort); object_property_set_uint(OBJECT(&s->cpu), 0, "pvr", &error_abort); - qdev_realize(DEVICE(&s->cpu), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->cpu), NULL, errp)) { return; } =20 @@ -108,9 +105,7 @@ static void xlnx_zynqmp_pmu_soc_realize(DeviceState *de= v, Error **errp) &error_abort); object_property_set_uint(OBJECT(&s->intc), 0xffff, "intc-positive", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->intc), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->intc), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->intc), 0, XLNX_ZYNQMP_PMU_INTC_ADDR= ); diff --git a/hw/mips/cps.c b/hw/mips/cps.c index 0d7f3cf673..b4f2306596 100644 --- a/hw/mips/cps.c +++ b/hw/mips/cps.c @@ -71,7 +71,6 @@ static void mips_cps_realize(DeviceState *dev, Error **er= rp) CPUMIPSState *env; MIPSCPU *cpu; int i; - Error *err =3D NULL; target_ulong gcr_base; bool itu_present =3D false; bool saar_present =3D false; @@ -109,9 +108,7 @@ static void mips_cps_realize(DeviceState *dev, Error **= errp) if (saar_present) { s->itu.saar =3D &env->CP0_SAAR; } - sysbus_realize(SYS_BUS_DEVICE(&s->itu), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->itu), errp)) { return; } =20 @@ -125,9 +122,7 @@ static void mips_cps_realize(DeviceState *dev, Error **= errp) &error_abort); object_property_set_int(OBJECT(&s->cpc), 1, "vp-start-running", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->cpc), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->cpc), errp)) { return; } =20 @@ -140,9 +135,7 @@ static void mips_cps_realize(DeviceState *dev, Error **= errp) &error_abort); object_property_set_int(OBJECT(&s->gic), 128, "num-irq", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->gic), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gic), errp)) { return; } =20 @@ -163,9 +156,7 @@ static void mips_cps_realize(DeviceState *dev, Error **= errp) &error_abort); object_property_set_link(OBJECT(&s->gcr), OBJECT(&s->cpc.mr), "cpc", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->gcr), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gcr), errp)) { return; } =20 diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c index 47aa3b0552..0d29d53116 100644 --- a/hw/misc/macio/cuda.c +++ b/hw/misc/macio/cuda.c @@ -524,13 +524,10 @@ static void cuda_reset(DeviceState *dev) static void cuda_realize(DeviceState *dev, Error **errp) { CUDAState *s =3D CUDA(dev); - Error *err =3D NULL; SysBusDevice *sbd; struct tm tm; =20 - sysbus_realize(SYS_BUS_DEVICE(&s->mos6522_cuda), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->mos6522_cuda), errp)) { return; } =20 diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c index 3251c79f46..7cfe357cc4 100644 --- a/hw/misc/macio/macio.c +++ b/hw/misc/macio/macio.c @@ -98,11 +98,8 @@ static void macio_common_realize(PCIDevice *d, Error **e= rrp) { MacIOState *s =3D MACIO(d); SysBusDevice *sysbus_dev; - Error *err =3D NULL; =20 - qdev_realize(DEVICE(&s->dbdma), BUS(&s->macio_bus), &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->dbdma), BUS(&s->macio_bus), errp)) { return; } sysbus_dev =3D SYS_BUS_DEVICE(&s->dbdma); @@ -116,9 +113,7 @@ static void macio_common_realize(PCIDevice *d, Error **= errp) qdev_prop_set_chr(DEVICE(&s->escc), "chrB", serial_hd(1)); qdev_prop_set_uint32(DEVICE(&s->escc), "chnBtype", escc_serial); qdev_prop_set_uint32(DEVICE(&s->escc), "chnAtype", escc_serial); - qdev_realize(DEVICE(&s->escc), BUS(&s->macio_bus), &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->escc), BUS(&s->macio_bus), errp)) { return; } =20 @@ -159,9 +154,7 @@ static void macio_oldworld_realize(PCIDevice *d, Error = **errp) =20 qdev_prop_set_uint64(DEVICE(&s->cuda), "timebase-frequency", s->frequency); - qdev_realize(DEVICE(&s->cuda), BUS(&s->macio_bus), &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->cuda), BUS(&s->macio_bus), errp)) { return; } sysbus_dev =3D SYS_BUS_DEVICE(&s->cuda); @@ -176,9 +169,7 @@ static void macio_oldworld_realize(PCIDevice *d, Error = **errp) sysbus_connect_irq(sysbus_dev, 1, qdev_get_gpio_in(pic_dev, OLDWORLD_ESCCA_IRQ)= ); =20 - qdev_realize(DEVICE(&os->nvram), BUS(&s->macio_bus), &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&os->nvram), BUS(&s->macio_bus), errp)) { return; } sysbus_dev =3D SYS_BUS_DEVICE(&os->nvram); @@ -345,9 +336,7 @@ static void macio_newworld_realize(PCIDevice *d, Error = **errp) object_property_set_link(OBJECT(&s->pmu), OBJECT(sysbus_dev), "gpi= o", &error_abort); qdev_prop_set_bit(DEVICE(&s->pmu), "has-adb", ns->has_adb); - qdev_realize(DEVICE(&s->pmu), BUS(&s->macio_bus), &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->pmu), BUS(&s->macio_bus), errp)) { return; } sysbus_dev =3D SYS_BUS_DEVICE(&s->pmu); @@ -363,9 +352,7 @@ static void macio_newworld_realize(PCIDevice *d, Error = **errp) qdev_prop_set_uint64(DEVICE(&s->cuda), "timebase-frequency", s->frequency); =20 - qdev_realize(DEVICE(&s->cuda), BUS(&s->macio_bus), &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(&s->cuda), BUS(&s->macio_bus), errp)) { return; } sysbus_dev =3D SYS_BUS_DEVICE(&s->cuda); diff --git a/hw/misc/macio/pmu.c b/hw/misc/macio/pmu.c index 41b626c46c..4b0983697c 100644 --- a/hw/misc/macio/pmu.c +++ b/hw/misc/macio/pmu.c @@ -741,13 +741,10 @@ static void pmu_reset(DeviceState *dev) static void pmu_realize(DeviceState *dev, Error **errp) { PMUState *s =3D VIA_PMU(dev); - Error *err =3D NULL; SysBusDevice *sbd; struct tm tm; =20 - sysbus_realize(SYS_BUS_DEVICE(&s->mos6522_pmu), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->mos6522_pmu), errp)) { return; } =20 diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c index 3ec904a55f..d85ca709d9 100644 --- a/hw/pci-host/pnv_phb3.c +++ b/hw/pci-host/pnv_phb3.c @@ -990,7 +990,6 @@ static void pnv_phb3_realize(DeviceState *dev, Error **= errp) PnvPHB3 *phb =3D PNV_PHB3(dev); PCIHostState *pci =3D PCI_HOST_BRIDGE(dev); PnvMachineState *pnv =3D PNV_MACHINE(qdev_get_machine()); - Error *local_err =3D NULL; int i; =20 if (phb->phb_id >=3D PNV8_CHIP_PHB3_MAX) { @@ -1003,9 +1002,7 @@ static void pnv_phb3_realize(DeviceState *dev, Error = **errp) &error_abort); object_property_set_int(OBJECT(&phb->lsis), PNV_PHB3_NUM_LSI, "nr-irqs= ", &error_abort); - qdev_realize(DEVICE(&phb->lsis), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(&phb->lsis), NULL, errp)) { return; } =20 @@ -1022,18 +1019,14 @@ static void pnv_phb3_realize(DeviceState *dev, Erro= r **errp) &error_abort); object_property_set_int(OBJECT(&phb->msis), PHB3_MAX_MSI, "nr-irqs", &error_abort); - qdev_realize(DEVICE(&phb->msis), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(&phb->msis), NULL, errp)) { return; } =20 /* Power Bus Common Queue */ object_property_set_link(OBJECT(&phb->pbcq), OBJECT(phb), "phb", &error_abort); - qdev_realize(DEVICE(&phb->pbcq), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(&phb->pbcq), NULL, errp)) { return; } =20 diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c index 10716d759d..7739fd5984 100644 --- a/hw/pci-host/pnv_phb4.c +++ b/hw/pci-host/pnv_phb4.c @@ -1169,7 +1169,6 @@ static void pnv_phb4_realize(DeviceState *dev, Error = **errp) PnvPHB4 *phb =3D PNV_PHB4(dev); PCIHostState *pci =3D PCI_HOST_BRIDGE(dev); XiveSource *xsrc =3D &phb->xsrc; - Error *local_err =3D NULL; int nr_irqs; char name[32]; =20 @@ -1218,9 +1217,7 @@ static void pnv_phb4_realize(DeviceState *dev, Error = **errp) } object_property_set_int(OBJECT(xsrc), nr_irqs, "nr-irqs", &error_fatal= ); object_property_set_link(OBJECT(xsrc), OBJECT(phb), "xive", &error_fat= al); - qdev_realize(DEVICE(xsrc), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(xsrc), NULL, errp)) { return; } =20 diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c index 2d634c838e..40f993bd06 100644 --- a/hw/pci-host/pnv_phb4_pec.c +++ b/hw/pci-host/pnv_phb4_pec.c @@ -377,7 +377,6 @@ static void pnv_pec_instance_init(Object *obj) static void pnv_pec_realize(DeviceState *dev, Error **errp) { PnvPhb4PecState *pec =3D PNV_PHB4_PEC(dev); - Error *local_err =3D NULL; char name[64]; int i; =20 @@ -390,9 +389,7 @@ static void pnv_pec_realize(DeviceState *dev, Error **e= rrp) =20 object_property_set_int(stk_obj, i, "stack-no", &error_abort); object_property_set_link(stk_obj, OBJECT(pec), "pec", &error_abort= ); - qdev_realize(DEVICE(stk_obj), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(stk_obj), NULL, errp)) { return; } } diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index 51bf95b303..5448d101d9 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -764,16 +764,13 @@ static DeviceState *ppce500_init_mpic_qemu(PPCE500Mac= hineState *pms, static DeviceState *ppce500_init_mpic_kvm(const PPCE500MachineClass *pmc, IrqLines *irqs, Error **errp) { - Error *err =3D NULL; DeviceState *dev; CPUState *cs; =20 dev =3D qdev_new(TYPE_KVM_OPENPIC); qdev_prop_set_uint32(dev, "model", pmc->mpic_version); =20 - sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), errp)) { object_unparent(OBJECT(dev)); return NULL; } diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 8bd03f3b10..392aa138de 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -1137,9 +1137,7 @@ static void pnv_chip_power8_realize(DeviceState *dev,= Error **errp) "bar", &error_fatal); object_property_set_link(OBJECT(&chip8->psi), OBJECT(chip8->xics), ICS_PROP_XICS, &error_abort); - qdev_realize(DEVICE(&chip8->psi), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(&chip8->psi), NULL, errp)) { return; } pnv_xscom_add_subregion(chip, PNV_XSCOM_PSIHB_BASE, @@ -1168,9 +1166,7 @@ static void pnv_chip_power8_realize(DeviceState *dev,= Error **errp) /* Create the simplified OCC model */ object_property_set_link(OBJECT(&chip8->occ), OBJECT(&chip8->psi), "ps= i", &error_abort); - qdev_realize(DEVICE(&chip8->occ), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(&chip8->occ), NULL, errp)) { return; } pnv_xscom_add_subregion(chip, PNV_XSCOM_OCC_BASE, &chip8->occ.xscom_re= gs); @@ -1182,9 +1178,7 @@ static void pnv_chip_power8_realize(DeviceState *dev,= Error **errp) /* HOMER */ object_property_set_link(OBJECT(&chip8->homer), OBJECT(chip), "chip", &error_abort); - qdev_realize(DEVICE(&chip8->homer), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(&chip8->homer), NULL, errp)) { return; } /* Homer Xscom region */ @@ -1202,9 +1196,7 @@ static void pnv_chip_power8_realize(DeviceState *dev,= Error **errp) object_property_set_int(OBJECT(phb), i, "index", &error_fatal); object_property_set_int(OBJECT(phb), chip->chip_id, "chip-id", &error_fatal); - sysbus_realize(SYS_BUS_DEVICE(phb), &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!sysbus_realize(SYS_BUS_DEVICE(phb), errp)) { return; } =20 @@ -1359,7 +1351,6 @@ static void pnv_chip_quad_realize(Pnv9Chip *chip9, Er= ror **errp) static void pnv_chip_power9_phb_realize(PnvChip *chip, Error **errp) { Pnv9Chip *chip9 =3D PNV9_CHIP(chip); - Error *local_err =3D NULL; int i, j; int phb_id =3D 0; =20 @@ -1381,9 +1372,7 @@ static void pnv_chip_power9_phb_realize(PnvChip *chip= , Error **errp) &error_fatal); object_property_set_link(OBJECT(pec), OBJECT(get_system_memory()), "system-memory", &error_abort); - qdev_realize(DEVICE(pec), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(pec), NULL, errp)) { return; } =20 @@ -1406,9 +1395,7 @@ static void pnv_chip_power9_phb_realize(PnvChip *chip= , Error **errp) object_property_set_int(obj, PNV_PHB4_DEVICE_ID, "device-id", &error_fatal); object_property_set_link(obj, OBJECT(stack), "stack", &error_a= bort); - sysbus_realize(SYS_BUS_DEVICE(obj), &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!sysbus_realize(SYS_BUS_DEVICE(obj), errp)) { return; } =20 @@ -1466,9 +1453,7 @@ static void pnv_chip_power9_realize(DeviceState *dev,= Error **errp) "tm-bar", &error_fatal); object_property_set_link(OBJECT(&chip9->xive), OBJECT(chip), "chip", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&chip9->xive), &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!sysbus_realize(SYS_BUS_DEVICE(&chip9->xive), errp)) { return; } pnv_xscom_add_subregion(chip, PNV9_XSCOM_XIVE_BASE, @@ -1477,9 +1462,7 @@ static void pnv_chip_power9_realize(DeviceState *dev,= Error **errp) /* Processor Service Interface (PSI) Host Bridge */ object_property_set_int(OBJECT(&chip9->psi), PNV9_PSIHB_BASE(chip), "bar", &error_fatal); - qdev_realize(DEVICE(&chip9->psi), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(&chip9->psi), NULL, errp)) { return; } pnv_xscom_add_subregion(chip, PNV9_XSCOM_PSIHB_BASE, @@ -1488,9 +1471,7 @@ static void pnv_chip_power9_realize(DeviceState *dev,= Error **errp) /* LPC */ object_property_set_link(OBJECT(&chip9->lpc), OBJECT(&chip9->psi), "ps= i", &error_abort); - qdev_realize(DEVICE(&chip9->lpc), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(&chip9->lpc), NULL, errp)) { return; } memory_region_add_subregion(get_system_memory(), PNV9_LPCM_BASE(chip), @@ -1502,9 +1483,7 @@ static void pnv_chip_power9_realize(DeviceState *dev,= Error **errp) /* Create the simplified OCC model */ object_property_set_link(OBJECT(&chip9->occ), OBJECT(&chip9->psi), "ps= i", &error_abort); - qdev_realize(DEVICE(&chip9->occ), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(&chip9->occ), NULL, errp)) { return; } pnv_xscom_add_subregion(chip, PNV9_XSCOM_OCC_BASE, &chip9->occ.xscom_r= egs); @@ -1516,9 +1495,7 @@ static void pnv_chip_power9_realize(DeviceState *dev,= Error **errp) /* HOMER */ object_property_set_link(OBJECT(&chip9->homer), OBJECT(chip), "chip", &error_abort); - qdev_realize(DEVICE(&chip9->homer), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(&chip9->homer), NULL, errp)) { return; } /* Homer Xscom region */ @@ -1598,9 +1575,7 @@ static void pnv_chip_power10_realize(DeviceState *dev= , Error **errp) /* Processor Service Interface (PSI) Host Bridge */ object_property_set_int(OBJECT(&chip10->psi), PNV10_PSIHB_BASE(chip), "bar", &error_fatal); - qdev_realize(DEVICE(&chip10->psi), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(&chip10->psi), NULL, errp)) { return; } pnv_xscom_add_subregion(chip, PNV10_XSCOM_PSIHB_BASE, @@ -1609,9 +1584,7 @@ static void pnv_chip_power10_realize(DeviceState *dev= , Error **errp) /* LPC */ object_property_set_link(OBJECT(&chip10->lpc), OBJECT(&chip10->psi), "= psi", &error_abort); - qdev_realize(DEVICE(&chip10->lpc), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(&chip10->lpc), NULL, errp)) { return; } memory_region_add_subregion(get_system_memory(), PNV10_LPCM_BASE(chip), diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c index c986c16db1..4724ddf96c 100644 --- a/hw/ppc/pnv_core.c +++ b/hw/ppc/pnv_core.c @@ -173,9 +173,7 @@ static void pnv_core_cpu_realize(PnvCore *pc, PowerPCCP= U *cpu, Error **errp) Error *local_err =3D NULL; PnvChipClass *pcc =3D PNV_CHIP_GET_CLASS(pc->chip); =20 - qdev_realize(DEVICE(cpu), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(cpu), NULL, errp)) { return; } =20 diff --git a/hw/ppc/pnv_psi.c b/hw/ppc/pnv_psi.c index 75b8ae9703..08756a79cd 100644 --- a/hw/ppc/pnv_psi.c +++ b/hw/ppc/pnv_psi.c @@ -510,9 +510,7 @@ static void pnv_psi_power8_realize(DeviceState *dev, Er= ror **errp) error_propagate(errp, err); return; } - qdev_realize(DEVICE(ics), NULL, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(DEVICE(ics), NULL, errp)) { return; } =20 @@ -842,7 +840,6 @@ static void pnv_psi_power9_realize(DeviceState *dev, Er= ror **errp) { PnvPsi *psi =3D PNV_PSI(dev); XiveSource *xsrc =3D &PNV9_PSI(psi)->source; - Error *local_err =3D NULL; int i; =20 /* This is the only device with 4k ESB pages */ @@ -851,9 +848,7 @@ static void pnv_psi_power9_realize(DeviceState *dev, Er= ror **errp) object_property_set_int(OBJECT(xsrc), PSIHB9_NUM_IRQS, "nr-irqs", &error_fatal); object_property_set_link(OBJECT(xsrc), OBJECT(psi), "xive", &error_abo= rt); - qdev_realize(DEVICE(xsrc), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(xsrc), NULL, errp)) { return; } =20 diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c index 26ad566f42..85330d08a1 100644 --- a/hw/ppc/spapr_cpu_core.c +++ b/hw/ppc/spapr_cpu_core.c @@ -239,8 +239,7 @@ static void spapr_realize_vcpu(PowerPCCPU *cpu, SpaprMa= chineState *spapr, CPUState *cs =3D CPU(cpu); Error *local_err =3D NULL; =20 - qdev_realize(DEVICE(cpu), NULL, &local_err); - if (local_err) { + if (!qdev_realize(DEVICE(cpu), NULL, &local_err)) { goto error; } =20 diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c index 897bf98587..a61d39ad71 100644 --- a/hw/ppc/spapr_irq.c +++ b/hw/ppc/spapr_irq.c @@ -302,7 +302,6 @@ void spapr_irq_init(SpaprMachineState *spapr, Error **e= rrp) spapr_irq_msi_init(spapr); =20 if (spapr->irq->xics) { - Error *local_err =3D NULL; Object *obj; =20 obj =3D object_new(TYPE_ICS_SPAPR); @@ -311,9 +310,7 @@ void spapr_irq_init(SpaprMachineState *spapr, Error **e= rrp) object_property_set_link(obj, OBJECT(spapr), ICS_PROP_XICS, &error_abort); object_property_set_int(obj, smc->nr_xirqs, "nr-irqs", &error_abor= t); - qdev_realize(DEVICE(obj), NULL, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(obj), NULL, errp)) { return; } =20 diff --git a/hw/riscv/opentitan.c b/hw/riscv/opentitan.c index 19223e4c29..d40f065a6a 100644 --- a/hw/riscv/opentitan.c +++ b/hw/riscv/opentitan.c @@ -106,7 +106,6 @@ static void lowrisc_ibex_soc_realize(DeviceState *dev_s= oc, Error **errp) MachineState *ms =3D MACHINE(qdev_get_machine()); LowRISCIbexSoCState *s =3D RISCV_IBEX_SOC(dev_soc); MemoryRegion *sys_mem =3D get_system_memory(); - Error *err =3D NULL; =20 object_property_set_str(OBJECT(&s->cpus), ms->cpu_type, "cpu-type", &error_abort); @@ -127,18 +126,14 @@ static void lowrisc_ibex_soc_realize(DeviceState *dev= _soc, Error **errp) &s->flash_mem); =20 /* PLIC */ - sysbus_realize(SYS_BUS_DEVICE(&s->plic), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->plic), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->plic), 0, memmap[IBEX_PLIC].base); =20 /* UART */ qdev_prop_set_chr(DEVICE(&(s->uart)), "chardev", serial_hd(0)); - sysbus_realize(SYS_BUS_DEVICE(&s->uart), &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->uart), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->uart), 0, memmap[IBEX_UART].base); diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c index 0cb66ac4e2..416adfcce0 100644 --- a/hw/riscv/sifive_e.c +++ b/hw/riscv/sifive_e.c @@ -185,8 +185,6 @@ static void sifive_e_soc_realize(DeviceState *dev, Erro= r **errp) { MachineState *ms =3D MACHINE(qdev_get_machine()); const struct MemmapEntry *memmap =3D sifive_e_memmap; - Error *err =3D NULL; - SiFiveESoCState *s =3D RISCV_E_SOC(dev); MemoryRegion *sys_mem =3D get_system_memory(); =20 @@ -221,9 +219,7 @@ static void sifive_e_soc_realize(DeviceState *dev, Erro= r **errp) =20 /* GPIO */ =20 - sysbus_realize(SYS_BUS_DEVICE(&s->gpio), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio), errp)) { return; } =20 diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index a1d2edfe13..12cd91b227 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -608,7 +608,6 @@ static void sifive_u_soc_realize(DeviceState *dev, Erro= r **errp) char *plic_hart_config; size_t plic_hart_config_len; int i; - Error *err =3D NULL; NICInfo *nd =3D &nd_table[0]; =20 sysbus_realize(SYS_BUS_DEVICE(&s->e_cpus), &error_abort); @@ -710,9 +709,7 @@ static void sifive_u_soc_realize(DeviceState *dev, Erro= r **errp) } object_property_set_int(OBJECT(&s->gem), GEM_REVISION, "revision", &error_abort); - sysbus_realize(SYS_BUS_DEVICE(&s->gem), &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(SYS_BUS_DEVICE(&s->gem), errp)) { return; } sysbus_mmio_map(SYS_BUS_DEVICE(&s->gem), 0, memmap[SIFIVE_U_GEM].base); diff --git a/hw/s390x/event-facility.c b/hw/s390x/event-facility.c index 164b1fd295..645b4080c5 100644 --- a/hw/s390x/event-facility.c +++ b/hw/s390x/event-facility.c @@ -442,18 +442,13 @@ static void init_event_facility(Object *obj) static void realize_event_facility(DeviceState *dev, Error **errp) { SCLPEventFacility *event_facility =3D EVENT_FACILITY(dev); - Error *local_err =3D NULL; =20 - qdev_realize(DEVICE(&event_facility->quiesce), - BUS(&event_facility->sbus), &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(&event_facility->quiesce), + BUS(&event_facility->sbus), errp)) { return; } - qdev_realize(DEVICE(&event_facility->cpu_hotplug), - BUS(&event_facility->sbus), &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qdev_realize(DEVICE(&event_facility->cpu_hotplug), + BUS(&event_facility->sbus), errp)) { qdev_unrealize(DEVICE(&event_facility->quiesce)); return; } diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index 142e52a8ff..0517901024 100644 --- a/hw/s390x/s390-pci-bus.c +++ b/hw/s390x/s390-pci-bus.c @@ -829,8 +829,7 @@ static S390PCIBusDevice *s390_pci_device_new(S390pciSta= te *s, "zPCI device could not be created: "); return NULL; } - qdev_realize_and_unref(dev, BUS(s->bus), &local_err); - if (local_err) { + if (!qdev_realize_and_unref(dev, BUS(s->bus), &local_err)) { object_unparent(OBJECT(dev)); error_propagate_prepend(errp, local_err, "zPCI device could not be created: "); diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c index d39f6d7785..03364343eb 100644 --- a/hw/s390x/sclp.c +++ b/hw/s390x/sclp.c @@ -338,8 +338,7 @@ static void sclp_realize(DeviceState *dev, Error **errp) * as we can't find a fitting bus via the qom tree, we have to add the * event facility to the sysbus, so e.g. a sclp console can be created. */ - sysbus_realize(SYS_BUS_DEVICE(sclp->event_facility), &err); - if (err) { + if (!sysbus_realize(SYS_BUS_DEVICE(sclp->event_facility), &err)) { goto out; } =20 diff --git a/hw/s390x/virtio-ccw-crypto.c b/hw/s390x/virtio-ccw-crypto.c index ca6753bff3..438626cf37 100644 --- a/hw/s390x/virtio-ccw-crypto.c +++ b/hw/s390x/virtio-ccw-crypto.c @@ -19,11 +19,8 @@ static void virtio_ccw_crypto_realize(VirtioCcwDevice *c= cw_dev, Error **errp) { VirtIOCryptoCcw *dev =3D VIRTIO_CRYPTO_CCW(ccw_dev); DeviceState *vdev =3D DEVICE(&dev->vdev); - Error *err =3D NULL; =20 - qdev_realize(vdev, BUS(&ccw_dev->bus), &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(vdev, BUS(&ccw_dev->bus), errp)) { return; } =20 diff --git a/hw/s390x/virtio-ccw-rng.c b/hw/s390x/virtio-ccw-rng.c index 4077160f49..aefe6b1b51 100644 --- a/hw/s390x/virtio-ccw-rng.c +++ b/hw/s390x/virtio-ccw-rng.c @@ -20,11 +20,8 @@ static void virtio_ccw_rng_realize(VirtioCcwDevice *ccw_= dev, Error **errp) { VirtIORNGCcw *dev =3D VIRTIO_RNG_CCW(ccw_dev); DeviceState *vdev =3D DEVICE(&dev->vdev); - Error *err =3D NULL; =20 - qdev_realize(vdev, BUS(&ccw_dev->bus), &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(vdev, BUS(&ccw_dev->bus), errp)) { return; } =20 diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c index b878a08080..f3d2d63de8 100644 --- a/hw/scsi/scsi-bus.c +++ b/hw/scsi/scsi-bus.c @@ -293,9 +293,7 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, Blo= ckBackend *blk, qdev_prop_set_enum(dev, "rerror", rerror); qdev_prop_set_enum(dev, "werror", werror); =20 - qdev_realize_and_unref(dev, &bus->qbus, &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!qdev_realize_and_unref(dev, &bus->qbus, errp)) { object_unparent(OBJECT(dev)); return NULL; } diff --git a/hw/sd/aspeed_sdhci.c b/hw/sd/aspeed_sdhci.c index 538d3bad3d..ad0bb6fdb4 100644 --- a/hw/sd/aspeed_sdhci.c +++ b/hw/sd/aspeed_sdhci.c @@ -145,9 +145,7 @@ static void aspeed_sdhci_realize(DeviceState *dev, Erro= r **errp) return; } =20 - sysbus_realize(sbd_slot, &err); - if (err) { - error_propagate(errp, err); + if (!sysbus_realize(sbd_slot, errp)) { return; } =20 diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c index 25cec2ddea..0df0edb51d 100644 --- a/hw/sd/ssi-sd.c +++ b/hw/sd/ssi-sd.c @@ -266,8 +266,7 @@ static void ssi_sd_realize(SSISlave *d, Error **errp) goto fail; } =20 - qdev_realize_and_unref(carddev, BUS(&s->sdbus), &err); - if (err) { + if (!qdev_realize_and_unref(carddev, BUS(&s->sdbus), &err)) { goto fail; } =20 diff --git a/hw/usb/bus.c b/hw/usb/bus.c index 957559b18d..ba27afe9f2 100644 --- a/hw/usb/bus.c +++ b/hw/usb/bus.c @@ -704,8 +704,7 @@ USBDevice *usbdevice_create(const char *cmdline) error_report("Failed to create USB device '%s'", f->name); return NULL; } - usb_realize_and_unref(dev, bus, &err); - if (err) { + if (!usb_realize_and_unref(dev, bus, &err)) { error_reportf_err(err, "Failed to initialize USB device '%s': ", f->name); object_unparent(OBJECT(dev)); diff --git a/hw/virtio/virtio-rng-pci.c b/hw/virtio/virtio-rng-pci.c index cf1afb47a6..b6cb0199a3 100644 --- a/hw/virtio/virtio-rng-pci.c +++ b/hw/virtio/virtio-rng-pci.c @@ -34,11 +34,8 @@ static void virtio_rng_pci_realize(VirtIOPCIProxy *vpci_= dev, Error **errp) { VirtIORngPCI *vrng =3D VIRTIO_RNG_PCI(vpci_dev); DeviceState *vdev =3D DEVICE(&vrng->vdev); - Error *err =3D NULL; =20 - qdev_realize(vdev, BUS(&vpci_dev->bus), &err); - if (err) { - error_propagate(errp, err); + if (!qdev_realize(vdev, BUS(&vpci_dev->bus), errp)) { return; } =20 diff --git a/qdev-monitor.c b/qdev-monitor.c index 22da107484..13a13a811a 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -676,8 +676,7 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **er= rp) } =20 dev->opts =3D opts; - qdev_realize(DEVICE(dev), bus, &err); - if (err !=3D NULL) { + if (!qdev_realize(DEVICE(dev), bus, &err)) { dev->opts =3D NULL; goto err_del_dev; } --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017247; cv=none; d=zohomail.com; s=zohoarc; b=BsThuR4ly3G8WnHKIyTTYQIzMPlxkav6Je6fnQAvFabZ+Y6ygvEmy04kM29bj8WlHFutIiRHNlYHGs/IVTo6OZKp5yMcQHGl+gZHpJZXI3OrpGZs/TnstOCPjS3ON1RyASgJUliVUrFeN+s0s9DVigNVMOPahvxbxSI1uO2LviU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017247; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7AjbhnE7cJNNC8tz2AVmy8PW25SpZa4k7KJTLcs6W4A=; b=Y3Rs8WZc8i3MJfb4GUkWmiHVTRGGA0ehssVpmkH9jN4gRmDUfSMlxYjV71e7Ptw4wHTnOvKq09NphVXHapcmMRnqtHU8KGYezwJBPiLoe6MDFFRDVk0Chrvfg7/OCOMNJPcRLSU4qcxu092U0owHO0ztxYWiO+9zYgzAqa9bKIo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017247751685.7852426762315; Wed, 24 Jun 2020 09:47:27 -0700 (PDT) Received: from localhost ([::1]:53952 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8YY-0000Cm-Es for importer@patchew.org; Wed, 24 Jun 2020 12:47:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51184) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8V7-0002fp-G6 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:43:53 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:53202 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8V5-00053c-72 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:43:53 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-464-w3tpjY4jMTy6h7zaqMLe9w-1; Wed, 24 Jun 2020 12:43:48 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id ED25C18585A1; Wed, 24 Jun 2020 16:43:46 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9231D619C0; Wed, 24 Jun 2020 16:43:46 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id E4A881138471; Wed, 24 Jun 2020 18:43:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7AjbhnE7cJNNC8tz2AVmy8PW25SpZa4k7KJTLcs6W4A=; b=Z09/Dk7UmkZHmegAJNIjPxPHjJYBcyXyv2wG9TxWIT76NFmOpGY26zCNNkr+2a9rCyuQ6K F8flSe9y5kWUJIGeB1hytqB6Kad8AoBsHerXQ4La1tSPIAjQobMhEf6uRkcgN5FHIzvQGA Idfn2pt87ZKJUePVjijAomhompK0Fuw= X-MC-Unique: w3tpjY4jMTy6h7zaqMLe9w-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 04/46] macio: Tidy up error handling in macio_newworld_realize() Date: Wed, 24 Jun 2020 18:43:02 +0200 Message-Id: <20200624164344.3778251-5-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 00:34:35 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, Mark Cave-Ayland , pbonzini@redhat.com, David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" macio_newworld_realize() effectively ignores ns->gpio realization errors, leaking the Error object. Fortunately, macio_gpio_realize() can't actually fail. Tidy up. Cc: Mark Cave-Ayland Cc: David Gibson Signed-off-by: Markus Armbruster Acked-by: David Gibson Reviewed-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy --- hw/misc/macio/macio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c index 7cfe357cc4..bedf10e77b 100644 --- a/hw/misc/macio/macio.c +++ b/hw/misc/macio/macio.c @@ -329,7 +329,9 @@ static void macio_newworld_realize(PCIDevice *d, Error = **errp) &error_abort); memory_region_add_subregion(&s->bar, 0x50, sysbus_mmio_get_region(sysbus_dev, 0)); - qdev_realize(DEVICE(&ns->gpio), BUS(&s->macio_bus), &err); + if (!qdev_realize(DEVICE(&ns->gpio), BUS(&s->macio_bus), errp)) { + return; + } =20 /* PMU */ object_initialize_child(OBJECT(s), "pmu", &s->pmu, TYPE_VIA_PMU); --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018081; cv=none; d=zohomail.com; s=zohoarc; b=Hb5yaofpx+MtATZoBzPuVKo9ZiH48MBvTDKkCoNkEjxCcyAa9lIdxarZer/ZZgUNBf/NH4iGPpgJ1WDesTVOUp+5kkkBJD22MaQprukGa5Lf6lOSNv5C6qIn1IBe4o0AX1jPdzEEq0bBgQ92j7RFozDt2DcktPIpwxH4XDX0pM4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018081; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BCnJWrpcz+m4ldysqz9l0fkI4qaL8IgU0vZynsLc8lE=; b=kPiBbpHRBCXyVHUMJrv6k5oWYOF1OTRYQIPQ6octKMVrriVKaqA0HcaB3gC7pvtKIMU2552XbhOhLqZs79t38X5C9nb/+G8KBMfeU+9vp4eKUgoVjssi5BA2Gm/tCRbAaJeczrRRXX66Zo8BFNg9Td7I6nb4d89Fwobk26YPlXo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018081643593.5295225017126; Wed, 24 Jun 2020 10:01:21 -0700 (PDT) Received: from localhost ([::1]:47850 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8lD-0006qQ-U7 for importer@patchew.org; Wed, 24 Jun 2020 13:00:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51912) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VX-00041j-F0 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:19 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:30101 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VC-00057w-O0 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:19 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-484-DSG8UmH0NwummhxL7cgoeA-1; Wed, 24 Jun 2020 12:43:52 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5B9A1804002; Wed, 24 Jun 2020 16:43:51 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5B86F7CADB; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id E83CA1138472; Wed, 24 Jun 2020 18:43:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BCnJWrpcz+m4ldysqz9l0fkI4qaL8IgU0vZynsLc8lE=; b=Zl8SpSt/MthcplIY0tg+/nqF84JyLvmRX58UqOphbWPUJlakpGmQrfLYYmxF9hkvhO+8EN frQXn0uIhJ2dTVc6ouh3NNQp6n80DEOzFFpzC/r7wsP5DPRRcpdHyIMpKYxOGeJfm2POJl KrnTRvo2f/dMLbpkIhIZ8epVvwbDL2U= X-MC-Unique: DSG8UmH0NwummhxL7cgoeA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 05/46] virtio-crypto-pci: Tidy up virtio_crypto_pci_realize() Date: Wed, 24 Jun 2020 18:43:03 +0200 Message-Id: <20200624164344.3778251-6-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 03:27:53 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, "Michael S . Tsirkin" , "Gonglei \(Arei\)" , pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" virtio_crypto_pci_realize() continues after realization of its "virtio-crypto-device" fails. Only an object_property_set_link() follows; looks harmless to me. Tidy up anyway: return after failure, just like virtio_rng_pci_realize() does. Cc: "Gonglei (Arei)" Cc: Michael S. Tsirkin Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Gonglei < arei.gonglei@huawei.com> Reviewed-by: Vladimir Sementsov-Ogievskiy --- hw/virtio/virtio-crypto-pci.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/virtio/virtio-crypto-pci.c b/hw/virtio/virtio-crypto-pci.c index 72be531c95..0755722288 100644 --- a/hw/virtio/virtio-crypto-pci.c +++ b/hw/virtio/virtio-crypto-pci.c @@ -54,7 +54,9 @@ static void virtio_crypto_pci_realize(VirtIOPCIProxy *vpc= i_dev, Error **errp) } =20 virtio_pci_force_virtio_1(vpci_dev); - qdev_realize(vdev, BUS(&vpci_dev->bus), errp); + if (!qdev_realize(vdev, BUS(&vpci_dev->bus), errp)) { + return; + } object_property_set_link(OBJECT(vcrypto), OBJECT(vcrypto->vdev.conf.cryptodev), "cryptodev", NULL); --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017275; cv=none; d=zohomail.com; s=zohoarc; b=iFa7aRgIOCQtEjpHJsIlMAAoA7ALJGAioBaHuJL75E3pSIBtZPrBhR9Hb8D80RxmMO60jeIa7dFR0npVTEpN7l0iaBq7pWpj6kzToBzqO2pP6/RRjPjrEHJ6/uqhcmLbWwj+maYe3FbXElWHpuEr8lMDIrf3X8m8jN5106MF4lQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017275; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=MXTE73Qf40PfPxoDzgyk1MV10WFjaEhopvA6yEEFtDg=; b=UQ4rcH+l8LP7sDJ5RsRn1P8f5aw1VEpJ2rhILNiuroqHTMRcKxP7R2scN8xKk/C311pXZ3gMr8qvQmjCeEBE6WhCAu6KlZOHvl1v9mE+LGZSJ9J1vRm4Wgf/6k1krCYhoIi2ZiaXYvMkDBCjWiQufmlv314QdJ46e3jRXv3jGow= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017275710429.2257976477583; Wed, 24 Jun 2020 09:47:55 -0700 (PDT) Received: from localhost ([::1]:55432 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8Z0-0000yN-C6 for importer@patchew.org; Wed, 24 Jun 2020 12:47:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51368) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VD-0002yu-NP for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:43:59 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:49643 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8V6-00053y-EO for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:43:58 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-83-2k-TKOI1N0uM7F6HKpPTeg-1; Wed, 24 Jun 2020 12:43:50 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id AE3ED107ACF2; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2F54C7A01A; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id EC3621138473; Wed, 24 Jun 2020 18:43:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MXTE73Qf40PfPxoDzgyk1MV10WFjaEhopvA6yEEFtDg=; b=IJxyvpNrt6li9KTR9ZQWbbVuvk9hQQEKiwowFuQO1iQeB3Dojsd5uK1bilW+tfpr6senmG UbrhkpCNsyeDOVKYAW+cjM6zN3n6qgehy4TayRUh+sp0r0CUCp3KjLR68vnYO8ufSQJ57d mJE/kPIkfLtjwYZ8SUQxtSkaYsyCWRg= X-MC-Unique: 2k-TKOI1N0uM7F6HKpPTeg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 06/46] error: Avoid error_propagate() when error is not used here Date: Wed, 24 Jun 2020 18:43:04 +0200 Message-Id: <20200624164344.3778251-7-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=armbru@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 01:59:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" When all we do with an Error we receive into a local variable is propagating to somewhere else, we can just as well receive it there right away. Coccinelle script: @@ identifier fun, err, errp; expression list args; @@ - fun(args, &err); + fun(args, errp); ... when !=3D err when strict - error_propagate(errp, err); @@ identifier fun, err, errp; expression list args; expression ret; @@ - ret =3D fun(args, &err); + ret =3D fun(args, errp); ... when !=3D err when strict - error_propagate(errp, err); @@ identifier fun, err, errp; expression list args; expression ret; @@ - ret =3D fun(args, &err); + ret =3D fun(args, errp); ... when !=3D err when strict if ( ( ret | !ret | ret =3D=3D 0 | ret !=3D 0 | ret < 0 | ret !=3D NULL | ret =3D=3D NULL ) ) { ... when !=3D err when strict - error_propagate(errp, err); ... } @@ identifier fun, err, errp; expression list args; @@ if ( ( - fun(args, &err) + fun(args, errp) | - !fun(args, &err) + !fun(args, errp) | - fun(args, &err) =3D=3D 0 + fun(args, errp) =3D=3D 0 | - fun(args, &err) !=3D 0 + fun(args, errp) !=3D 0 | - fun(args, &err) < 0 + fun(args, errp) < 0 | - fun(args, &err) =3D=3D NULL + fun(args, errp) =3D=3D NULL | - fun(args, &err) !=3D NULL + fun(args, errp) !=3D NULL ) ) { ... when !=3D err; when strict - error_propagate(errp, err); ... } The first two rules are prone to fail with "error_propagate(...) ... reachable by inconsistent control-flow paths". Script without them re-run where that happens. Manually double-check @err is not used afterwards. Dereferencing it would be use after free, but checking whether it's null would be legitimate. One such change to qbus_realize() backed out. Suboptimal line breaks tweaked manually. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy --- backends/cryptodev-vhost-user.c | 3 +-- block.c | 3 +-- block/file-posix.c | 8 ++------ block/parallels.c | 3 +-- block/qcow.c | 3 +-- block/qcow2.c | 10 +++------- block/qed.c | 3 +-- block/replication.c | 4 +--- block/vhdx.c | 3 +-- block/vmdk.c | 7 ++----- block/vpc.c | 3 +-- blockdev.c | 10 +++------- dump/dump.c | 7 ++----- hw/intc/xics_kvm.c | 3 +-- hw/s390x/s390-pci-bus.c | 4 +--- hw/usb/bus.c | 4 +--- hw/vfio/pci.c | 10 +++------- iothread.c | 3 +-- qdev-monitor.c | 3 +-- qga/commands-win32.c | 3 +-- util/main-loop.c | 4 +--- util/qemu-option.c | 3 +-- 22 files changed, 31 insertions(+), 73 deletions(-) diff --git a/backends/cryptodev-vhost-user.c b/backends/cryptodev-vhost-use= r.c index 8b8cbc4223..dbe5a8aae6 100644 --- a/backends/cryptodev-vhost-user.c +++ b/backends/cryptodev-vhost-user.c @@ -209,8 +209,7 @@ static void cryptodev_vhost_user_init( backend->conf.peers.ccs[i] =3D cc; =20 if (i =3D=3D 0) { - if (!qemu_chr_fe_init(&s->chr, chr, &local_err)) { - error_propagate(errp, local_err); + if (!qemu_chr_fe_init(&s->chr, chr, errp)) { return; } } diff --git a/block.c b/block.c index 6dbcb7e083..30a72bc4c2 100644 --- a/block.c +++ b/block.c @@ -5680,10 +5680,9 @@ static void coroutine_fn bdrv_co_invalidate_cache(Bl= ockDriverState *bs, if (bs->open_flags & BDRV_O_INACTIVE) { bs->open_flags &=3D ~BDRV_O_INACTIVE; bdrv_get_cumulative_perm(bs, &perm, &shared_perm); - ret =3D bdrv_check_perm(bs, NULL, perm, shared_perm, NULL, NULL, &= local_err); + ret =3D bdrv_check_perm(bs, NULL, perm, shared_perm, NULL, NULL, e= rrp); if (ret < 0) { bs->open_flags |=3D BDRV_O_INACTIVE; - error_propagate(errp, local_err); return; } bdrv_set_perm(bs, perm, shared_perm); diff --git a/block/file-posix.c b/block/file-posix.c index 3ab8f5a0fa..2294bf5d00 100644 --- a/block/file-posix.c +++ b/block/file-posix.c @@ -3336,7 +3336,6 @@ static int hdev_open(BlockDriverState *bs, QDict *opt= ions, int flags, Error **errp) { BDRVRawState *s =3D bs->opaque; - Error *local_err =3D NULL; int ret; =20 #if defined(__APPLE__) && defined(__MACH__) @@ -3401,9 +3400,8 @@ hdev_open_Mac_error: =20 s->type =3D FTYPE_FILE; =20 - ret =3D raw_open_common(bs, options, flags, 0, true, &local_err); + ret =3D raw_open_common(bs, options, flags, 0, true, errp); if (ret < 0) { - error_propagate(errp, local_err); #if defined(__APPLE__) && defined(__MACH__) if (*bsd_path) { filename =3D bsd_path; @@ -3679,14 +3677,12 @@ static int cdrom_open(BlockDriverState *bs, QDict *= options, int flags, Error **errp) { BDRVRawState *s =3D bs->opaque; - Error *local_err =3D NULL; int ret; =20 s->type =3D FTYPE_CD; =20 - ret =3D raw_open_common(bs, options, flags, 0, true, &local_err); + ret =3D raw_open_common(bs, options, flags, 0, true, errp); if (ret) { - error_propagate(errp, local_err); return ret; } =20 diff --git a/block/parallels.c b/block/parallels.c index 63a1cde8af..a84ec6a518 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -646,9 +646,8 @@ static int coroutine_fn parallels_co_create_opts(BlockD= river *drv, } =20 /* Create and open the file (protocol layer) */ - ret =3D bdrv_create_file(filename, opts, &local_err); + ret =3D bdrv_create_file(filename, opts, errp); if (ret < 0) { - error_propagate(errp, local_err); goto done; } =20 diff --git a/block/qcow.c b/block/qcow.c index ee5d35fe20..dca2a1fe7d 100644 --- a/block/qcow.c +++ b/block/qcow.c @@ -973,9 +973,8 @@ static int coroutine_fn qcow_co_create_opts(BlockDriver= *drv, } =20 /* Create and open the file (protocol layer) */ - ret =3D bdrv_create_file(filename, opts, &local_err); + ret =3D bdrv_create_file(filename, opts, errp); if (ret < 0) { - error_propagate(errp, local_err); goto fail; } =20 diff --git a/block/qcow2.c b/block/qcow2.c index 0cd2e6757e..e81c284319 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -1583,8 +1583,7 @@ static int coroutine_fn qcow2_do_open(BlockDriverStat= e *bs, QDict *options, =20 /* read qcow2 extensions */ if (qcow2_read_extensions(bs, header.header_length, ext_end, NULL, - flags, &update_header, &local_err)) { - error_propagate(errp, local_err); + flags, &update_header, errp)) { ret =3D -EINVAL; goto fail; } @@ -3356,7 +3355,6 @@ qcow2_co_create(BlockdevCreateOptions *create_options= , Error **errp) int version; int refcount_order; uint64_t* refcount_table; - Error *local_err =3D NULL; int ret; uint8_t compression_type =3D QCOW2_COMPRESSION_TYPE_ZLIB; =20 @@ -3582,9 +3580,8 @@ qcow2_co_create(BlockdevCreateOptions *create_options= , Error **errp) } blk =3D blk_new_open(NULL, NULL, options, BDRV_O_RDWR | BDRV_O_RESIZE | BDRV_O_NO_FLUSH, - &local_err); + errp); if (blk =3D=3D NULL) { - error_propagate(errp, local_err); ret =3D -EIO; goto out; } @@ -3664,9 +3661,8 @@ qcow2_co_create(BlockdevCreateOptions *create_options= , Error **errp) } blk =3D blk_new_open(NULL, NULL, options, BDRV_O_RDWR | BDRV_O_NO_BACKING | BDRV_O_NO_IO, - &local_err); + errp); if (blk =3D=3D NULL) { - error_propagate(errp, local_err); ret =3D -EIO; goto out; } diff --git a/block/qed.c b/block/qed.c index c0c65015c7..e369fd360a 100644 --- a/block/qed.c +++ b/block/qed.c @@ -749,9 +749,8 @@ static int coroutine_fn bdrv_qed_co_create_opts(BlockDr= iver *drv, } =20 /* Create and open the file (protocol layer) */ - ret =3D bdrv_create_file(filename, opts, &local_err); + ret =3D bdrv_create_file(filename, opts, errp); if (ret < 0) { - error_propagate(errp, local_err); goto fail; } =20 diff --git a/block/replication.c b/block/replication.c index ccf7b78160..aa7164dbe3 100644 --- a/block/replication.c +++ b/block/replication.c @@ -369,7 +369,6 @@ static void reopen_backing_file(BlockDriverState *bs, b= ool writable, { BDRVReplicationState *s =3D bs->opaque; BlockReopenQueue *reopen_queue =3D NULL; - Error *local_err =3D NULL; =20 if (writable) { s->orig_hidden_read_only =3D bdrv_is_read_only(s->hidden_disk->bs); @@ -394,8 +393,7 @@ static void reopen_backing_file(BlockDriverState *bs, b= ool writable, } =20 if (reopen_queue) { - bdrv_reopen_multiple(reopen_queue, &local_err); - error_propagate(errp, local_err); + bdrv_reopen_multiple(reopen_queue, errp); } =20 bdrv_subtree_drained_end(s->hidden_disk->bs); diff --git a/block/vhdx.c b/block/vhdx.c index fa9e544a5e..ac5a9094c4 100644 --- a/block/vhdx.c +++ b/block/vhdx.c @@ -2086,9 +2086,8 @@ static int coroutine_fn vhdx_co_create_opts(BlockDriv= er *drv, } =20 /* Create and open the file (protocol layer) */ - ret =3D bdrv_create_file(filename, opts, &local_err); + ret =3D bdrv_create_file(filename, opts, errp); if (ret < 0) { - error_propagate(errp, local_err); goto fail; } =20 diff --git a/block/vmdk.c b/block/vmdk.c index 62da465126..9a09193f3b 100644 --- a/block/vmdk.c +++ b/block/vmdk.c @@ -2250,19 +2250,16 @@ static int vmdk_create_extent(const char *filename,= int64_t filesize, { int ret; BlockBackend *blk =3D NULL; - Error *local_err =3D NULL; =20 - ret =3D bdrv_create_file(filename, opts, &local_err); + ret =3D bdrv_create_file(filename, opts, errp); if (ret < 0) { - error_propagate(errp, local_err); goto exit; } =20 blk =3D blk_new_open(filename, NULL, NULL, BDRV_O_RDWR | BDRV_O_RESIZE | BDRV_O_PROTOCOL, - &local_err); + errp); if (blk =3D=3D NULL) { - error_propagate(errp, local_err); ret =3D -EIO; goto exit; } diff --git a/block/vpc.c b/block/vpc.c index c055591641..36412f764d 100644 --- a/block/vpc.c +++ b/block/vpc.c @@ -1115,9 +1115,8 @@ static int coroutine_fn vpc_co_create_opts(BlockDrive= r *drv, } =20 /* Create and open the file (protocol layer) */ - ret =3D bdrv_create_file(filename, opts, &local_err); + ret =3D bdrv_create_file(filename, opts, errp); if (ret < 0) { - error_propagate(errp, local_err); goto fail; } =20 diff --git a/blockdev.c b/blockdev.c index 31d5eaf6bf..b66863c42a 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3147,9 +3147,8 @@ void qmp_drive_mirror(DriveMirror *arg, Error **errp) arg->has_copy_mode, arg->copy_mode, arg->has_auto_finalize, arg->auto_finalize, arg->has_auto_dismiss, arg->auto_dismiss, - &local_err); + errp); bdrv_unref(target_bs); - error_propagate(errp, local_err); out: aio_context_release(aio_context); } @@ -3177,7 +3176,6 @@ void qmp_blockdev_mirror(bool has_job_id, const char = *job_id, AioContext *aio_context; AioContext *old_context; BlockMirrorBackingMode backing_mode =3D MIRROR_LEAVE_BACKING_CHAIN; - Error *local_err =3D NULL; bool zero_target; int ret; =20 @@ -3219,8 +3217,7 @@ void qmp_blockdev_mirror(bool has_job_id, const char = *job_id, has_copy_mode, copy_mode, has_auto_finalize, auto_finalize, has_auto_dismiss, auto_dismiss, - &local_err); - error_propagate(errp, local_err); + errp); out: aio_context_release(aio_context); } @@ -3439,8 +3436,7 @@ void qmp_change_backing_file(const char *device, } =20 if (ro) { - bdrv_reopen_set_read_only(image_bs, true, &local_err); - error_propagate(errp, local_err); + bdrv_reopen_set_read_only(image_bs, true, errp); } =20 out: diff --git a/dump/dump.c b/dump/dump.c index 248ea06370..383bc7876b 100644 --- a/dump/dump.c +++ b/dump/dump.c @@ -1031,14 +1031,11 @@ out: =20 static void write_dump_header(DumpState *s, Error **errp) { - Error *local_err =3D NULL; - if (s->dump_info.d_class =3D=3D ELFCLASS32) { - create_header32(s, &local_err); + create_header32(s, errp); } else { - create_header64(s, &local_err); + create_header64(s, errp); } - error_propagate(errp, local_err); } =20 static size_t dump_bitmap_get_bufsize(DumpState *s) diff --git a/hw/intc/xics_kvm.c b/hw/intc/xics_kvm.c index 8d6156578f..6705220380 100644 --- a/hw/intc/xics_kvm.c +++ b/hw/intc/xics_kvm.c @@ -316,9 +316,8 @@ int ics_set_kvm_state(ICSState *ics, Error **errp) continue; } =20 - ret =3D ics_set_kvm_state_one(ics, i, &local_err); + ret =3D ics_set_kvm_state_one(ics, i, errp); if (ret < 0) { - error_propagate(errp, local_err); return ret; } } diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index 0517901024..be8535304e 100644 --- a/hw/s390x/s390-pci-bus.c +++ b/hw/s390x/s390-pci-bus.c @@ -741,7 +741,6 @@ static void s390_pcihost_realize(DeviceState *dev, Erro= r **errp) BusState *bus; PCIHostState *phb =3D PCI_HOST_BRIDGE(dev); S390pciState *s =3D S390_PCI_HOST_BRIDGE(dev); - Error *local_err =3D NULL; =20 DPRINTF("host_init\n"); =20 @@ -765,8 +764,7 @@ static void s390_pcihost_realize(DeviceState *dev, Erro= r **errp) QTAILQ_INIT(&s->zpci_devs); =20 css_register_io_adapters(CSS_IO_ADAPTER_PCI, true, false, - S390_ADAPTER_SUPPRESSIBLE, &local_err); - error_propagate(errp, local_err); + S390_ADAPTER_SUPPRESSIBLE, errp); } =20 static int s390_pci_msix_init(S390PCIBusDevice *pbdev) diff --git a/hw/usb/bus.c b/hw/usb/bus.c index ba27afe9f2..b17bda3b29 100644 --- a/hw/usb/bus.c +++ b/hw/usb/bus.c @@ -723,15 +723,13 @@ static bool usb_get_attached(Object *obj, Error **err= p) static void usb_set_attached(Object *obj, bool value, Error **errp) { USBDevice *dev =3D USB_DEVICE(obj); - Error *err =3D NULL; =20 if (dev->attached =3D=3D value) { return; } =20 if (value) { - usb_device_attach(dev, &err); - error_propagate(errp, err); + usb_device_attach(dev, errp); } else { usb_device_detach(dev); } diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 6838bcc4b3..fb51fc9f6e 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -116,7 +116,6 @@ static void vfio_intx_enable_kvm(VFIOPCIDevice *vdev, E= rror **errp) { #ifdef CONFIG_KVM int irq_fd =3D event_notifier_get_fd(&vdev->intx.interrupt); - Error *err =3D NULL; =20 if (vdev->no_kvm_intx || !kvm_irqfds_enabled() || vdev->intx.route.mode !=3D PCI_INTX_ENABLED || @@ -147,8 +146,7 @@ static void vfio_intx_enable_kvm(VFIOPCIDevice *vdev, E= rror **errp) if (vfio_set_irq_signaling(&vdev->vbasedev, VFIO_PCI_INTX_IRQ_INDEX, 0, VFIO_IRQ_SET_ACTION_UNMASK, event_notifier_get_fd(&vdev->intx.unmask), - &err)) { - error_propagate(errp, err); + errp)) { goto fail_vfio; } =20 @@ -294,8 +292,7 @@ static int vfio_intx_enable(VFIOPCIDevice *vdev, Error = **errp) qemu_set_fd_handler(fd, vfio_intx_interrupt, NULL, vdev); =20 if (vfio_set_irq_signaling(&vdev->vbasedev, VFIO_PCI_INTX_IRQ_INDEX, 0, - VFIO_IRQ_SET_ACTION_TRIGGER, fd, &err)) { - error_propagate(errp, err); + VFIO_IRQ_SET_ACTION_TRIGGER, fd, errp)) { qemu_set_fd_handler(fd, NULL, NULL, vdev); event_notifier_cleanup(&vdev->intx.interrupt); return -errno; @@ -2741,9 +2738,8 @@ static void vfio_realize(PCIDevice *pdev, Error **err= p) if (!pdev->failover_pair_id) { error_setg(&vdev->migration_blocker, "VFIO device doesn't support migration"); - ret =3D migrate_add_blocker(vdev->migration_blocker, &err); + ret =3D migrate_add_blocker(vdev->migration_blocker, errp); if (ret) { - error_propagate(errp, err); error_free(vdev->migration_blocker); vdev->migration_blocker =3D NULL; return; diff --git a/iothread.c b/iothread.c index cb082b9b26..6f7ac976de 100644 --- a/iothread.c +++ b/iothread.c @@ -169,9 +169,8 @@ static void iothread_complete(UserCreatable *obj, Error= **errp) =20 iothread->stopping =3D false; iothread->running =3D true; - iothread->ctx =3D aio_context_new(&local_error); + iothread->ctx =3D aio_context_new(errp); if (!iothread->ctx) { - error_propagate(errp, local_error); return; } =20 diff --git a/qdev-monitor.c b/qdev-monitor.c index 13a13a811a..e38030429b 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -808,9 +808,8 @@ void qmp_device_add(QDict *qdict, QObject **ret_data, E= rror **errp) qemu_opts_del(opts); return; } - dev =3D qdev_device_add(opts, &local_err); + dev =3D qdev_device_add(opts, errp); if (!dev) { - error_propagate(errp, local_err); qemu_opts_del(opts); return; } diff --git a/qga/commands-win32.c b/qga/commands-win32.c index 5ba56327dd..49dd792d2c 100644 --- a/qga/commands-win32.c +++ b/qga/commands-win32.c @@ -2202,9 +2202,8 @@ GuestOSInfo *qmp_guest_get_osinfo(Error **errp) } =20 server =3D os_version.wProductType !=3D VER_NT_WORKSTATION; - product_name =3D ga_get_win_product_name(&local_err); + product_name =3D ga_get_win_product_name(errp); if (product_name =3D=3D NULL) { - error_propagate(errp, local_err); return NULL; } =20 diff --git a/util/main-loop.c b/util/main-loop.c index eda63fe4e0..f69f055013 100644 --- a/util/main-loop.c +++ b/util/main-loop.c @@ -148,7 +148,6 @@ int qemu_init_main_loop(Error **errp) { int ret; GSource *src; - Error *local_error =3D NULL; =20 init_clocks(qemu_timer_notify_cb); =20 @@ -157,9 +156,8 @@ int qemu_init_main_loop(Error **errp) return ret; } =20 - qemu_aio_context =3D aio_context_new(&local_error); + qemu_aio_context =3D aio_context_new(errp); if (!qemu_aio_context) { - error_propagate(errp, local_error); return -EMFILE; } qemu_notify_bh =3D qemu_bh_new(notify_event_cb, NULL); diff --git a/util/qemu-option.c b/util/qemu-option.c index 0ebfd97a98..fd667ea523 100644 --- a/util/qemu-option.c +++ b/util/qemu-option.c @@ -899,10 +899,9 @@ static QemuOpts *opts_parse(QemuOptsList *list, const = char *params, * (if unlikely) future misuse: */ assert(!defaults || list->merge_lists); - opts =3D qemu_opts_create(list, id, !defaults, &local_err); + opts =3D qemu_opts_create(list, id, !defaults, errp); g_free(id); if (opts =3D=3D NULL) { - error_propagate(errp, local_err); return NULL; } =20 --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017989; cv=none; d=zohomail.com; s=zohoarc; b=eAVT7HAlDUEjWpoLFUr93hUbWhoBkKzo6jf7bgOxshaUc80X+7HDICaTK143iorJC1PMR0A8j5j3PLN44rgetxImH8GX2WvZwE0jBqD0EMHhj1LCkCefCwx0IErT3GsE62TWPZKrtgwaNYT3uuu6Z4Ku1QucDgAWREyyX1lMkpU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017989; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=aQKFrok/2AWeq8jr8boRHW5aL/yXs8QBrau1cTN1BtM=; b=AnceaaiaJGkHLBnCTPXbavQXantdoEuxyjfKqAWz6LULvHYXa6vu479eZF1BVJreGjAQz+KN82RDuNlNa/b624+Fos1OkmvZnKTkwhsuKJ7sUwtNSh1+BT2EazCPFfX1AqjIc9tqTUo1hP63cvLmYMFWZOek0JFHEWfZ6bkJyVY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017989840989.6866399880146; Wed, 24 Jun 2020 09:59:49 -0700 (PDT) Received: from localhost ([::1]:45032 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8kW-0005O3-Ie for importer@patchew.org; Wed, 24 Jun 2020 12:59:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51908) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VX-000414-A6 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:19 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:35713 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VC-00057g-D3 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:18 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-225-Moo9zJ0yNhOjWCVuTRmXkA-1; Wed, 24 Jun 2020 12:43:49 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8971118585A2; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3042E60C87; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id EFEE81138474; Wed, 24 Jun 2020 18:43:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aQKFrok/2AWeq8jr8boRHW5aL/yXs8QBrau1cTN1BtM=; b=GWu+qIGqdEisjh+BvZtuteWmMPwZypen231ZXwIFcQA8xESWtAL+ToQKoJ9ZsM4fciT6iv WF0n89wruO6B/PklW6bTbGDwAaKDcjzaFbkVByxRmMJb4iWtvfc/n3escjvlkKP4qsdpng JFwNDtB7TjVCPPIyo4hlPYDnk/B2WI8= X-MC-Unique: Moo9zJ0yNhOjWCVuTRmXkA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 07/46] error: Avoid more error_propagate() when error is not used here Date: Wed, 24 Jun 2020 18:43:05 +0200 Message-Id: <20200624164344.3778251-8-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 01:59:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" When all we do with an Error we receive into a local variable is propagating to somewhere else, we can just as well receive it there right away. The previous commit did that for simple cases with Coccinelle. Do it for a few more manually. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- blockdev.c | 5 +---- hw/core/numa.c | 44 ++++++++++++++------------------------------ qdev-monitor.c | 11 ++++------- 3 files changed, 19 insertions(+), 41 deletions(-) diff --git a/blockdev.c b/blockdev.c index b66863c42a..73736a4eaf 100644 --- a/blockdev.c +++ b/blockdev.c @@ -1009,13 +1009,10 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInter= faceType block_default_type, } =20 /* Actual block device init: Functionality shared with blockdev-add */ - blk =3D blockdev_init(filename, bs_opts, &local_err); + blk =3D blockdev_init(filename, bs_opts, errp); bs_opts =3D NULL; if (!blk) { - error_propagate(errp, local_err); goto fail; - } else { - assert(!local_err); } =20 /* Create legacy DriveInfo */ diff --git a/hw/core/numa.c b/hw/core/numa.c index 5f81900f88..aa8c6be210 100644 --- a/hw/core/numa.c +++ b/hw/core/numa.c @@ -449,40 +449,33 @@ void parse_numa_hmat_cache(MachineState *ms, NumaHmat= CacheOptions *node, =20 void set_numa_options(MachineState *ms, NumaOptions *object, Error **errp) { - Error *err =3D NULL; - if (!ms->numa_state) { error_setg(errp, "NUMA is not supported by this machine-type"); - goto end; + return; } =20 switch (object->type) { case NUMA_OPTIONS_TYPE_NODE: - parse_numa_node(ms, &object->u.node, &err); - if (err) { - goto end; - } + parse_numa_node(ms, &object->u.node, errp); break; case NUMA_OPTIONS_TYPE_DIST: - parse_numa_distance(ms, &object->u.dist, &err); - if (err) { - goto end; - } + parse_numa_distance(ms, &object->u.dist, errp); break; case NUMA_OPTIONS_TYPE_CPU: if (!object->u.cpu.has_node_id) { - error_setg(&err, "Missing mandatory node-id property"); - goto end; + error_setg(errp, "Missing mandatory node-id property"); + return; } if (!ms->numa_state->nodes[object->u.cpu.node_id].present) { - error_setg(&err, "Invalid node-id=3D%" PRId64 ", NUMA node mus= t be " - "defined with -numa node,nodeid=3DID before it's used with= " - "-numa cpu,node-id=3DID", object->u.cpu.node_id); - goto end; + error_setg(errp, "Invalid node-id=3D%" PRId64 ", NUMA node mus= t be " + "defined with -numa node,nodeid=3DID before it's us= ed with " + "-numa cpu,node-id=3DID", object->u.cpu.node_id); + return; } =20 - machine_set_cpu_numa_node(ms, qapi_NumaCpuOptions_base(&object->u.= cpu), - &err); + machine_set_cpu_numa_node(ms, + qapi_NumaCpuOptions_base(&object->u.cpu), + errp); break; case NUMA_OPTIONS_TYPE_HMAT_LB: if (!ms->numa_state->hmat_enabled) { @@ -492,10 +485,7 @@ void set_numa_options(MachineState *ms, NumaOptions *o= bject, Error **errp) return; } =20 - parse_numa_hmat_lb(ms->numa_state, &object->u.hmat_lb, &err); - if (err) { - goto end; - } + parse_numa_hmat_lb(ms->numa_state, &object->u.hmat_lb, errp); break; case NUMA_OPTIONS_TYPE_HMAT_CACHE: if (!ms->numa_state->hmat_enabled) { @@ -505,17 +495,11 @@ void set_numa_options(MachineState *ms, NumaOptions *= object, Error **errp) return; } =20 - parse_numa_hmat_cache(ms, &object->u.hmat_cache, &err); - if (err) { - goto end; - } + parse_numa_hmat_cache(ms, &object->u.hmat_cache, errp); break; default: abort(); } - -end: - error_propagate(errp, err); } =20 static int parse_numa(void *opaque, QemuOpts *opts, Error **errp) diff --git a/qdev-monitor.c b/qdev-monitor.c index e38030429b..40c34bb9cf 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -600,7 +600,6 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **er= rp) const char *driver, *path; DeviceState *dev =3D NULL; BusState *bus =3D NULL; - Error *err =3D NULL; bool hide; =20 driver =3D qemu_opt_get(opts, "driver"); @@ -655,15 +654,14 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **= errp) dev =3D qdev_new(driver); =20 /* Check whether the hotplug is allowed by the machine */ - if (qdev_hotplug && !qdev_hotplug_allowed(dev, &err)) { + if (qdev_hotplug && !qdev_hotplug_allowed(dev, errp)) { /* Error must be set in the machine hook */ - assert(err); goto err_del_dev; } =20 if (!bus && qdev_hotplug && !qdev_get_machine_hotplug_handler(dev)) { /* No bus, no machine hotplug handler --> device is not hotpluggab= le */ - error_setg(&err, "Device '%s' can not be hotplugged on this machin= e", + error_setg(errp, "Device '%s' can not be hotplugged on this machin= e", driver); goto err_del_dev; } @@ -671,19 +669,18 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **= errp) qdev_set_id(dev, qemu_opts_id(opts)); =20 /* set properties */ - if (qemu_opt_foreach(opts, set_property, dev, &err)) { + if (qemu_opt_foreach(opts, set_property, dev, errp)) { goto err_del_dev; } =20 dev->opts =3D opts; - if (!qdev_realize(DEVICE(dev), bus, &err)) { + if (!qdev_realize(DEVICE(dev), bus, errp)) { dev->opts =3D NULL; goto err_del_dev; } return dev; =20 err_del_dev: - error_propagate(errp, err); if (dev) { object_unparent(OBJECT(dev)); object_unref(OBJECT(dev)); --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017282; cv=none; d=zohomail.com; s=zohoarc; b=Bj6kc2IoubtxqiQ1MBl3sslk38WcXFcijRlNFwPHcpi0BeYXn+xpf4Cm6kVJ3Xtj2q1aefVBMKVwgL/0q+I2jGd0c6mP6U1tCJKDdu43zI9iw1xa5GOiQ8mTtEPaPkz1LvMrA3ZFhHROO0DFRHbX72V2gGCjTv2ozvccvOMDSjE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017282; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=y+76+z23U7MF5Wnw/MXNo3R/psrg1liwbS5HM1GwzxU=; b=iWJvJHUcXuU2rPMXmFZK9YCMQ7x6HVEALPDVEhiH2PPlcMDVzvFdozwvFWVeEUH/DW43LipBsTGJfW1RFI8rDy26kv1DxgqNdu7AbFhD0ug+I+1bEigRopIM+0zz0VVt5/V21GXml5OQIWhqH/X0jSwfz60gwSw0UcG95RVfycw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017282684707.5538046331311; Wed, 24 Jun 2020 09:48:02 -0700 (PDT) Received: from localhost ([::1]:55914 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8Z7-0001E3-9f for importer@patchew.org; Wed, 24 Jun 2020 12:48:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51454) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VG-00036h-31 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:02 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:29989 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8V6-00054E-UM for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:01 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-10-yj2AIy-eN_WsE7aEMuOtMQ-1; Wed, 24 Jun 2020 12:43:50 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id D88B7804002; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 342265D9C5; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id F41E71138475; Wed, 24 Jun 2020 18:43:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=y+76+z23U7MF5Wnw/MXNo3R/psrg1liwbS5HM1GwzxU=; b=Uo/bbhctWhzVHjy9U1TBFu4ugwzBwyxMS5xyZCh2NhfETKw/JJa0OogqEJwLc55U8qqkLf btcPocgFnj3tO7x1zgK6ZxJNpKtXgopoFiukKF4/oAxSJ0tX3d3JVCPqIkVSHXKAx1bg9Z kQ4ARjIggE9cm5TUgBxk7Obc4NPfDWc= X-MC-Unique: yj2AIy-eN_WsE7aEMuOtMQ-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 08/46] error: Avoid unnecessary error_propagate() after error_setg() Date: Wed, 24 Jun 2020 18:43:06 +0200 Message-Id: <20200624164344.3778251-9-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=armbru@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 00:34:35 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Replace error_setg(&err, ...); error_propagate(errp, err); by error_setg(errp, ...); Related pattern: if (...) { error_setg(&err, ...); goto out; } ... out: error_propagate(errp, err); return; When all paths to label out are that way, replace by if (...) { error_setg(errp, ...); return; } and delete the label along with the error_propagate(). When we have at most one other path that actually needs to propagate, and maybe one at the end that where propagation is unnecessary, e.g. foo(..., &err); if (err) { goto out; } ... bar(..., &err); out: error_propagate(errp, err); return; move the error_propagate() to where it's needed, like if (...) { foo(..., &err); error_propagate(errp, err); return; } ... bar(..., errp); return; and transform the error_setg() as above. Bonus: the elimination of gotos will make later patches in this series easier to review. Candidates for conversion tracked down with this Coccinelle script: @@ identifier err, errp; expression list args; @@ - error_setg(&err, args); + error_setg(errp, args); ... when !=3D err error_propagate(errp, err); Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy --- backends/cryptodev.c | 11 +++--- backends/hostmem-file.c | 19 +++------- backends/hostmem-memfd.c | 15 ++++---- backends/hostmem.c | 27 ++++++-------- block/throttle-groups.c | 22 +++++------ hw/hyperv/vmbus.c | 5 +-- hw/i386/pc.c | 35 ++++++------------ hw/mem/nvdimm.c | 17 ++++----- hw/mem/pc-dimm.c | 14 +++---- hw/misc/aspeed_sdmc.c | 3 +- hw/ppc/rs6000_mc.c | 9 ++--- hw/ppc/spapr.c | 73 ++++++++++++++++--------------------- hw/ppc/spapr_pci.c | 14 +++---- hw/s390x/ipl.c | 23 +++++------- hw/s390x/sclp.c | 12 ++---- hw/xen/xen_pt_config_init.c | 3 +- iothread.c | 12 +++--- net/colo-compare.c | 20 ++++------ net/dump.c | 10 ++--- net/filter-buffer.c | 10 ++--- qga/commands-win32.c | 16 +++----- 21 files changed, 151 insertions(+), 219 deletions(-) diff --git a/backends/cryptodev.c b/backends/cryptodev.c index a3841c4e41..8645f297e3 100644 --- a/backends/cryptodev.c +++ b/backends/cryptodev.c @@ -159,16 +159,15 @@ cryptodev_backend_set_queues(Object *obj, Visitor *v,= const char *name, =20 visit_type_uint32(v, name, &value, &local_err); if (local_err) { - goto out; + error_propagate(errp, local_err); + return; } if (!value) { - error_setg(&local_err, "Property '%s.%s' doesn't take value '%" - PRIu32 "'", object_get_typename(obj), name, value); - goto out; + error_setg(errp, "Property '%s.%s' doesn't take value '%" PRIu32 "= '", + object_get_typename(obj), name, value); + return; } backend->conf.peers.queues =3D value; -out: - error_propagate(errp, local_err); } =20 static void diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c index cdabb412e6..098c8e6e64 100644 --- a/backends/hostmem-file.c +++ b/backends/hostmem-file.c @@ -114,19 +114,17 @@ static void file_memory_backend_set_align(Object *o, = Visitor *v, uint64_t val; =20 if (host_memory_backend_mr_inited(backend)) { - error_setg(&local_err, "cannot change property '%s' of %s", - name, object_get_typename(o)); - goto out; + error_setg(errp, "cannot change property '%s' of %s", name, + object_get_typename(o)); + return; } =20 visit_type_size(v, name, &val, &local_err); if (local_err) { - goto out; + error_propagate(errp, local_err); + return; } fb->align =3D val; - - out: - error_propagate(errp, local_err); } =20 static bool file_memory_backend_get_pmem(Object *o, Error **errp) @@ -140,7 +138,6 @@ static void file_memory_backend_set_pmem(Object *o, boo= l value, Error **errp) HostMemoryBackendFile *fb =3D MEMORY_BACKEND_FILE(o); =20 if (host_memory_backend_mr_inited(backend)) { - error_setg(errp, "cannot change property 'pmem' of %s.", object_get_typename(o)); return; @@ -148,13 +145,9 @@ static void file_memory_backend_set_pmem(Object *o, bo= ol value, Error **errp) =20 #ifndef CONFIG_LIBPMEM if (value) { - Error *local_err =3D NULL; - - error_setg(&local_err, - "Lack of libpmem support while setting the 'pmem=3Don'" + error_setg(errp, "Lack of libpmem support while setting the 'pmem= =3Don'" " of %s. We can't ensure data persistence.", object_get_typename(o)); - error_propagate(errp, local_err); return; } #endif diff --git a/backends/hostmem-memfd.c b/backends/hostmem-memfd.c index 1b5e4bfe0d..9582c7f8fc 100644 --- a/backends/hostmem-memfd.c +++ b/backends/hostmem-memfd.c @@ -81,22 +81,21 @@ memfd_backend_set_hugetlbsize(Object *obj, Visitor *v, = const char *name, uint64_t value; =20 if (host_memory_backend_mr_inited(MEMORY_BACKEND(obj))) { - error_setg(&local_err, "cannot change property value"); - goto out; + error_setg(errp, "cannot change property value"); + return; } =20 visit_type_size(v, name, &value, &local_err); if (local_err) { - goto out; + error_propagate(errp, local_err); + return; } if (!value) { - error_setg(&local_err, "Property '%s.%s' doesn't take value '%" - PRIu64 "'", object_get_typename(obj), name, value); - goto out; + error_setg(errp, "Property '%s.%s' doesn't take value '%" PRIu64 "= '", + object_get_typename(obj), name, value); + return; } m->hugetlbsize =3D value; -out: - error_propagate(errp, local_err); } =20 static void diff --git a/backends/hostmem.c b/backends/hostmem.c index 61e3255f5c..2a0c92d458 100644 --- a/backends/hostmem.c +++ b/backends/hostmem.c @@ -58,24 +58,23 @@ host_memory_backend_set_size(Object *obj, Visitor *v, c= onst char *name, uint64_t value; =20 if (host_memory_backend_mr_inited(backend)) { - error_setg(&local_err, "cannot change property %s of %s ", - name, object_get_typename(obj)); - goto out; + error_setg(errp, "cannot change property %s of %s ", name, + object_get_typename(obj)); + return; } =20 visit_type_size(v, name, &value, &local_err); if (local_err) { - goto out; + error_propagate(errp, local_err); + return; } if (!value) { - error_setg(&local_err, + error_setg(errp, "property '%s' of %s doesn't take value '%" PRIu64 "'", name, object_get_typename(obj), value); - goto out; + return; } backend->size =3D value; -out: - error_propagate(errp, local_err); } =20 static void @@ -259,17 +258,15 @@ static void host_memory_backend_set_prealloc_threads(= Object *obj, Visitor *v, =20 visit_type_uint32(v, name, &value, &local_err); if (local_err) { - goto out; + error_propagate(errp, local_err); + return; } if (value <=3D 0) { - error_setg(&local_err, - "property '%s' of %s doesn't take value '%d'", - name, object_get_typename(obj), value); - goto out; + error_setg(errp, "property '%s' of %s doesn't take value '%d'", na= me, + object_get_typename(obj), value); + return; } backend->prealloc_threads =3D value; -out: - error_propagate(errp, local_err); } =20 static void host_memory_backend_init(Object *obj) diff --git a/block/throttle-groups.c b/block/throttle-groups.c index 784fa4a16c..60a2aad75a 100644 --- a/block/throttle-groups.c +++ b/block/throttle-groups.c @@ -819,17 +819,18 @@ static void throttle_group_set(Object *obj, Visitor *= v, const char * name, * transaction, as certain combinations are invalid. */ if (tg->is_initialized) { - error_setg(&local_err, "Property cannot be set after initializatio= n"); - goto ret; + error_setg(errp, "Property cannot be set after initialization"); + return; } =20 visit_type_int64(v, name, &value, &local_err); if (local_err) { - goto ret; + error_propagate(errp, local_err); + return; } if (value < 0) { - error_setg(&local_err, "Property values cannot be negative"); - goto ret; + error_setg(errp, "Property values cannot be negative"); + return; } =20 cfg =3D &tg->ts.cfg; @@ -842,9 +843,9 @@ static void throttle_group_set(Object *obj, Visitor *v,= const char * name, break; case BURST_LENGTH: if (value > UINT_MAX) { - error_setg(&local_err, "%s value must be in the" - "range [0, %u]", info->name, UINT_MAX); - goto ret; + error_setg(errp, "%s value must be in the" "range [0, %u]", + info->name, UINT_MAX); + return; } cfg->buckets[info->type].burst_length =3D value; break; @@ -852,11 +853,6 @@ static void throttle_group_set(Object *obj, Visitor *v= , const char * name, cfg->op_size =3D value; break; } - -ret: - error_propagate(errp, local_err); - return; - } =20 static void throttle_group_get(Object *obj, Visitor *v, const char *name, diff --git a/hw/hyperv/vmbus.c b/hw/hyperv/vmbus.c index f371240176..569dcf8fb3 100644 --- a/hw/hyperv/vmbus.c +++ b/hw/hyperv/vmbus.c @@ -1459,8 +1459,8 @@ static void create_channels(VMBus *vmbus, VMBusDevice= *dev, Error **errp) =20 dev->num_channels =3D vdc->num_channels ? vdc->num_channels(dev) : 1; if (dev->num_channels < 1) { - error_setg(&err, "invalid #channels: %u", dev->num_channels); - goto error_out; + error_setg(errp, "invalid #channels: %u", dev->num_channels); + return; } =20 dev->channels =3D g_new0(VMBusChannel, dev->num_channels); @@ -1477,7 +1477,6 @@ err_init: while (i--) { deinit_channel(&dev->channels[i]); } -error_out: error_propagate(errp, err); } =20 diff --git a/hw/i386/pc.c b/hw/i386/pc.c index f670bcd6e6..70d832536b 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1352,7 +1352,6 @@ out: static void pc_memory_unplug_request(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { - Error *local_err =3D NULL; PCMachineState *pcms =3D PC_MACHINE(hotplug_dev); =20 /* @@ -1361,21 +1360,18 @@ static void pc_memory_unplug_request(HotplugHandler= *hotplug_dev, * addition to cover this case. */ if (!pcms->acpi_dev || !x86_machine_is_acpi_enabled(X86_MACHINE(pcms))= ) { - error_setg(&local_err, + error_setg(errp, "memory hotplug is not enabled: missing acpi device or = acpi disabled"); - goto out; + return; } =20 if (object_dynamic_cast(OBJECT(dev), TYPE_NVDIMM)) { - error_setg(&local_err, - "nvdimm device hot unplug is not supported yet."); - goto out; + error_setg(errp, "nvdimm device hot unplug is not supported yet."); + return; } =20 hotplug_handler_unplug_request(HOTPLUG_HANDLER(pcms->acpi_dev), dev, - &local_err); -out: - error_propagate(errp, local_err); + errp); } =20 static void pc_memory_unplug(HotplugHandler *hotplug_dev, @@ -1455,31 +1451,23 @@ static void pc_cpu_unplug_request_cb(HotplugHandler= *hotplug_dev, DeviceState *dev, Error **errp) { int idx =3D -1; - Error *local_err =3D NULL; X86CPU *cpu =3D X86_CPU(dev); PCMachineState *pcms =3D PC_MACHINE(hotplug_dev); =20 if (!pcms->acpi_dev) { - error_setg(&local_err, "CPU hot unplug not supported without ACPI"= ); - goto out; + error_setg(errp, "CPU hot unplug not supported without ACPI"); + return; } =20 pc_find_cpu_slot(MACHINE(pcms), cpu->apic_id, &idx); assert(idx !=3D -1); if (idx =3D=3D 0) { - error_setg(&local_err, "Boot CPU is unpluggable"); - goto out; + error_setg(errp, "Boot CPU is unpluggable"); + return; } =20 hotplug_handler_unplug_request(HOTPLUG_HANDLER(pcms->acpi_dev), dev, - &local_err); - if (local_err) { - goto out; - } - - out: - error_propagate(errp, local_err); - + errp); } =20 static void pc_cpu_unplug_cb(HotplugHandler *hotplug_dev, @@ -1885,10 +1873,9 @@ static void pc_machine_set_max_ram_below_4g(Object *= obj, Visitor *v, return; } if (value > 4 * GiB) { - error_setg(&error, + error_setg(errp, "Machine option 'max-ram-below-4g=3D%"PRIu64 "' expects size less than or equal to 4G", value); - error_propagate(errp, error); return; } =20 diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c index 76f66e0b19..93f7af1c58 100644 --- a/hw/mem/nvdimm.c +++ b/hw/mem/nvdimm.c @@ -49,24 +49,23 @@ static void nvdimm_set_label_size(Object *obj, Visitor = *v, const char *name, uint64_t value; =20 if (nvdimm->nvdimm_mr) { - error_setg(&local_err, "cannot change property value"); - goto out; + error_setg(errp, "cannot change property value"); + return; } =20 visit_type_size(v, name, &value, &local_err); if (local_err) { - goto out; + error_propagate(errp, local_err); + return; } if (value < MIN_NAMESPACE_LABEL_SIZE) { - error_setg(&local_err, "Property '%s.%s' (0x%" PRIx64 ") is requir= ed" - " at least 0x%lx", object_get_typename(obj), - name, value, MIN_NAMESPACE_LABEL_SIZE); - goto out; + error_setg(errp, "Property '%s.%s' (0x%" PRIx64 ") is required" + " at least 0x%lx", object_get_typename(obj), name, valu= e, + MIN_NAMESPACE_LABEL_SIZE); + return; } =20 nvdimm->label_size =3D value; -out: - error_propagate(errp, local_err); } =20 static void nvdimm_get_uuid(Object *obj, Visitor *v, const char *name, diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c index f2a86ec4ee..50e049ce1e 100644 --- a/hw/mem/pc-dimm.c +++ b/hw/mem/pc-dimm.c @@ -44,24 +44,24 @@ void pc_dimm_pre_plug(PCDIMMDevice *dimm, MachineState = *machine, &error_abort); if ((slot < 0 || slot >=3D machine->ram_slots) && slot !=3D PC_DIMM_UNASSIGNED_SLOT) { - error_setg(&local_err, "invalid slot number %d, valid range is [0-= %" - PRIu64 "]", slot, machine->ram_slots - 1); - goto out; + error_setg(errp, + "invalid slot number %d, valid range is [0-%" PRIu64 "]= ", + slot, machine->ram_slots - 1); + return; } =20 slot =3D pc_dimm_get_free_slot(slot =3D=3D PC_DIMM_UNASSIGNED_SLOT ? N= ULL : &slot, machine->ram_slots, &local_err); if (local_err) { - goto out; + error_propagate(errp, local_err); + return; } object_property_set_int(OBJECT(dimm), slot, PC_DIMM_SLOT_PROP, &error_abort); trace_mhp_pc_dimm_assigned_slot(slot); =20 memory_device_pre_plug(MEMORY_DEVICE(dimm), machine, legacy_align, - &local_err); -out: - error_propagate(errp, local_err); + errp); } =20 void pc_dimm_plug(PCDIMMDevice *dimm, MachineState *machine, Error **errp) diff --git a/hw/misc/aspeed_sdmc.c b/hw/misc/aspeed_sdmc.c index 25e1e58356..6fefb05695 100644 --- a/hw/misc/aspeed_sdmc.c +++ b/hw/misc/aspeed_sdmc.c @@ -241,9 +241,8 @@ static void aspeed_sdmc_set_ram_size(Object *obj, Visit= or *v, const char *name, } =20 sz =3D size_to_str(value); - error_setg(&local_err, "Invalid RAM size %s", sz); + error_setg(errp, "Invalid RAM size %s", sz); g_free(sz); - error_propagate(errp, local_err); } =20 static void aspeed_sdmc_initfn(Object *obj) diff --git a/hw/ppc/rs6000_mc.c b/hw/ppc/rs6000_mc.c index f8a498bd8a..ce97365f5e 100644 --- a/hw/ppc/rs6000_mc.c +++ b/hw/ppc/rs6000_mc.c @@ -169,7 +169,8 @@ static void rs6000mc_realize(DeviceState *dev, Error **= errp) memory_region_init_ram(&s->simm[socket], OBJECT(dev), name, s->simm_size[socket] * MiB, &local_err); if (local_err) { - goto out; + error_propagate(errp, local_err); + return; } memory_region_add_subregion_overlap(get_system_memory(), 0, &s->simm[socket], socket); @@ -177,10 +178,10 @@ static void rs6000mc_realize(DeviceState *dev, Error = **errp) } if (ram_size) { /* unable to push all requested RAM in SIMMs */ - error_setg(&local_err, "RAM size incompatible with this board. " + error_setg(errp, "RAM size incompatible with this board. " "Try again with something else, like %" PRId64 " MB", s->ram_size / MiB - ram_size); - goto out; + return; } =20 if (s->autoconfigure) { @@ -196,8 +197,6 @@ static void rs6000mc_realize(DeviceState *dev, Error **= errp) =20 isa_register_portio_list(ISA_DEVICE(dev), &s->portio, 0x0, rs6000mc_port_list, s, "rs6000mc"); -out: - error_propagate(errp, local_err); } =20 static const VMStateDescription vmstate_rs6000mc =3D { diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index 83b974870c..bcd094ba3b 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -2497,23 +2497,23 @@ static void spapr_set_vsmt_mode(SpaprMachineState *= spapr, Error **errp) unsigned int smp_threads =3D ms->smp.threads; =20 if (!kvm_enabled() && (smp_threads > 1)) { - error_setg(&local_err, "TCG cannot support more than 1 thread/core= " - "on a pseries machine"); - goto out; + error_setg(errp, "TCG cannot support more than 1 thread/core " + "on a pseries machine"); + return; } if (!is_power_of_2(smp_threads)) { - error_setg(&local_err, "Cannot support %d threads/core on a pserie= s " - "machine because it must be a power of 2", smp_thread= s); - goto out; + error_setg(errp, "Cannot support %d threads/core on a pseries " + "machine because it must be a power of 2", smp_threads); + return; } =20 /* Detemine the VSMT mode to use: */ if (vsmt_user) { if (spapr->vsmt < smp_threads) { - error_setg(&local_err, "Cannot support VSMT mode %d" - " because it must be >=3D threads/core (%d)", - spapr->vsmt, smp_threads); - goto out; + error_setg(errp, "Cannot support VSMT mode %d" + " because it must be >=3D threads/core (%d)", + spapr->vsmt, smp_threads); + return; } /* In this case, spapr->vsmt has been set by the command line */ } else if (!smc->smp_threads_vsmt) { @@ -2543,8 +2543,6 @@ static void spapr_set_vsmt_mode(SpaprMachineState *sp= apr, Error **errp) * behaviour will be correct */ if ((kvm_smt >=3D smp_threads) && ((spapr->vsmt % kvm_smt) =3D= =3D 0)) { warn_report_err(local_err); - local_err =3D NULL; - goto out; } else { if (!vsmt_user) { error_append_hint(&local_err, @@ -2554,13 +2552,11 @@ static void spapr_set_vsmt_mode(SpaprMachineState *= spapr, Error **errp) smp_threads, kvm_smt, spapr->vsmt); } kvmppc_error_append_smt_possible_hint(&local_err); - goto out; + error_propagate(errp, local_err); } } } /* else TCG: nothing to do currently */ -out: - error_propagate(errp, local_err); } =20 static void spapr_init_cpus(SpaprMachineState *spapr) @@ -3686,9 +3682,8 @@ static void spapr_memory_unplug_request(HotplugHandle= r *hotplug_dev, SpaprDrc *drc; =20 if (object_dynamic_cast(OBJECT(dev), TYPE_NVDIMM)) { - error_setg(&local_err, - "nvdimm device hot unplug is not supported yet."); - goto out; + error_setg(errp, "nvdimm device hot unplug is not supported yet."); + return; } =20 size =3D memory_device_get_region_size(MEMORY_DEVICE(dimm), &error_abo= rt); @@ -3697,7 +3692,8 @@ static void spapr_memory_unplug_request(HotplugHandle= r *hotplug_dev, addr_start =3D object_property_get_uint(OBJECT(dimm), PC_DIMM_ADDR_PRO= P, &local_err); if (local_err) { - goto out; + error_propagate(errp, local_err); + return; } =20 /* @@ -3707,10 +3703,9 @@ static void spapr_memory_unplug_request(HotplugHandl= er *hotplug_dev, * bail out to avoid detaching DRCs that were already released. */ if (spapr_pending_dimm_unplugs_find(spapr, dimm)) { - error_setg(&local_err, - "Memory unplug already in progress for device %s", + error_setg(errp, "Memory unplug already in progress for device %s", dev->id); - goto out; + return; } =20 spapr_pending_dimm_unplugs_add(spapr, nr_lmbs, dimm); @@ -3729,8 +3724,6 @@ static void spapr_memory_unplug_request(HotplugHandle= r *hotplug_dev, addr_start / SPAPR_MEMORY_BLOCK_SIZE); spapr_hotplug_req_remove_by_count_indexed(SPAPR_DR_CONNECTOR_TYPE_LMB, nr_lmbs, spapr_drc_index(drc= )); -out: - error_propagate(errp, local_err); } =20 /* Callback to be called during DRC release. */ @@ -3891,7 +3884,6 @@ static void spapr_core_pre_plug(HotplugHandler *hotpl= ug_dev, DeviceState *dev, { MachineState *machine =3D MACHINE(OBJECT(hotplug_dev)); MachineClass *mc =3D MACHINE_GET_CLASS(hotplug_dev); - Error *local_err =3D NULL; CPUCore *cc =3D CPU_CORE(dev); const char *base_core_type =3D spapr_get_cpu_core_type(machine->cpu_ty= pe); const char *type =3D object_get_typename(OBJECT(dev)); @@ -3900,18 +3892,18 @@ static void spapr_core_pre_plug(HotplugHandler *hot= plug_dev, DeviceState *dev, unsigned int smp_threads =3D machine->smp.threads; =20 if (dev->hotplugged && !mc->has_hotpluggable_cpus) { - error_setg(&local_err, "CPU hotplug not supported for this machine= "); - goto out; + error_setg(errp, "CPU hotplug not supported for this machine"); + return; } =20 if (strcmp(base_core_type, type)) { - error_setg(&local_err, "CPU core type should be %s", base_core_typ= e); - goto out; + error_setg(errp, "CPU core type should be %s", base_core_type); + return; } =20 if (cc->core_id % smp_threads) { - error_setg(&local_err, "invalid core id %d", cc->core_id); - goto out; + error_setg(errp, "invalid core id %d", cc->core_id); + return; } =20 /* @@ -3921,26 +3913,23 @@ static void spapr_core_pre_plug(HotplugHandler *hot= plug_dev, DeviceState *dev, * total vcpus not a multiple of threads-per-core. */ if (mc->has_hotpluggable_cpus && (cc->nr_threads !=3D smp_threads)) { - error_setg(&local_err, "invalid nr-threads %d, must be %d", - cc->nr_threads, smp_threads); - goto out; + error_setg(errp, "invalid nr-threads %d, must be %d", cc->nr_threa= ds, + smp_threads); + return; } =20 core_slot =3D spapr_find_cpu_slot(MACHINE(hotplug_dev), cc->core_id, &= index); if (!core_slot) { - error_setg(&local_err, "core id %d out of range", cc->core_id); - goto out; + error_setg(errp, "core id %d out of range", cc->core_id); + return; } =20 if (core_slot->cpu) { - error_setg(&local_err, "core %d already populated", cc->core_id); - goto out; + error_setg(errp, "core %d already populated", cc->core_id); + return; } =20 - numa_cpu_pre_plug(core_slot, dev, &local_err); - -out: - error_propagate(errp, local_err); + numa_cpu_pre_plug(core_slot, dev, errp); } =20 int spapr_phb_dt_populate(SpaprDrc *drc, SpaprMachineState *spapr, diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c index 0f00e2421f..c475d0c6ee 100644 --- a/hw/ppc/spapr_pci.c +++ b/hw/ppc/spapr_pci.c @@ -1499,10 +1499,10 @@ static void spapr_pci_plug(HotplugHandler *plug_han= dler, * we need to let them know it's not enabled */ if (plugged_dev->hotplugged) { - error_setg(&local_err, QERR_BUS_NO_HOTPLUG, + error_setg(errp, QERR_BUS_NO_HOTPLUG, object_get_typename(OBJECT(phb))); } - goto out; + return; } =20 g_assert(drc); @@ -1517,15 +1517,16 @@ static void spapr_pci_plug(HotplugHandler *plug_han= dler, */ if (plugged_dev->hotplugged && bus->devices[PCI_DEVFN(slotnr, 0)] && PCI_FUNC(pdev->devfn) !=3D 0) { - error_setg(&local_err, "PCI: slot %d function 0 already ocuppied b= y %s," + error_setg(errp, "PCI: slot %d function 0 already ocuppied by %s," " additional functions can no longer be exposed to gues= t.", slotnr, bus->devices[PCI_DEVFN(slotnr, 0)]->name); - goto out; + return; } =20 spapr_drc_attach(drc, DEVICE(pdev), &local_err); if (local_err) { - goto out; + error_propagate(errp, local_err); + return; } =20 /* If this is function 0, signal hotplug for all the device functions. @@ -1551,9 +1552,6 @@ static void spapr_pci_plug(HotplugHandler *plug_handl= er, } } } - -out: - error_propagate(errp, local_err); } =20 static void spapr_pci_bridge_unplug(SpaprPhbState *phb, diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c index ce21494c08..df5b4b311a 100644 --- a/hw/s390x/ipl.c +++ b/hw/s390x/ipl.c @@ -117,7 +117,6 @@ static void s390_ipl_realize(DeviceState *dev, Error **= errp) uint64_t pentry; char *magic; int kernel_size; - Error *err =3D NULL; =20 int bios_size; char *bios_filename; @@ -135,8 +134,8 @@ static void s390_ipl_realize(DeviceState *dev, Error **= errp) =20 bios_filename =3D qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); if (bios_filename =3D=3D NULL) { - error_setg(&err, "could not find stage1 bootloader"); - goto error; + error_setg(errp, "could not find stage1 bootloader"); + return; } =20 bios_size =3D load_elf(bios_filename, NULL, @@ -155,8 +154,8 @@ static void s390_ipl_realize(DeviceState *dev, Error **= errp) g_free(bios_filename); =20 if (bios_size =3D=3D -1) { - error_setg(&err, "could not load bootloader '%s'", bios_name); - goto error; + error_setg(errp, "could not load bootloader '%s'", bios_name); + return; } =20 /* default boot target is the bios */ @@ -170,8 +169,8 @@ static void s390_ipl_realize(DeviceState *dev, Error **= errp) if (kernel_size < 0) { kernel_size =3D load_image_targphys(ipl->kernel, 0, ram_size); if (kernel_size < 0) { - error_setg(&err, "could not load kernel '%s'", ipl->kernel= ); - goto error; + error_setg(errp, "could not load kernel '%s'", ipl->kernel= ); + return; } /* if this is Linux use KERN_IMAGE_START */ magic =3D rom_ptr(LINUX_MAGIC_ADDR, 6); @@ -183,8 +182,8 @@ static void s390_ipl_realize(DeviceState *dev, Error **= errp) if (ipl_psw) { pentry =3D be32_to_cpu(*ipl_psw) & PSW_MASK_SHORT_ADDR; } else { - error_setg(&err, "Could not get IPL PSW"); - goto error; + error_setg(errp, "Could not get IPL PSW"); + return; } } } @@ -217,8 +216,8 @@ static void s390_ipl_realize(DeviceState *dev, Error **= errp) initrd_size =3D load_image_targphys(ipl->initrd, initrd_offset, ram_size - initrd_offset); if (initrd_size =3D=3D -1) { - error_setg(&err, "could not load initrd '%s'", ipl->initrd= ); - goto error; + error_setg(errp, "could not load initrd '%s'", ipl->initrd= ); + return; } =20 /* @@ -248,8 +247,6 @@ static void s390_ipl_realize(DeviceState *dev, Error **= errp) * TODO: there should be a better way to do this. */ qemu_register_reset(resettable_cold_reset_fn, dev); -error: - error_propagate(errp, err); } =20 static Property s390_ipl_properties[] =3D { diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c index 03364343eb..a0ce444b4b 100644 --- a/hw/s390x/sclp.c +++ b/hw/s390x/sclp.c @@ -329,7 +329,6 @@ static void sclp_realize(DeviceState *dev, Error **errp) { MachineState *machine =3D MACHINE(qdev_get_machine()); SCLPDevice *sclp =3D SCLP(dev); - Error *err =3D NULL; uint64_t hw_limit; int ret; =20 @@ -338,20 +337,17 @@ static void sclp_realize(DeviceState *dev, Error **er= rp) * as we can't find a fitting bus via the qom tree, we have to add the * event facility to the sysbus, so e.g. a sclp console can be created. */ - if (!sysbus_realize(SYS_BUS_DEVICE(sclp->event_facility), &err)) { - goto out; + if (!sysbus_realize(SYS_BUS_DEVICE(sclp->event_facility), errp)) { + return; } =20 ret =3D s390_set_memory_limit(machine->maxram_size, &hw_limit); if (ret =3D=3D -E2BIG) { - error_setg(&err, "host supports a maximum of %" PRIu64 " GB", + error_setg(errp, "host supports a maximum of %" PRIu64 " GB", hw_limit / GiB); } else if (ret) { - error_setg(&err, "setting the guest size failed"); + error_setg(errp, "setting the guest size failed"); } - -out: - error_propagate(errp, err); } =20 static void sclp_memory_init(SCLPDevice *sclp) diff --git a/hw/xen/xen_pt_config_init.c b/hw/xen/xen_pt_config_init.c index 31ec5add1d..d0d7c720a6 100644 --- a/hw/xen/xen_pt_config_init.c +++ b/hw/xen/xen_pt_config_init.c @@ -2052,10 +2052,9 @@ void xen_pt_config_init(XenPCIPassthroughState *s, E= rror **errp) reg_grp_offset, ®_grp_entry->size); if (rc < 0) { - error_setg(&err, "Failed to initialize %d/%zu, type =3D 0x= %x," + error_setg(errp, "Failed to initialize %d/%zu, type =3D 0x= %x," " rc: %d", i, ARRAY_SIZE(xen_pt_emu_reg_grps), xen_pt_emu_reg_grps[i].grp_type, rc); - error_propagate(errp, err); xen_pt_config_delete(s); return; } diff --git a/iothread.c b/iothread.c index 6f7ac976de..b465e5c25b 100644 --- a/iothread.c +++ b/iothread.c @@ -244,13 +244,14 @@ static void iothread_set_poll_param(Object *obj, Visi= tor *v, =20 visit_type_int64(v, name, &value, &local_err); if (local_err) { - goto out; + error_propagate(errp, local_err); + return; } =20 if (value < 0) { - error_setg(&local_err, "%s value must be in range [0, %"PRId64"]", + error_setg(errp, "%s value must be in range [0, %" PRId64 "]", info->name, INT64_MAX); - goto out; + return; } =20 *field =3D value; @@ -260,11 +261,8 @@ static void iothread_set_poll_param(Object *obj, Visit= or *v, iothread->poll_max_ns, iothread->poll_grow, iothread->poll_shrink, - &local_err); + errp); } - -out: - error_propagate(errp, local_err); } =20 static void iothread_class_init(ObjectClass *klass, void *class_data) diff --git a/net/colo-compare.c b/net/colo-compare.c index f15779dedc..b18b096a6e 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -1098,17 +1098,15 @@ static void compare_set_timeout(Object *obj, Visito= r *v, =20 visit_type_uint32(v, name, &value, &local_err); if (local_err) { - goto out; + error_propagate(errp, local_err); + return; } if (!value) { - error_setg(&local_err, "Property '%s.%s' requires a positive value= ", + error_setg(errp, "Property '%s.%s' requires a positive value", object_get_typename(obj), name); - goto out; + return; } s->compare_timeout =3D value; - -out: - error_propagate(errp, local_err); } =20 static void compare_get_expired_scan_cycle(Object *obj, Visitor *v, @@ -1131,17 +1129,15 @@ static void compare_set_expired_scan_cycle(Object *= obj, Visitor *v, =20 visit_type_uint32(v, name, &value, &local_err); if (local_err) { - goto out; + error_propagate(errp, local_err); + return; } if (!value) { - error_setg(&local_err, "Property '%s.%s' requires a positive value= ", + error_setg(errp, "Property '%s.%s' requires a positive value", object_get_typename(obj), name); - goto out; + return; } s->expired_scan_cycle =3D value; - -out: - error_propagate(errp, local_err); } =20 static void compare_pri_rs_finalize(SocketReadState *pri_rs) diff --git a/net/dump.c b/net/dump.c index 61389e7dad..e8c4071d59 100644 --- a/net/dump.c +++ b/net/dump.c @@ -197,17 +197,15 @@ static void filter_dump_set_maxlen(Object *obj, Visit= or *v, const char *name, =20 visit_type_uint32(v, name, &value, &local_err); if (local_err) { - goto out; + error_propagate(errp, local_err); + return; } if (value =3D=3D 0) { - error_setg(&local_err, "Property '%s.%s' doesn't take value '%u'", + error_setg(errp, "Property '%s.%s' doesn't take value '%u'", object_get_typename(obj), name, value); - goto out; + return; } nfds->maxlen =3D value; - -out: - error_propagate(errp, local_err); } =20 static char *file_dump_get_filename(Object *obj, Error **errp) diff --git a/net/filter-buffer.c b/net/filter-buffer.c index 93050f86cf..c3892911b8 100644 --- a/net/filter-buffer.c +++ b/net/filter-buffer.c @@ -175,17 +175,15 @@ static void filter_buffer_set_interval(Object *obj, V= isitor *v, =20 visit_type_uint32(v, name, &value, &local_err); if (local_err) { - goto out; + error_propagate(errp, local_err); + return; } if (!value) { - error_setg(&local_err, "Property '%s.%s' requires a positive value= ", + error_setg(errp, "Property '%s.%s' requires a positive value", object_get_typename(obj), name); - goto out; + return; } s->interval =3D value; - -out: - error_propagate(errp, local_err); } =20 static void filter_buffer_init(Object *obj) diff --git a/qga/commands-win32.c b/qga/commands-win32.c index 49dd792d2c..b186ddb4aa 100644 --- a/qga/commands-win32.c +++ b/qga/commands-win32.c @@ -282,9 +282,8 @@ static void execute_async(DWORD WINAPI (*func)(LPVOID),= LPVOID opaque, =20 HANDLE thread =3D CreateThread(NULL, 0, func, opaque, 0, NULL); if (!thread) { - error_setg(&local_err, QERR_QGA_COMMAND_FAILED, + error_setg(errp, QERR_QGA_COMMAND_FAILED, "failed to dispatch asynchronous command"); - error_propagate(errp, local_err); } } =20 @@ -1274,31 +1273,28 @@ static void check_suspend_mode(GuestSuspendMode mod= e, Error **errp) =20 ZeroMemory(&sys_pwr_caps, sizeof(sys_pwr_caps)); if (!GetPwrCapabilities(&sys_pwr_caps)) { - error_setg(&local_err, QERR_QGA_COMMAND_FAILED, + error_setg(errp, QERR_QGA_COMMAND_FAILED, "failed to determine guest suspend capabilities"); - goto out; + return; } =20 switch (mode) { case GUEST_SUSPEND_MODE_DISK: if (!sys_pwr_caps.SystemS4) { - error_setg(&local_err, QERR_QGA_COMMAND_FAILED, + error_setg(errp, QERR_QGA_COMMAND_FAILED, "suspend-to-disk not supported by OS"); } break; case GUEST_SUSPEND_MODE_RAM: if (!sys_pwr_caps.SystemS3) { - error_setg(&local_err, QERR_QGA_COMMAND_FAILED, + error_setg(errp, QERR_QGA_COMMAND_FAILED, "suspend-to-ram not supported by OS"); } break; default: - error_setg(&local_err, QERR_INVALID_PARAMETER_VALUE, "mode", + error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "mode", "GuestSuspendMode"); } - -out: - error_propagate(errp, local_err); } =20 static DWORD WINAPI do_suspend(LPVOID opaque) --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017575; cv=none; d=zohomail.com; s=zohoarc; b=goCjtqgbyQRhIekxb4KT4KuRGyflyz9fBrW9EpaoChwy0b40fm/zwFuGXkPTFZ+4G2Bv0FPSbuuBeS+T/1Aufssn3uQMIkVjJN99MGHgtzG+3l4VOXKmBXocmTtCFytvI6/NMesZEvBOXuS6VcuiD1532/XhB+AyzTTuSHI2hmE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017575; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dwfmYuFFzBqquslyFAL9cyvY0xnkZl2pG7W0QNEk3/k=; b=TD8Y2+8UCPa2L/UyeswJTT4xdg6qpbg4EFpuytnJZ40Z4rShtoYKd3S07vtvQTxbaiuE9GEvKrzCYmV1wk6Ys8QOk8UpJSXKoD1nxQO84Sjyrz+J0iwrbCKhheLWeTq2+gjiO379agifbTk2BmdmFJduHmXR3E1QIHDy1A4+uLM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017575578973.6561207249255; Wed, 24 Jun 2020 09:52:55 -0700 (PDT) Received: from localhost ([::1]:44230 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8dq-00017O-9k for importer@patchew.org; Wed, 24 Jun 2020 12:52:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51540) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VJ-0003Gd-1r for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:05 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:51081 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8V8-000553-R8 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:04 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-405-a-1vYrnZMyCPJNn89rxwcQ-1; Wed, 24 Jun 2020 12:43:50 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id C5BBF800D5C; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6CA715C578; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 03BD71138476; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dwfmYuFFzBqquslyFAL9cyvY0xnkZl2pG7W0QNEk3/k=; b=Gqb6rlhyxDBWbxc127rjl5+q10400A/TRDFJiwkeuq20jK3b5S0nZN9ZzkhkU53LWbQq5a QgnAxfgAyF7BAEYoOubEmCPWjrWPHQ927QFUL+KNWF1vo+pAXhr44nPH00FTgEbroONdfc mpm3XyGc/JQYaSS6R2L4vjUeOx625UQ= X-MC-Unique: a-1vYrnZMyCPJNn89rxwcQ-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 09/46] error: Avoid error_propagate() after migrate_add_blocker() Date: Wed, 24 Jun 2020 18:43:07 +0200 Message-Id: <20200624164344.3778251-10-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 01:59:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" When migrate_add_blocker(blocker, &errp) is followed by error_propagate(errp, err), we can often just as well do migrate_add_blocker(..., errp). Do that with this Coccinelle script: @@ expression blocker, err, errp; expression ret; @@ - ret =3D migrate_add_blocker(blocker, &err); - if (err) { + ret =3D migrate_add_blocker(blocker, errp); + if (ret < 0) { ... when !=3D err; - error_propagate(errp, err); ... } @@ expression blocker, err, errp; @@ - migrate_add_blocker(blocker, &err); - if (err) { + if (migrate_add_blocker(blocker, errp) < 0) { ... when !=3D err; - error_propagate(errp, err); ... } Double-check @err is not used afterwards. Dereferencing it would be use after free, but checking whether it's null would be legitimate. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy --- block/parallels.c | 5 ++--- block/qcow.c | 6 ++---- block/vdi.c | 6 ++---- block/vhdx.c | 5 ++--- block/vmdk.c | 6 ++---- block/vpc.c | 5 ++--- block/vvfat.c | 5 ++--- hw/display/virtio-gpu-base.c | 5 +---- hw/intc/arm_gic_kvm.c | 4 +--- hw/intc/arm_gicv3_its_kvm.c | 4 +--- hw/intc/arm_gicv3_kvm.c | 4 +--- hw/misc/ivshmem.c | 4 +--- hw/scsi/vhost-scsi.c | 4 +--- 13 files changed, 20 insertions(+), 43 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index a84ec6a518..860dbb80a2 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -862,9 +862,8 @@ static int parallels_open(BlockDriverState *bs, QDict *= options, int flags, error_setg(&s->migration_blocker, "The Parallels format used by node '= %s' " "does not support live migration", bdrv_get_device_or_node_name(bs)); - ret =3D migrate_add_blocker(s->migration_blocker, &local_err); - if (local_err) { - error_propagate(errp, local_err); + ret =3D migrate_add_blocker(s->migration_blocker, errp); + if (ret < 0) { error_free(s->migration_blocker); goto fail; } diff --git a/block/qcow.c b/block/qcow.c index dca2a1fe7d..eefa3b63da 100644 --- a/block/qcow.c +++ b/block/qcow.c @@ -121,7 +121,6 @@ static int qcow_open(BlockDriverState *bs, QDict *optio= ns, int flags, unsigned int len, i, shift; int ret; QCowHeader header; - Error *local_err =3D NULL; QCryptoBlockOpenOptions *crypto_opts =3D NULL; unsigned int cflags =3D 0; QDict *encryptopts =3D NULL; @@ -314,9 +313,8 @@ static int qcow_open(BlockDriverState *bs, QDict *optio= ns, int flags, error_setg(&s->migration_blocker, "The qcow format used by node '%s' " "does not support live migration", bdrv_get_device_or_node_name(bs)); - ret =3D migrate_add_blocker(s->migration_blocker, &local_err); - if (local_err) { - error_propagate(errp, local_err); + ret =3D migrate_add_blocker(s->migration_blocker, errp); + if (ret < 0) { error_free(s->migration_blocker); goto fail; } diff --git a/block/vdi.c b/block/vdi.c index 2f506a01ba..5fca67f52d 100644 --- a/block/vdi.c +++ b/block/vdi.c @@ -375,7 +375,6 @@ static int vdi_open(BlockDriverState *bs, QDict *option= s, int flags, VdiHeader header; size_t bmap_size; int ret; - Error *local_err =3D NULL; QemuUUID uuid_link, uuid_parent; =20 bs->file =3D bdrv_open_child(NULL, options, "file", bs, &child_of_bds, @@ -496,9 +495,8 @@ static int vdi_open(BlockDriverState *bs, QDict *option= s, int flags, error_setg(&s->migration_blocker, "The vdi format used by node '%s' " "does not support live migration", bdrv_get_device_or_node_name(bs)); - ret =3D migrate_add_blocker(s->migration_blocker, &local_err); - if (local_err) { - error_propagate(errp, local_err); + ret =3D migrate_add_blocker(s->migration_blocker, errp); + if (ret < 0) { error_free(s->migration_blocker); goto fail_free_bmap; } diff --git a/block/vhdx.c b/block/vhdx.c index ac5a9094c4..b9ef4ff074 100644 --- a/block/vhdx.c +++ b/block/vhdx.c @@ -1089,9 +1089,8 @@ static int vhdx_open(BlockDriverState *bs, QDict *opt= ions, int flags, error_setg(&s->migration_blocker, "The vhdx format used by node '%s' " "does not support live migration", bdrv_get_device_or_node_name(bs)); - ret =3D migrate_add_blocker(s->migration_blocker, &local_err); - if (local_err) { - error_propagate(errp, local_err); + ret =3D migrate_add_blocker(s->migration_blocker, errp); + if (ret < 0) { error_free(s->migration_blocker); goto fail; } diff --git a/block/vmdk.c b/block/vmdk.c index 9a09193f3b..28cec50f38 100644 --- a/block/vmdk.c +++ b/block/vmdk.c @@ -1263,7 +1263,6 @@ static int vmdk_open(BlockDriverState *bs, QDict *opt= ions, int flags, int ret; BDRVVmdkState *s =3D bs->opaque; uint32_t magic; - Error *local_err =3D NULL; =20 bs->file =3D bdrv_open_child(NULL, options, "file", bs, &child_of_bds, BDRV_CHILD_IMAGE, false, errp); @@ -1317,9 +1316,8 @@ static int vmdk_open(BlockDriverState *bs, QDict *opt= ions, int flags, error_setg(&s->migration_blocker, "The vmdk format used by node '%s' " "does not support live migration", bdrv_get_device_or_node_name(bs)); - ret =3D migrate_add_blocker(s->migration_blocker, &local_err); - if (local_err) { - error_propagate(errp, local_err); + ret =3D migrate_add_blocker(s->migration_blocker, errp); + if (ret < 0) { error_free(s->migration_blocker); goto fail; } diff --git a/block/vpc.c b/block/vpc.c index 36412f764d..7290f36514 100644 --- a/block/vpc.c +++ b/block/vpc.c @@ -448,9 +448,8 @@ static int vpc_open(BlockDriverState *bs, QDict *option= s, int flags, error_setg(&s->migration_blocker, "The vpc format used by node '%s' " "does not support live migration", bdrv_get_device_or_node_name(bs)); - ret =3D migrate_add_blocker(s->migration_blocker, &local_err); - if (local_err) { - error_propagate(errp, local_err); + ret =3D migrate_add_blocker(s->migration_blocker, errp); + if (ret < 0) { error_free(s->migration_blocker); goto fail; } diff --git a/block/vvfat.c b/block/vvfat.c index c65a98e3ee..a28e3fa442 100644 --- a/block/vvfat.c +++ b/block/vvfat.c @@ -1282,9 +1282,8 @@ static int vvfat_open(BlockDriverState *bs, QDict *op= tions, int flags, "The vvfat (rw) format used by node '%s' " "does not support live migration", bdrv_get_device_or_node_name(bs)); - ret =3D migrate_add_blocker(s->migration_blocker, &local_err); - if (local_err) { - error_propagate(errp, local_err); + ret =3D migrate_add_blocker(s->migration_blocker, errp); + if (ret < 0) { error_free(s->migration_blocker); goto fail; } diff --git a/hw/display/virtio-gpu-base.c b/hw/display/virtio-gpu-base.c index c159351be3..7961308606 100644 --- a/hw/display/virtio-gpu-base.c +++ b/hw/display/virtio-gpu-base.c @@ -128,7 +128,6 @@ virtio_gpu_base_device_realize(DeviceState *qdev, { VirtIODevice *vdev =3D VIRTIO_DEVICE(qdev); VirtIOGPUBase *g =3D VIRTIO_GPU_BASE(qdev); - Error *local_err =3D NULL; int i; =20 if (g->conf.max_outputs > VIRTIO_GPU_MAX_SCANOUTS) { @@ -139,9 +138,7 @@ virtio_gpu_base_device_realize(DeviceState *qdev, g->use_virgl_renderer =3D false; if (virtio_gpu_virgl_enabled(g->conf)) { error_setg(&g->migration_blocker, "virgl is not yet migratable"); - migrate_add_blocker(g->migration_blocker, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (migrate_add_blocker(g->migration_blocker, errp) < 0) { error_free(g->migration_blocker); return false; } diff --git a/hw/intc/arm_gic_kvm.c b/hw/intc/arm_gic_kvm.c index d7df423a7a..07b95143c9 100644 --- a/hw/intc/arm_gic_kvm.c +++ b/hw/intc/arm_gic_kvm.c @@ -517,9 +517,7 @@ static void kvm_arm_gic_realize(DeviceState *dev, Error= **errp) if (!kvm_arm_gic_can_save_restore(s)) { error_setg(&s->migration_blocker, "This operating system kernel do= es " "not support vGICv2 migration"); - migrate_add_blocker(s->migration_blocker, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (migrate_add_blocker(s->migration_blocker, errp) < 0) { error_free(s->migration_blocker); return; } diff --git a/hw/intc/arm_gicv3_its_kvm.c b/hw/intc/arm_gicv3_its_kvm.c index ad0ebabc87..87bc4aeca1 100644 --- a/hw/intc/arm_gicv3_its_kvm.c +++ b/hw/intc/arm_gicv3_its_kvm.c @@ -113,9 +113,7 @@ static void kvm_arm_its_realize(DeviceState *dev, Error= **errp) GITS_CTLR)) { error_setg(&s->migration_blocker, "This operating system kernel " "does not support vITS migration"); - migrate_add_blocker(s->migration_blocker, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (migrate_add_blocker(s->migration_blocker, errp) < 0) { error_free(s->migration_blocker); return; } diff --git a/hw/intc/arm_gicv3_kvm.c b/hw/intc/arm_gicv3_kvm.c index ca43bf87ca..eddd07c743 100644 --- a/hw/intc/arm_gicv3_kvm.c +++ b/hw/intc/arm_gicv3_kvm.c @@ -858,9 +858,7 @@ static void kvm_arm_gicv3_realize(DeviceState *dev, Err= or **errp) GICD_CTLR)) { error_setg(&s->migration_blocker, "This operating system kernel do= es " "not support vGICv3 migration"); - migrate_add_blocker(s->migration_blocker, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (migrate_add_blocker(s->migration_blocker, errp) < 0) { error_free(s->migration_blocker); return; } diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c index a8dc9b377d..fc128b25e2 100644 --- a/hw/misc/ivshmem.c +++ b/hw/misc/ivshmem.c @@ -898,9 +898,7 @@ static void ivshmem_common_realize(PCIDevice *dev, Erro= r **errp) if (!ivshmem_is_master(s)) { error_setg(&s->migration_blocker, "Migration is disabled when using feature 'peer mode' i= n device 'ivshmem'"); - migrate_add_blocker(s->migration_blocker, &err); - if (err) { - error_propagate(errp, err); + if (migrate_add_blocker(s->migration_blocker, errp) < 0) { error_free(s->migration_blocker); return; } diff --git a/hw/scsi/vhost-scsi.c b/hw/scsi/vhost-scsi.c index c1b012aea4..13b05af29b 100644 --- a/hw/scsi/vhost-scsi.c +++ b/hw/scsi/vhost-scsi.c @@ -207,9 +207,7 @@ static void vhost_scsi_realize(DeviceState *dev, Error = **errp) "When external environment supports it (Orchestrator migra= tes " "target SCSI device state or use shared storage over netwo= rk), " "set 'migratable' property to true to enable migration."); - migrate_add_blocker(vsc->migration_blocker, &err); - if (err) { - error_propagate(errp, err); + if (migrate_add_blocker(vsc->migration_blocker, errp) < 0) { error_free(vsc->migration_blocker); goto free_virtio; } --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017122; cv=none; d=zohomail.com; s=zohoarc; b=gy9dGc5dCECjJEFAPF2z/rynlhnd2fV6Ajal2PbfaL1wdoBwv2yYvXeJ6MOAC2n3e4tqkH1tJRMxQg+ZGJ/aIzFEASuonSa/ybpbmegAFz8hrQLEgeLA5DxeUtGk6adkD6nFLUxGA8QCffof/DB0ltF3pLcBd3r2B4P+v+wHX5c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017122; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Mm/kofzRNyOunuojyEqtb79g/+IEcxiaBep8L7I0mlg=; b=awaWF+taDkqn7CoKe6u4pFsePbWWOrwNNnCMCdIXcj6fbvQEfeel/F7PtlMmml3lwyCMuOACWQSbHF8HPdeUeB7ADE9egSOUpSw+FQCmBi3Gig6Zsh1vVL8oL8lWPy/G4LscN8C02m5H0y5hxv0yyDkdg7e2dPqzZsPTpGRX7Eg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017122747618.7281430071481; Wed, 24 Jun 2020 09:45:22 -0700 (PDT) Received: from localhost ([::1]:46514 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8WX-0005Xi-BU for importer@patchew.org; Wed, 24 Jun 2020 12:45:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51228) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8V9-0002kn-3h for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:43:55 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:39305 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8V6-00053p-7V for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:43:54 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-405-m3N-ETyZMoiEV9WMw0000A-1; Wed, 24 Jun 2020 12:43:50 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id CE4E413E6; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 74DBB60F8A; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 074741138477; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Mm/kofzRNyOunuojyEqtb79g/+IEcxiaBep8L7I0mlg=; b=AWNv/Om3dTVYaq7KkFJkmMhzW27FKp0fTXsimA5LGYTMgcZ1L7QIy/Z08MGB4ZobAubwkS 1WCpqPyLweiFYTALQGmNTMXwvV0bf/v0Pu2Z89ZOZIZiWfEeGBghbUjU7oyfilr5QNPXBH 7AuQhdauSCKb2GCMLxQdjl+TNoAAlNk= X-MC-Unique: m3N-ETyZMoiEV9WMw0000A-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 10/46] qemu-option: Check return value instead of @err where convenient Date: Wed, 24 Jun 2020 18:43:08 +0200 Message-Id: <20200624164344.3778251-11-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 02:33:25 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Convert uses like opts =3D qemu_opts_create(..., &err); if (err) { ... } to opts =3D qemu_opts_create(..., &err); if (!opts) { ... } Eliminate error_propagate() that are now unnecessary. Delete @err that are now unused. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy --- block/parallels.c | 4 ++-- blockdev.c | 5 ++--- qdev-monitor.c | 6 ++---- util/qemu-config.c | 10 ++++------ util/qemu-option.c | 12 ++++-------- 5 files changed, 14 insertions(+), 23 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index 860dbb80a2..b15c9ac28d 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -823,8 +823,8 @@ static int parallels_open(BlockDriverState *bs, QDict *= options, int flags, } } =20 - opts =3D qemu_opts_create(¶llels_runtime_opts, NULL, 0, &local_err= ); - if (local_err !=3D NULL) { + opts =3D qemu_opts_create(¶llels_runtime_opts, NULL, 0, errp); + if (!opts) { goto fail_options; } =20 diff --git a/blockdev.c b/blockdev.c index 73736a4eaf..481f36c543 100644 --- a/blockdev.c +++ b/blockdev.c @@ -504,9 +504,8 @@ static BlockBackend *blockdev_init(const char *file, QD= ict *bs_opts, /* Check common options by copying from bs_opts to opts, all other opt= ions * stay in bs_opts for processing by bdrv_open(). */ id =3D qdict_get_try_str(bs_opts, "id"); - opts =3D qemu_opts_create(&qemu_common_drive_opts, id, 1, &error); - if (error) { - error_propagate(errp, error); + opts =3D qemu_opts_create(&qemu_common_drive_opts, id, 1, errp); + if (!opts) { goto err_no_opts; } =20 diff --git a/qdev-monitor.c b/qdev-monitor.c index 40c34bb9cf..3143dd2afb 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -792,13 +792,11 @@ void hmp_info_qdm(Monitor *mon, const QDict *qdict) =20 void qmp_device_add(QDict *qdict, QObject **ret_data, Error **errp) { - Error *local_err =3D NULL; QemuOpts *opts; DeviceState *dev; =20 - opts =3D qemu_opts_from_qdict(qemu_find_opts("device"), qdict, &local_= err); - if (local_err) { - error_propagate(errp, local_err); + opts =3D qemu_opts_from_qdict(qemu_find_opts("device"), qdict, errp); + if (!opts) { return; } if (!monitor_cur_is_qmp() && qdev_device_help(opts)) { diff --git a/util/qemu-config.c b/util/qemu-config.c index 772f5a219e..c0d0e9b8ef 100644 --- a/util/qemu-config.c +++ b/util/qemu-config.c @@ -493,9 +493,8 @@ static void config_parse_qdict_section(QDict *options, = QemuOptsList *opts, goto out; } =20 - subopts =3D qemu_opts_create(opts, NULL, 0, &local_err); - if (local_err) { - error_propagate(errp, local_err); + subopts =3D qemu_opts_create(opts, NULL, 0, errp); + if (!subopts) { goto out; } =20 @@ -538,10 +537,9 @@ static void config_parse_qdict_section(QDict *options,= QemuOptsList *opts, } =20 opt_name =3D g_strdup_printf("%s.%u", opts->name, i++); - subopts =3D qemu_opts_create(opts, opt_name, 1, &local_err); + subopts =3D qemu_opts_create(opts, opt_name, 1, errp); g_free(opt_name); - if (local_err) { - error_propagate(errp, local_err); + if (!subopts) { goto out; } =20 diff --git a/util/qemu-option.c b/util/qemu-option.c index fd667ea523..6119f971a4 100644 --- a/util/qemu-option.c +++ b/util/qemu-option.c @@ -670,11 +670,9 @@ void qemu_opts_set(QemuOptsList *list, const char *id, const char *name, const char *value, Error **errp) { QemuOpts *opts; - Error *local_err =3D NULL; =20 - opts =3D qemu_opts_create(list, id, 1, &local_err); - if (local_err) { - error_propagate(errp, local_err); + opts =3D qemu_opts_create(list, id, 1, errp); + if (!opts) { return; } qemu_opt_set(opts, name, value, errp); @@ -1011,10 +1009,8 @@ QemuOpts *qemu_opts_from_qdict(QemuOptsList *list, c= onst QDict *qdict, QemuOpts *opts; const QDictEntry *entry; =20 - opts =3D qemu_opts_create(list, qdict_get_try_str(qdict, "id"), 1, - &local_err); - if (local_err) { - error_propagate(errp, local_err); + opts =3D qemu_opts_create(list, qdict_get_try_str(qdict, "id"), 1, err= p); + if (!opts) { return NULL; } =20 --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018675; cv=none; d=zohomail.com; s=zohoarc; b=JrSlwgmwe8g2J6ktRS/LyG65cfdLOpEOvTNGnb4jPcR+0qHdUBOS1P0kVf3Ur2WtGmqJshXX8vJxv1pIV72ExO2WmDjqtGyBfY3upmPnMGEpONtaAbPOmecZFDUr9K2avpBRXLp9tk9ByksSX9QczSS3S2u9lAYhRErM0IChVcw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018675; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=T1CxzJSuKww59L0K/c7s+dgCYGor5N5jJqNWHGKncnU=; b=BPegpD2LI6H7UrMqlEMlWMMp9WJ0ttpk3KqI08YzG8Z0jK/o9tfYChVi4fkCU1nncrulLpVQ7QZ8O5g454KtYv1gBIrHmiGPq+si/yx8qc3Q1B54g19b2lTYGj0WKvSdfxZcs0+AzkW7paeGll2fErEPsI9frPfAg6jg5BIAChg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018675335139.40358404342476; Wed, 24 Jun 2020 10:11:15 -0700 (PDT) Received: from localhost ([::1]:33386 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8va-0000R7-3d for importer@patchew.org; Wed, 24 Jun 2020 13:11:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52046) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8Vf-0004IA-Hd for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:27 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:52838 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VD-000587-As for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:27 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-136-nxtTIbj-PJmxS0gblNKqFA-1; Wed, 24 Jun 2020 12:43:52 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id D4C92800597; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7D24E7E59F; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 0AD4B1138478; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=T1CxzJSuKww59L0K/c7s+dgCYGor5N5jJqNWHGKncnU=; b=Gux+olTFf81hggoEs1hhWc0diWGcPFM/a5xWnpuYboaQve5D0NY9ULt93eQnJHMUXMLEep LHxewyqYCxTj58bqt0aMlPipZP/io25MJO1xdiDMSPxJhSQLXMfAPiIXwOrs91HgKC4LUt 3HvWjuDpEM3aeN5PstSmvFeVyLVuli4= X-MC-Unique: nxtTIbj-PJmxS0gblNKqFA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 11/46] qemu-option: Make uses of find_desc_by_name() more similar Date: Wed, 24 Jun 2020 18:43:09 +0200 Message-Id: <20200624164344.3778251-12-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 03:27:53 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" This is to make the next commit easier to review. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy --- util/qemu-option.c | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/util/qemu-option.c b/util/qemu-option.c index 6119f971a4..9941005c91 100644 --- a/util/qemu-option.c +++ b/util/qemu-option.c @@ -270,6 +270,7 @@ static void qemu_opt_del_all(QemuOpts *opts, const char= *name) const char *qemu_opt_get(QemuOpts *opts, const char *name) { QemuOpt *opt; + const QemuOptDesc *desc; =20 if (opts =3D=3D NULL) { return NULL; @@ -277,7 +278,7 @@ const char *qemu_opt_get(QemuOpts *opts, const char *na= me) =20 opt =3D qemu_opt_find(opts, name); if (!opt) { - const QemuOptDesc *desc =3D find_desc_by_name(opts->list->desc, na= me); + desc =3D find_desc_by_name(opts->list->desc, name); if (desc && desc->def_value_str) { return desc->def_value_str; } @@ -348,6 +349,7 @@ static bool qemu_opt_get_bool_helper(QemuOpts *opts, co= nst char *name, bool defval, bool del) { QemuOpt *opt; + const QemuOptDesc *desc; bool ret =3D defval; =20 if (opts =3D=3D NULL) { @@ -356,7 +358,7 @@ static bool qemu_opt_get_bool_helper(QemuOpts *opts, co= nst char *name, =20 opt =3D qemu_opt_find(opts, name); if (opt =3D=3D NULL) { - const QemuOptDesc *desc =3D find_desc_by_name(opts->list->desc, na= me); + desc =3D find_desc_by_name(opts->list->desc, name); if (desc && desc->def_value_str) { parse_option_bool(name, desc->def_value_str, &ret, &error_abor= t); } @@ -384,6 +386,7 @@ static uint64_t qemu_opt_get_number_helper(QemuOpts *op= ts, const char *name, uint64_t defval, bool del) { QemuOpt *opt; + const QemuOptDesc *desc; uint64_t ret =3D defval; =20 if (opts =3D=3D NULL) { @@ -392,7 +395,7 @@ static uint64_t qemu_opt_get_number_helper(QemuOpts *op= ts, const char *name, =20 opt =3D qemu_opt_find(opts, name); if (opt =3D=3D NULL) { - const QemuOptDesc *desc =3D find_desc_by_name(opts->list->desc, na= me); + desc =3D find_desc_by_name(opts->list->desc, name); if (desc && desc->def_value_str) { parse_option_number(name, desc->def_value_str, &ret, &error_ab= ort); } @@ -421,6 +424,7 @@ static uint64_t qemu_opt_get_size_helper(QemuOpts *opts= , const char *name, uint64_t defval, bool del) { QemuOpt *opt; + const QemuOptDesc *desc; uint64_t ret =3D defval; =20 if (opts =3D=3D NULL) { @@ -429,7 +433,7 @@ static uint64_t qemu_opt_get_size_helper(QemuOpts *opts= , const char *name, =20 opt =3D qemu_opt_find(opts, name); if (opt =3D=3D NULL) { - const QemuOptDesc *desc =3D find_desc_by_name(opts->list->desc, na= me); + desc =3D find_desc_by_name(opts->list->desc, name); if (desc && desc->def_value_str) { parse_option_size(name, desc->def_value_str, &ret, &error_abor= t); } @@ -540,18 +544,18 @@ void qemu_opt_set_bool(QemuOpts *opts, const char *na= me, bool val, Error **errp) { QemuOpt *opt; - const QemuOptDesc *desc =3D opts->list->desc; + const QemuOptDesc *desc; =20 - opt =3D g_malloc0(sizeof(*opt)); - opt->desc =3D find_desc_by_name(desc, name); - if (!opt->desc && !opts_accepts_any(opts)) { + desc =3D find_desc_by_name(opts->list->desc, name); + if (!desc && !opts_accepts_any(opts)) { error_setg(errp, QERR_INVALID_PARAMETER, name); - g_free(opt); return; } =20 + opt =3D g_malloc0(sizeof(*opt)); opt->name =3D g_strdup(name); opt->opts =3D opts; + opt->desc =3D desc; opt->value.boolean =3D !!val; opt->str =3D g_strdup(val ? "on" : "off"); QTAILQ_INSERT_TAIL(&opts->head, opt, next); @@ -561,18 +565,18 @@ void qemu_opt_set_number(QemuOpts *opts, const char *= name, int64_t val, Error **errp) { QemuOpt *opt; - const QemuOptDesc *desc =3D opts->list->desc; + const QemuOptDesc *desc; =20 - opt =3D g_malloc0(sizeof(*opt)); - opt->desc =3D find_desc_by_name(desc, name); - if (!opt->desc && !opts_accepts_any(opts)) { + desc =3D find_desc_by_name(opts->list->desc, name); + if (!desc && !opts_accepts_any(opts)) { error_setg(errp, QERR_INVALID_PARAMETER, name); - g_free(opt); return; } =20 + opt =3D g_malloc0(sizeof(*opt)); opt->name =3D g_strdup(name); opt->opts =3D opts; + opt->desc =3D desc; opt->value.uint =3D val; opt->str =3D g_strdup_printf("%" PRId64, val); QTAILQ_INSERT_TAIL(&opts->head, opt, next); --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017286; cv=none; d=zohomail.com; s=zohoarc; b=LOSc7j3aiHK084/yiCVm3r3AfaNUv7GwS0it6VSi9dTREcVbGkN+aCcvMhMN75t2xg9D1VqSCkX79h9ml/nX9pNSf80RrSmmyl3/iE3l5zqcnGswy56DGf+d6+iwEBcn3ZpEcncOxeAmM+OQ707TkVFrjFg3uCk7hOybsYLaFxk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017286; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=UVOHo3gG9cNfj4OFo3XM9B+iB1czPL6Q9CNxTX7cqts=; b=OXRYopowtuC+wDO0+/1lzcHbiOdlhjwGiO35qphFDnzPYAm7I9Mxo6rsaxWYR9i52eNycOGyKIUAgf3TQXv0q7HLaZR/9dOFT8wjI13uVsqeAPxlrlLWePloxVy4vRL3TVN/Xtw6inz+1hQgsXfHRc0Y2mDqF/VCnQhaSzdwqQc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017286449335.5902008048653; Wed, 24 Jun 2020 09:48:06 -0700 (PDT) Received: from localhost ([::1]:56308 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8ZB-0001YF-4q for importer@patchew.org; Wed, 24 Jun 2020 12:48:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51518) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VI-0003Eb-EV for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:04 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:35048 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8V9-00055F-8o for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:04 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-117-32mMslssMhKxPYY9LtYLPg-1; Wed, 24 Jun 2020 12:43:50 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id DD2A8804003; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 856285D9D3; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 0E5D11138479; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UVOHo3gG9cNfj4OFo3XM9B+iB1czPL6Q9CNxTX7cqts=; b=RsgSGlx5qTdZ0/Je2jjxM3tkOY0E6ifuqs7vAQrkOmIxbyQW3Dk8ULDHAHqcRqlLVP1SKd LQd9tiaspRhTHob1h6gkhM5Lo1kICxTV/xBePFQE7J8cplJQBmQt93zMekU/ziZISzlGc6 Me4r5bXMfRL+Jcq85UpDeaujgfgw0cU= X-MC-Unique: 32mMslssMhKxPYY9LtYLPg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 12/46] qemu-option: Factor out helper find_default_by_name() Date: Wed, 24 Jun 2020 18:43:10 +0200 Message-Id: <20200624164344.3778251-13-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=armbru@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 02:33:25 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy --- util/qemu-option.c | 47 ++++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/util/qemu-option.c b/util/qemu-option.c index 9941005c91..ddcf3072c5 100644 --- a/util/qemu-option.c +++ b/util/qemu-option.c @@ -142,6 +142,13 @@ static const QemuOptDesc *find_desc_by_name(const Qemu= OptDesc *desc, return NULL; } =20 +static const char *find_default_by_name(QemuOpts *opts, const char *name) +{ + const QemuOptDesc *desc =3D find_desc_by_name(opts->list->desc, name); + + return desc ? desc->def_value_str : NULL; +} + void parse_option_size(const char *name, const char *value, uint64_t *ret, Error **errp) { @@ -270,7 +277,7 @@ static void qemu_opt_del_all(QemuOpts *opts, const char= *name) const char *qemu_opt_get(QemuOpts *opts, const char *name) { QemuOpt *opt; - const QemuOptDesc *desc; + const char *def_val; =20 if (opts =3D=3D NULL) { return NULL; @@ -278,9 +285,9 @@ const char *qemu_opt_get(QemuOpts *opts, const char *na= me) =20 opt =3D qemu_opt_find(opts, name); if (!opt) { - desc =3D find_desc_by_name(opts->list->desc, name); - if (desc && desc->def_value_str) { - return desc->def_value_str; + def_val =3D find_default_by_name(opts, name); + if (def_val) { + return def_val; } } return opt ? opt->str : NULL; @@ -312,7 +319,7 @@ const char *qemu_opt_iter_next(QemuOptsIter *iter) char *qemu_opt_get_del(QemuOpts *opts, const char *name) { QemuOpt *opt; - const QemuOptDesc *desc; + const char *def_val; char *str =3D NULL; =20 if (opts =3D=3D NULL) { @@ -321,9 +328,9 @@ char *qemu_opt_get_del(QemuOpts *opts, const char *name) =20 opt =3D qemu_opt_find(opts, name); if (!opt) { - desc =3D find_desc_by_name(opts->list->desc, name); - if (desc && desc->def_value_str) { - str =3D g_strdup(desc->def_value_str); + def_val =3D find_default_by_name(opts, name); + if (def_val) { + str =3D g_strdup(def_val); } return str; } @@ -349,7 +356,7 @@ static bool qemu_opt_get_bool_helper(QemuOpts *opts, co= nst char *name, bool defval, bool del) { QemuOpt *opt; - const QemuOptDesc *desc; + const char *def_val; bool ret =3D defval; =20 if (opts =3D=3D NULL) { @@ -358,9 +365,9 @@ static bool qemu_opt_get_bool_helper(QemuOpts *opts, co= nst char *name, =20 opt =3D qemu_opt_find(opts, name); if (opt =3D=3D NULL) { - desc =3D find_desc_by_name(opts->list->desc, name); - if (desc && desc->def_value_str) { - parse_option_bool(name, desc->def_value_str, &ret, &error_abor= t); + def_val =3D find_default_by_name(opts, name); + if (def_val) { + parse_option_bool(name, def_val, &ret, &error_abort); } return ret; } @@ -386,7 +393,7 @@ static uint64_t qemu_opt_get_number_helper(QemuOpts *op= ts, const char *name, uint64_t defval, bool del) { QemuOpt *opt; - const QemuOptDesc *desc; + const char *def_val; uint64_t ret =3D defval; =20 if (opts =3D=3D NULL) { @@ -395,9 +402,9 @@ static uint64_t qemu_opt_get_number_helper(QemuOpts *op= ts, const char *name, =20 opt =3D qemu_opt_find(opts, name); if (opt =3D=3D NULL) { - desc =3D find_desc_by_name(opts->list->desc, name); - if (desc && desc->def_value_str) { - parse_option_number(name, desc->def_value_str, &ret, &error_ab= ort); + def_val =3D find_default_by_name(opts, name); + if (def_val) { + parse_option_number(name, def_val, &ret, &error_abort); } return ret; } @@ -424,7 +431,7 @@ static uint64_t qemu_opt_get_size_helper(QemuOpts *opts= , const char *name, uint64_t defval, bool del) { QemuOpt *opt; - const QemuOptDesc *desc; + const char *def_val; uint64_t ret =3D defval; =20 if (opts =3D=3D NULL) { @@ -433,9 +440,9 @@ static uint64_t qemu_opt_get_size_helper(QemuOpts *opts= , const char *name, =20 opt =3D qemu_opt_find(opts, name); if (opt =3D=3D NULL) { - desc =3D find_desc_by_name(opts->list->desc, name); - if (desc && desc->def_value_str) { - parse_option_size(name, desc->def_value_str, &ret, &error_abor= t); + def_val =3D find_default_by_name(opts, name); + if (def_val) { + parse_option_size(name, def_val, &ret, &error_abort); } return ret; } --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017424; cv=none; d=zohomail.com; s=zohoarc; b=NfMqu1WpT352nteqe+tvugw9sFUqkRlN/vhnBPbrtjGRQd1bQmw9nQWuW1b0xKSTLw3ZPVJR7t3YFyb1g8oeCw208sfLZa/HvGtxhnpMG+hHUTT/ejgBzSPK7lk+CqvLRhE7H2NuxQ7j03WAyiqrAMHKnzyi0/MA2dYvomvozvY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017424; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=3Sh0UAY1+Hr4CyavGL5vHaBvy5U4c3TrBNo8FN91rFE=; b=W2i2MEh/ov9mSD+9NeUZf3+RgSF6k2hHL7/9faky06veRccQf2biFj+OU4lXvMHHCuBU9jWOj55ILszjWSnRsxtEfwHYIr2nG9hSGwzNL1TCRjg5k4I35fSfvUaA4kXwzff5r24Ku6dEnwtDkZL53qTIk3iox87JOugTH7R/i+Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 159301742439882.00543219065264; Wed, 24 Jun 2020 09:50:24 -0700 (PDT) Received: from localhost ([::1]:36034 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8bO-0005NX-Od for importer@patchew.org; Wed, 24 Jun 2020 12:50:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51542) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VJ-0003HJ-8U for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:05 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:30111 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8V9-000558-Az for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:04 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-235-UM1UQfI_OIyGk9wsuP1Ksg-1; Wed, 24 Jun 2020 12:43:50 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 36CBE8015F6; Wed, 24 Jun 2020 16:43:49 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id EF60B1A90F; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 11C95113847A; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3Sh0UAY1+Hr4CyavGL5vHaBvy5U4c3TrBNo8FN91rFE=; b=VlMTnisL8MS7RFbOKnq9yZpDrLGIKM+LlzdCfQaLC4bUUH6ij7PWcOjO5Ac1JG3wH/iJnu Ldkhbc5glwhpIqbLg8dmhw5odxQ3pmDVblwf41hY1BNM+fSdSx/44UjOYT0mois99oKOh6 0I5NpztbRBH/y/VsRK2KtnHRbbBTZEg= X-MC-Unique: UM1UQfI_OIyGk9wsuP1Ksg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 13/46] qemu-option: Simplify around find_default_by_name() Date: Wed, 24 Jun 2020 18:43:11 +0200 Message-Id: <20200624164344.3778251-14-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 02:33:25 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy --- util/qemu-option.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/util/qemu-option.c b/util/qemu-option.c index ddcf3072c5..d9293814b4 100644 --- a/util/qemu-option.c +++ b/util/qemu-option.c @@ -286,11 +286,9 @@ const char *qemu_opt_get(QemuOpts *opts, const char *n= ame) opt =3D qemu_opt_find(opts, name); if (!opt) { def_val =3D find_default_by_name(opts, name); - if (def_val) { - return def_val; - } + return def_val; } - return opt ? opt->str : NULL; + return opt->str; } =20 void qemu_opt_iter_init(QemuOptsIter *iter, QemuOpts *opts, const char *na= me) @@ -320,7 +318,7 @@ char *qemu_opt_get_del(QemuOpts *opts, const char *name) { QemuOpt *opt; const char *def_val; - char *str =3D NULL; + char *str; =20 if (opts =3D=3D NULL) { return NULL; @@ -329,10 +327,7 @@ char *qemu_opt_get_del(QemuOpts *opts, const char *nam= e) opt =3D qemu_opt_find(opts, name); if (!opt) { def_val =3D find_default_by_name(opts, name); - if (def_val) { - str =3D g_strdup(def_val); - } - return str; + return g_strdup(def_val); } str =3D opt->str; opt->str =3D NULL; --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017127; cv=none; d=zohomail.com; s=zohoarc; b=OUipQcZ3N5FR4eH0jQnt9zBzb4hyjC0+GWwKJbbhXH5ARsYnPv5KquSb4Yw2taJDypTqQHBYQojotwcA0EpLflVUrCH4eFo5khviAiyK8lLHvhb66ZP5t1+6EfnJSPeKgPRmXghXBoFtLQkZR90jZbCGtFO9vsqimXEaRaveJyc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017127; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=pktL9AI4yzCoRsOgCmHscvSfQiJ6qHLUehFnntuUG+U=; b=iXfL3NvGuHIet6E5xvgxIfUJv4NTB21495PIipzulL4kDoPbPbFvKIx/ONftGWcxUSlnf+zlWI6QD8wBl9iup/sb/CzQRuXiLdOoadYajOjAwhF0Rb6MXBteOu7X187NPFg13Pz3bBgCwusQHObIDyyJaVj0IoF5le3gt0kSAmc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017127893688.0806761143323; Wed, 24 Jun 2020 09:45:27 -0700 (PDT) Received: from localhost ([::1]:46912 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8Wc-0005hf-KD for importer@patchew.org; Wed, 24 Jun 2020 12:45:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51412) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VE-00030K-2e for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:00 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:58004 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8V7-00054G-5A for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:43:59 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-498-LDmbJXX8M8mxHALDYLV91Q-1; Wed, 24 Jun 2020 12:43:50 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 2F2D418585A6; Wed, 24 Jun 2020 16:43:49 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id F12185D9C5; Wed, 24 Jun 2020 16:43:48 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 156A7113847B; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=pktL9AI4yzCoRsOgCmHscvSfQiJ6qHLUehFnntuUG+U=; b=LBaTxWixKkq0FeU06qjcjsSIoCiJ5x0UJKrCh2lwsLG8ZRfDhA4GqtB1YEM9Ik8iQAeMNj nCCZiHziqUT14Omz4Fd0s5WhJ4IiIHpKO0NtevF2DlqtUL3KKpcJF74Cs1QEwy7+vanJ0c GWs4vhPE3I9L7UtfwrcHiVtDpqLGuUY= X-MC-Unique: LDmbJXX8M8mxHALDYLV91Q-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 14/46] qemu-option: Factor out helper opt_create() Date: Wed, 24 Jun 2020 18:43:12 +0200 Message-Id: <20200624164344.3778251-15-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 00:34:35 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" There is just one use so far. The next commit will add more. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy --- util/qemu-option.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/util/qemu-option.c b/util/qemu-option.c index d9293814b4..3cdf0c0800 100644 --- a/util/qemu-option.c +++ b/util/qemu-option.c @@ -502,6 +502,23 @@ int qemu_opt_unset(QemuOpts *opts, const char *name) } } =20 +static QemuOpt *opt_create(QemuOpts *opts, const char *name, char *value, + bool prepend) +{ + QemuOpt *opt =3D g_malloc0(sizeof(*opt)); + + opt->name =3D g_strdup(name); + opt->str =3D value; + opt->opts =3D opts; + if (prepend) { + QTAILQ_INSERT_HEAD(&opts->head, opt, next); + } else { + QTAILQ_INSERT_TAIL(&opts->head, opt, next); + } + + return opt; +} + static void opt_set(QemuOpts *opts, const char *name, char *value, bool prepend, bool *help_wanted, Error **errp) { @@ -519,16 +536,8 @@ static void opt_set(QemuOpts *opts, const char *name, = char *value, return; } =20 - opt =3D g_malloc0(sizeof(*opt)); - opt->name =3D g_strdup(name); - opt->opts =3D opts; - if (prepend) { - QTAILQ_INSERT_HEAD(&opts->head, opt, next); - } else { - QTAILQ_INSERT_TAIL(&opts->head, opt, next); - } + opt =3D opt_create(opts, name, value, prepend); opt->desc =3D desc; - opt->str =3D value; qemu_opt_parse(opt, &local_err); if (local_err) { error_propagate(errp, local_err); --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018349; cv=none; d=zohomail.com; s=zohoarc; b=BDIwY1oGBoQStqmaGVNa5boRY6WXQsnSOsF7cltOdRKB9+mVBXJgOyuNjxCFS3XTpKGpJvp54/ANOU7EFSL9SvLwMw1MExXqE3tqnQY3RGNQKlB50EgGMVY3xYLMpDyEUEC1o+7qitV9k3UmHzZOvWfIaCkR/jOX4z5nTXj54oY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018349; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=GBCwhMzt8Srm5AEdrnf8EJQ6B7P4rVmubVrJq3EvXCg=; b=ACIQy+OiAZatenHvZvpgPwiiKP5bsKhBu+T1N5Y4OCjCO8jNQKBy0qFS9Xu8+7XzUHSsP6zZEa7SWleGW2rn6hW4rxNiNiW/uB41VIwdsA0Cws8TUWjUvHiYepaAWFB9CxZJVYmTMnH7kglbMLX9Cefi72FhWhLSrl4XbO9Gec0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018349650410.51060522553087; Wed, 24 Jun 2020 10:05:49 -0700 (PDT) Received: from localhost ([::1]:36990 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8qK-0006Xn-9V for importer@patchew.org; Wed, 24 Jun 2020 13:05:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51862) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VV-0003wQ-Nl for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:17 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:22945 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VC-00056b-37 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:17 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-259-JgzCAZZ9PK6zBUIdGaOebQ-1; Wed, 24 Jun 2020 12:43:51 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 458A418585A1; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 13A75891E8; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 18F66113847C; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GBCwhMzt8Srm5AEdrnf8EJQ6B7P4rVmubVrJq3EvXCg=; b=XzWj3JM6QXePxXxz6BrfHTujT4+/IE41nlcjvGqQcVcnScOkELZQMhyWihjnQy4unHnuhP UjVHmOx/ab5b9AYMorK3b0I1mLi1UMzBlaHoyNC1JOQu0x4RErHEqLobIIQWd1R1/GVSzC K71Sf6KBtHZsHmrsDFQPHdiB3fRJ++A= X-MC-Unique: JgzCAZZ9PK6zBUIdGaOebQ-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 15/46] qemu-option: Tidy up opt_set() not to free arguments on failure Date: Wed, 24 Jun 2020 18:43:13 +0200 Message-Id: <20200624164344.3778251-16-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 02:33:25 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" opt_set() frees its argument @value on failure. Slightly unclean; functions ideally do nothing on failure. To tidy this up, move opt_create() from opt_set() into its callers, along with the cleanup. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- util/qemu-option.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/util/qemu-option.c b/util/qemu-option.c index 3cdf0c0800..14946e81f2 100644 --- a/util/qemu-option.c +++ b/util/qemu-option.c @@ -519,36 +519,39 @@ static QemuOpt *opt_create(QemuOpts *opts, const char= *name, char *value, return opt; } =20 -static void opt_set(QemuOpts *opts, const char *name, char *value, - bool prepend, bool *help_wanted, Error **errp) +static bool opt_set(QemuOpts *opts, QemuOpt *opt, bool *help_wanted, + Error **errp) { - QemuOpt *opt; const QemuOptDesc *desc; Error *local_err =3D NULL; =20 - desc =3D find_desc_by_name(opts->list->desc, name); + desc =3D find_desc_by_name(opts->list->desc, opt->name); if (!desc && !opts_accepts_any(opts)) { - g_free(value); - error_setg(errp, QERR_INVALID_PARAMETER, name); - if (help_wanted && is_help_option(name)) { + error_setg(errp, QERR_INVALID_PARAMETER, opt->name); + if (help_wanted && is_help_option(opt->name)) { *help_wanted =3D true; } - return; + return false; } =20 - opt =3D opt_create(opts, name, value, prepend); opt->desc =3D desc; qemu_opt_parse(opt, &local_err); if (local_err) { error_propagate(errp, local_err); - qemu_opt_del(opt); + return false; } + + return true; } =20 void qemu_opt_set(QemuOpts *opts, const char *name, const char *value, Error **errp) { - opt_set(opts, name, g_strdup(value), false, NULL, errp); + QemuOpt *opt =3D opt_create(opts, name, g_strdup(value), false); + + if (!opt_set(opts, opt, NULL, errp)) { + qemu_opt_del(opt); + } } =20 void qemu_opt_set_bool(QemuOpts *opts, const char *name, bool val, @@ -820,9 +823,9 @@ static void opts_do_parse(QemuOpts *opts, const char *p= arams, const char *firstname, bool prepend, bool *help_wanted, Error **errp) { - Error *local_err =3D NULL; char *option, *value; const char *p; + QemuOpt *opt; =20 for (p =3D params; *p;) { p =3D get_opt_name_value(p, firstname, &option, &value); @@ -834,10 +837,10 @@ static void opts_do_parse(QemuOpts *opts, const char = *params, continue; } =20 - opt_set(opts, option, value, prepend, help_wanted, &local_err); + opt =3D opt_create(opts, option, value, prepend); g_free(option); - if (local_err) { - error_propagate(errp, local_err); + if (!opt_set(opts, opt, help_wanted, errp)) { + qemu_opt_del(opt); return; } } --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018341; cv=none; d=zohomail.com; s=zohoarc; b=YJ3o9z/rE3ZoRd/no9u5cP92od1KgSZBJI0dUYZnCv1ef37zKEkSfXy0ERPQWDxHL/pL/1SsFJ1qsQ1JGEup9lhbuYP/G7TWXL+jEtqeWRktvbB3BI9thrwVbMWEoSkZofEWzLIV3yR1fMusBLfZDFjGKbG7gmbzMsmv1ADEVgI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018341; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=5Wu5zYiLCuR0Lw1xjwnS+ZFuLCqkfXHOO8+tGOU6AYE=; b=M6jJapF9+km6YhoAaO7c8NqDWUUpBUrQcnoonV+2ILsGBl4QtIyL37M4MdPBaV/RFbIi5YQCArW3IgXczpqFdeYWlK7FGvD9ESQqRSDjr1PgPYt337+T6xFtPB1W3C9YZPQl2oHazPiLhUNffPz5QCFFWW0a5MMBF8nVBrP5PGg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018341217770.7071749448193; Wed, 24 Jun 2020 10:05:41 -0700 (PDT) Received: from localhost ([::1]:36260 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8qB-0006FX-Sp for importer@patchew.org; Wed, 24 Jun 2020 13:05:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52062) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8Vf-0004JG-SL for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:27 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:36142 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VD-00058c-AG for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:27 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-400-ZaGnswEqPuKRJGs9UwoUCw-1; Wed, 24 Jun 2020 12:43:55 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9DE76800C60; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1B23C5D9C5; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 1CC07113847D; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5Wu5zYiLCuR0Lw1xjwnS+ZFuLCqkfXHOO8+tGOU6AYE=; b=JJXXoEdjwEeNkL3Wk5jY8ORaKdsl2tXVUgSrWZifsiNGbc4AMwuAfQWy3yZxOYTMVDr3bQ lDSj/QOujl72he8flABXLIrNQy43b8Bmo1hOkZMNMPXSTX36zKr09FYzKAuqstVCScvcaj z1YZ6E4cQneVKW5PIinq4UVNU4Nsi7c= X-MC-Unique: ZaGnswEqPuKRJGs9UwoUCw-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 16/46] qemu-option: Make functions taking Error ** return bool, not void Date: Wed, 24 Jun 2020 18:43:14 +0200 Message-Id: <20200624164344.3778251-17-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 00:34:35 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" See recent commit "error: Document Error API usage rules" for rationale. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy --- include/qemu/option.h | 16 ++++---- blockdev.c | 5 ++- util/qemu-option.c | 92 +++++++++++++++++++++++++------------------ 3 files changed, 64 insertions(+), 49 deletions(-) diff --git a/include/qemu/option.h b/include/qemu/option.h index eb4097889d..2d77b10f90 100644 --- a/include/qemu/option.h +++ b/include/qemu/option.h @@ -30,7 +30,7 @@ =20 const char *get_opt_value(const char *p, char **value); =20 -void parse_option_size(const char *name, const char *value, +bool parse_option_size(const char *name, const char *value, uint64_t *ret, Error **errp); bool has_help_option(const char *param); =20 @@ -80,11 +80,11 @@ uint64_t qemu_opt_get_number_del(QemuOpts *opts, const = char *name, uint64_t qemu_opt_get_size_del(QemuOpts *opts, const char *name, uint64_t defval); int qemu_opt_unset(QemuOpts *opts, const char *name); -void qemu_opt_set(QemuOpts *opts, const char *name, const char *value, +bool qemu_opt_set(QemuOpts *opts, const char *name, const char *value, Error **errp); -void qemu_opt_set_bool(QemuOpts *opts, const char *name, bool val, +bool qemu_opt_set_bool(QemuOpts *opts, const char *name, bool val, Error **errp); -void qemu_opt_set_number(QemuOpts *opts, const char *name, int64_t val, +bool qemu_opt_set_number(QemuOpts *opts, const char *name, int64_t val, Error **errp); typedef int (*qemu_opt_loopfunc)(void *opaque, const char *name, const char *value, @@ -106,13 +106,13 @@ QemuOpts *qemu_opts_create(QemuOptsList *list, const = char *id, int fail_if_exists, Error **errp); void qemu_opts_reset(QemuOptsList *list); void qemu_opts_loc_restore(QemuOpts *opts); -void qemu_opts_set(QemuOptsList *list, const char *id, +bool qemu_opts_set(QemuOptsList *list, const char *id, const char *name, const char *value, Error **errp); const char *qemu_opts_id(QemuOpts *opts); void qemu_opts_set_id(QemuOpts *opts, char *id); void qemu_opts_del(QemuOpts *opts); -void qemu_opts_validate(QemuOpts *opts, const QemuOptDesc *desc, Error **e= rrp); -void qemu_opts_do_parse(QemuOpts *opts, const char *params, +bool qemu_opts_validate(QemuOpts *opts, const QemuOptDesc *desc, Error **e= rrp); +bool qemu_opts_do_parse(QemuOpts *opts, const char *params, const char *firstname, Error **errp); QemuOpts *qemu_opts_parse_noisily(QemuOptsList *list, const char *params, bool permit_abbrev); @@ -125,7 +125,7 @@ QemuOpts *qemu_opts_from_qdict(QemuOptsList *list, cons= t QDict *qdict, QDict *qemu_opts_to_qdict_filtered(QemuOpts *opts, QDict *qdict, QemuOptsList *list, bool del); QDict *qemu_opts_to_qdict(QemuOpts *opts, QDict *qdict); -void qemu_opts_absorb_qdict(QemuOpts *opts, QDict *qdict, Error **errp); +bool qemu_opts_absorb_qdict(QemuOpts *opts, QDict *qdict, Error **errp); =20 typedef int (*qemu_opts_loopfunc)(void *opaque, QemuOpts *opts, Error **er= rp); int qemu_opts_foreach(QemuOptsList *list, qemu_opts_loopfunc func, diff --git a/blockdev.c b/blockdev.c index 481f36c543..1987625aba 100644 --- a/blockdev.c +++ b/blockdev.c @@ -705,7 +705,7 @@ BlockDriverState *bdrv_next_monitor_owned(BlockDriverSt= ate *bs) : QTAILQ_FIRST(&monitor_bdrv_states); } =20 -static void qemu_opt_rename(QemuOpts *opts, const char *from, const char *= to, +static bool qemu_opt_rename(QemuOpts *opts, const char *from, const char *= to, Error **errp) { const char *value; @@ -715,7 +715,7 @@ static void qemu_opt_rename(QemuOpts *opts, const char = *from, const char *to, if (qemu_opt_find(opts, to)) { error_setg(errp, "'%s' and its alias '%s' can't be used at the= " "same time", to, from); - return; + return false; } } =20 @@ -724,6 +724,7 @@ static void qemu_opt_rename(QemuOpts *opts, const char = *from, const char *to, qemu_opt_set(opts, to, value, &error_abort); qemu_opt_unset(opts, from); } + return true; } =20 QemuOptsList qemu_legacy_drive_opts =3D { diff --git a/util/qemu-option.c b/util/qemu-option.c index 14946e81f2..ff1e703b52 100644 --- a/util/qemu-option.c +++ b/util/qemu-option.c @@ -96,7 +96,7 @@ const char *get_opt_value(const char *p, char **value) return offset; } =20 -static void parse_option_bool(const char *name, const char *value, bool *r= et, +static bool parse_option_bool(const char *name, const char *value, bool *r= et, Error **errp) { if (!strcmp(value, "on")) { @@ -106,10 +106,12 @@ static void parse_option_bool(const char *name, const= char *value, bool *ret, } else { error_setg(errp, QERR_INVALID_PARAMETER_VALUE, name, "'on' or 'off'"); + return false; } + return true; } =20 -static void parse_option_number(const char *name, const char *value, +static bool parse_option_number(const char *name, const char *value, uint64_t *ret, Error **errp) { uint64_t number; @@ -119,13 +121,14 @@ static void parse_option_number(const char *name, con= st char *value, if (err =3D=3D -ERANGE) { error_setg(errp, "Value '%s' is too large for parameter '%s'", value, name); - return; + return false; } if (err) { error_setg(errp, QERR_INVALID_PARAMETER_VALUE, name, "a number"); - return; + return false; } *ret =3D number; + return true; } =20 static const QemuOptDesc *find_desc_by_name(const QemuOptDesc *desc, @@ -149,7 +152,7 @@ static const char *find_default_by_name(QemuOpts *opts,= const char *name) return desc ? desc->def_value_str : NULL; } =20 -void parse_option_size(const char *name, const char *value, +bool parse_option_size(const char *name, const char *value, uint64_t *ret, Error **errp) { uint64_t size; @@ -159,7 +162,7 @@ void parse_option_size(const char *name, const char *va= lue, if (err =3D=3D -ERANGE) { error_setg(errp, "Value '%s' is out of range for parameter '%s'", value, name); - return; + return false; } if (err) { error_setg(errp, QERR_INVALID_PARAMETER_VALUE, name, @@ -167,9 +170,10 @@ void parse_option_size(const char *name, const char *v= alue, error_append_hint(errp, "Optional suffix k, M, G, T, P or E means" " kilo-, mega-, giga-, tera-, peta-\n" "and exabytes, respectively.\n"); - return; + return false; } *ret =3D size; + return true; } =20 static const char *opt_type_to_string(enum QemuOptType type) @@ -460,24 +464,24 @@ uint64_t qemu_opt_get_size_del(QemuOpts *opts, const = char *name, return qemu_opt_get_size_helper(opts, name, defval, true); } =20 -static void qemu_opt_parse(QemuOpt *opt, Error **errp) +static bool qemu_opt_parse(QemuOpt *opt, Error **errp) { if (opt->desc =3D=3D NULL) - return; + return true; =20 switch (opt->desc->type) { case QEMU_OPT_STRING: /* nothing */ - return; + return true; case QEMU_OPT_BOOL: - parse_option_bool(opt->name, opt->str, &opt->value.boolean, errp); - break; + return parse_option_bool(opt->name, opt->str, &opt->value.boolean, + errp); case QEMU_OPT_NUMBER: - parse_option_number(opt->name, opt->str, &opt->value.uint, errp); - break; + return parse_option_number(opt->name, opt->str, &opt->value.uint, + errp); case QEMU_OPT_SIZE: - parse_option_size(opt->name, opt->str, &opt->value.uint, errp); - break; + return parse_option_size(opt->name, opt->str, &opt->value.uint, + errp); default: abort(); } @@ -544,17 +548,19 @@ static bool opt_set(QemuOpts *opts, QemuOpt *opt, boo= l *help_wanted, return true; } =20 -void qemu_opt_set(QemuOpts *opts, const char *name, const char *value, +bool qemu_opt_set(QemuOpts *opts, const char *name, const char *value, Error **errp) { QemuOpt *opt =3D opt_create(opts, name, g_strdup(value), false); =20 if (!opt_set(opts, opt, NULL, errp)) { qemu_opt_del(opt); + return false; } + return true; } =20 -void qemu_opt_set_bool(QemuOpts *opts, const char *name, bool val, +bool qemu_opt_set_bool(QemuOpts *opts, const char *name, bool val, Error **errp) { QemuOpt *opt; @@ -563,7 +569,7 @@ void qemu_opt_set_bool(QemuOpts *opts, const char *name= , bool val, desc =3D find_desc_by_name(opts->list->desc, name); if (!desc && !opts_accepts_any(opts)) { error_setg(errp, QERR_INVALID_PARAMETER, name); - return; + return false; } =20 opt =3D g_malloc0(sizeof(*opt)); @@ -573,9 +579,10 @@ void qemu_opt_set_bool(QemuOpts *opts, const char *nam= e, bool val, opt->value.boolean =3D !!val; opt->str =3D g_strdup(val ? "on" : "off"); QTAILQ_INSERT_TAIL(&opts->head, opt, next); + return true; } =20 -void qemu_opt_set_number(QemuOpts *opts, const char *name, int64_t val, +bool qemu_opt_set_number(QemuOpts *opts, const char *name, int64_t val, Error **errp) { QemuOpt *opt; @@ -584,7 +591,7 @@ void qemu_opt_set_number(QemuOpts *opts, const char *na= me, int64_t val, desc =3D find_desc_by_name(opts->list->desc, name); if (!desc && !opts_accepts_any(opts)) { error_setg(errp, QERR_INVALID_PARAMETER, name); - return; + return false; } =20 opt =3D g_malloc0(sizeof(*opt)); @@ -594,6 +601,7 @@ void qemu_opt_set_number(QemuOpts *opts, const char *na= me, int64_t val, opt->value.uint =3D val; opt->str =3D g_strdup_printf("%" PRId64, val); QTAILQ_INSERT_TAIL(&opts->head, opt, next); + return true; } =20 /** @@ -684,16 +692,16 @@ void qemu_opts_loc_restore(QemuOpts *opts) loc_restore(&opts->loc); } =20 -void qemu_opts_set(QemuOptsList *list, const char *id, +bool qemu_opts_set(QemuOptsList *list, const char *id, const char *name, const char *value, Error **errp) { QemuOpts *opts; =20 opts =3D qemu_opts_create(list, id, 1, errp); if (!opts) { - return; + return false; } - qemu_opt_set(opts, name, value, errp); + return qemu_opt_set(opts, name, value, errp); } =20 const char *qemu_opts_id(QemuOpts *opts) @@ -819,7 +827,7 @@ static const char *get_opt_name_value(const char *param= s, return p; } =20 -static void opts_do_parse(QemuOpts *opts, const char *params, +static bool opts_do_parse(QemuOpts *opts, const char *params, const char *firstname, bool prepend, bool *help_wanted, Error **errp) { @@ -841,9 +849,11 @@ static void opts_do_parse(QemuOpts *opts, const char *= params, g_free(option); if (!opt_set(opts, opt, help_wanted, errp)) { qemu_opt_del(opt); - return; + return false; } } + + return true; } =20 static char *opts_parse_id(const char *params) @@ -889,10 +899,10 @@ bool has_help_option(const char *params) * key=3D, and is treated as if key was @firstname. * On error, store an error object through @errp if non-null. */ -void qemu_opts_do_parse(QemuOpts *opts, const char *params, +bool qemu_opts_do_parse(QemuOpts *opts, const char *params, const char *firstname, Error **errp) { - opts_do_parse(opts, params, firstname, false, NULL, errp); + return opts_do_parse(opts, params, firstname, false, NULL, errp); } =20 static QemuOpts *opts_parse(QemuOptsList *list, const char *params, @@ -980,17 +990,18 @@ void qemu_opts_set_defaults(QemuOptsList *list, const= char *params, assert(opts); } =20 -static void qemu_opts_from_qdict_entry(QemuOpts *opts, +static bool qemu_opts_from_qdict_entry(QemuOpts *opts, const QDictEntry *entry, Error **errp) { const char *key =3D qdict_entry_key(entry); QObject *obj =3D qdict_entry_value(entry); - char buf[32], *tmp =3D NULL; + char buf[32]; + g_autofree char *tmp =3D NULL; const char *value; =20 if (!strcmp(key, "id")) { - return; + return true; } =20 switch (qobject_type(obj)) { @@ -1007,11 +1018,10 @@ static void qemu_opts_from_qdict_entry(QemuOpts *op= ts, value =3D buf; break; default: - return; + return true; } =20 - qemu_opt_set(opts, key, value, errp); - g_free(tmp); + return qemu_opt_set(opts, key, value, errp); } =20 /* @@ -1053,7 +1063,7 @@ QemuOpts *qemu_opts_from_qdict(QemuOptsList *list, co= nst QDict *qdict, * from the QDict. When this function returns, the QDict contains only tho= se * entries that couldn't be added to the QemuOpts. */ -void qemu_opts_absorb_qdict(QemuOpts *opts, QDict *qdict, Error **errp) +bool qemu_opts_absorb_qdict(QemuOpts *opts, QDict *qdict, Error **errp) { const QDictEntry *entry, *next; =20 @@ -1068,13 +1078,15 @@ void qemu_opts_absorb_qdict(QemuOpts *opts, QDict *= qdict, Error **errp) qemu_opts_from_qdict_entry(opts, entry, &local_err); if (local_err) { error_propagate(errp, local_err); - return; + return false; } qdict_del(qdict, entry->key); } =20 entry =3D next; } + + return true; } =20 /* @@ -1134,7 +1146,7 @@ QDict *qemu_opts_to_qdict(QemuOpts *opts, QDict *qdic= t) /* Validate parsed opts against descriptions where no * descriptions were provided in the QemuOptsList. */ -void qemu_opts_validate(QemuOpts *opts, const QemuOptDesc *desc, Error **e= rrp) +bool qemu_opts_validate(QemuOpts *opts, const QemuOptDesc *desc, Error **e= rrp) { QemuOpt *opt; Error *local_err =3D NULL; @@ -1145,15 +1157,17 @@ void qemu_opts_validate(QemuOpts *opts, const QemuO= ptDesc *desc, Error **errp) opt->desc =3D find_desc_by_name(desc, opt->name); if (!opt->desc) { error_setg(errp, QERR_INVALID_PARAMETER, opt->name); - return; + return false; } =20 qemu_opt_parse(opt, &local_err); if (local_err) { error_propagate(errp, local_err); - return; + return false; } } + + return true; } =20 /** --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017749; cv=none; d=zohomail.com; s=zohoarc; b=On3HWZiPgsiise8SqOgXdwvWaXyNlkMRLSgdrNoGk8bM3CVyKBYo68kaDcwx4X0fJxPeheritAetY+/Ok063tq2o18WYLjP3eyr8VSxyojT0tLKVIz473x06M6k+u7/Gu4Xrf5M+Vgz5+2MzgRdjnO0A7pIkPcSzUS6WFNOXrSI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017749; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=0gbrpNnejONPlEerersEizFhjelSpM3tnwX+XQZ7LfU=; b=mUmhZ82Ir2Ko78+kollfkzxcC012lu59QQGR1CJ4O06HEHBMSddA+xzVvlOkAqSp1+8nzvi7C3qD6NJjsybPF1CyDG6vbR12fUKCFs2/gSJrmwDjlbdAJaw/MjPUOMYTc/yiSuf5KqwsfAI1r2HM2JKrUrEZ+JxmJxDNSDHlRWM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017749989554.5587251002883; Wed, 24 Jun 2020 09:55:49 -0700 (PDT) Received: from localhost ([::1]:57824 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8ge-0006oW-Gb for importer@patchew.org; Wed, 24 Jun 2020 12:55:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51796) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VT-0003pG-GP for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:15 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:20202 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VB-00056T-OC for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:15 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-40-fPOgPVvCO6WH38JRqO-l_Q-1; Wed, 24 Jun 2020 12:43:51 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id C2B55804015; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 17BDF79310; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 21055113847E; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0gbrpNnejONPlEerersEizFhjelSpM3tnwX+XQZ7LfU=; b=TFrRWGZ3xNLANVwEjgGOmCqwHynMaqNbRzjIaX8j3LymW24rPs+aqqRz4WBvNDzg6M2YxL n6InTmJYwwKyT+zqJqr20FKO9Mi8oG/qdB03yH4Ks/SoARH0Gj8R2sDClJStTKpvEDIPir ZrAPQQWRhhmrxB+Oh/Ic9FO61fKm4NE= X-MC-Unique: fPOgPVvCO6WH38JRqO-l_Q-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 17/46] qemu-option: Smooth error checking with Coccinelle Date: Wed, 24 Jun 2020 18:43:15 +0200 Message-Id: <20200624164344.3778251-18-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=armbru@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 00:34:35 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The previous commit enables conversion of foo(..., &err); if (err) { ... } to if (!foo(..., &err)) { ... } for QemuOpts functions that now return true / false on success / error. Coccinelle script: @@ identifier fun =3D {opts_do_parse, parse_option_bool, parse_option_numb= er, parse_option_size, qemu_opt_parse, qemu_opt_rename, qemu_opt_set, qemu_= opt_set_bool, qemu_opt_set_number, qemu_opts_absorb_qdict, qemu_opts_do_par= se, qemu_opts_from_qdict_entry, qemu_opts_set, qemu_opts_validate}; expression list args, args2; typedef Error; Error *err; identifier errp; @@ - fun(args, &err, args2); - if (err) { + if (!fun(args, errp, args2)) { ... when !=3D err - error_propagate(errp, err); ... } @@ identifier fun =3D {opts_do_parse, parse_option_bool, parse_option_numb= er, parse_option_size, qemu_opt_parse, qemu_opt_rename, qemu_opt_set, qemu_= opt_set_bool, qemu_opt_set_number, qemu_opts_absorb_qdict, qemu_opts_do_par= se, qemu_opts_from_qdict_entry, qemu_opts_set, qemu_opts_validate}; expression list args, args2; typedef Error; Error *err; @@ - fun(args, &err, args2); - if (err) { + if (!fun(args, &err, args2)) { ... } Eliminate error_propagate() that are now unnecessary. Delete @err that are now unused. Tidy up line breaks and whitespace. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy --- block.c | 18 ++++++------------ block/blkdebug.c | 4 +--- block/blklogwrites.c | 4 +--- block/blkverify.c | 4 +--- block/crypto.c | 5 +---- block/curl.c | 5 +---- block/file-posix.c | 8 ++------ block/file-win32.c | 8 ++------ block/gluster.c | 17 +++++------------ block/iscsi.c | 4 +--- block/nbd.c | 5 +---- block/parallels.c | 3 +-- block/qcow2.c | 4 +--- block/quorum.c | 3 +-- block/raw-format.c | 5 +---- block/replication.c | 3 +-- block/sheepdog.c | 5 +---- block/ssh.c | 4 +--- block/throttle.c | 5 +---- block/vpc.c | 4 +--- block/vvfat.c | 5 +---- block/vxhs.c | 6 ++---- blockdev.c | 15 ++++----------- chardev/char.c | 6 ++---- contrib/ivshmem-server/main.c | 4 ++-- hw/net/virtio-net.c | 5 ++--- hw/smbios/smbios.c | 33 ++++++++------------------------- qapi/string-input-visitor.c | 5 +---- qemu-img.c | 19 +++++++------------ tpm.c | 5 +---- util/qemu-config.c | 15 ++++----------- util/qemu-option.c | 26 +++++--------------------- 32 files changed, 70 insertions(+), 192 deletions(-) diff --git a/block.c b/block.c index 30a72bc4c2..77e85f13db 100644 --- a/block.c +++ b/block.c @@ -1629,9 +1629,7 @@ static int bdrv_open_common(BlockDriverState *bs, Blo= ckBackend *file, assert(options !=3D NULL && bs->options !=3D options); =20 opts =3D qemu_opts_create(&bdrv_runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto fail_opts; } @@ -4091,9 +4089,7 @@ int bdrv_reopen_prepare(BDRVReopenState *reopen_state= , BlockReopenQueue *queue, =20 /* Process generic block layer options */ opts =3D qemu_opts_create(&bdrv_runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, reopen_state->options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, reopen_state->options, errp)) { ret =3D -EINVAL; goto error; } @@ -6077,8 +6073,7 @@ void bdrv_img_create(const char *filename, const char= *fmt, =20 /* Parse -o options */ if (options) { - qemu_opts_do_parse(opts, options, NULL, &local_err); - if (local_err) { + if (!qemu_opts_do_parse(opts, options, NULL, &local_err)) { goto out; } } @@ -6091,8 +6086,8 @@ void bdrv_img_create(const char *filename, const char= *fmt, } =20 if (base_filename) { - qemu_opt_set(opts, BLOCK_OPT_BACKING_FILE, base_filename, &local_e= rr); - if (local_err) { + if (!qemu_opt_set(opts, BLOCK_OPT_BACKING_FILE, base_filename, + &local_err)) { error_setg(errp, "Backing file not supported for file format '= %s'", fmt); goto out; @@ -6100,8 +6095,7 @@ void bdrv_img_create(const char *filename, const char= *fmt, } =20 if (base_fmt) { - qemu_opt_set(opts, BLOCK_OPT_BACKING_FMT, base_fmt, &local_err); - if (local_err) { + if (!qemu_opt_set(opts, BLOCK_OPT_BACKING_FMT, base_fmt, &local_er= r)) { error_setg(errp, "Backing file format not supported for file " "format '%s'", fmt); goto out; diff --git a/block/blkdebug.c b/block/blkdebug.c index 7194bc7f06..fa4b4fefdc 100644 --- a/block/blkdebug.c +++ b/block/blkdebug.c @@ -472,9 +472,7 @@ static int blkdebug_open(BlockDriverState *bs, QDict *o= ptions, int flags, uint64_t align; =20 opts =3D qemu_opts_create(&runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto out; } diff --git a/block/blklogwrites.c b/block/blklogwrites.c index 6753bd9a3e..57315f56b4 100644 --- a/block/blklogwrites.c +++ b/block/blklogwrites.c @@ -149,10 +149,8 @@ static int blk_log_writes_open(BlockDriverState *bs, Q= Dict *options, int flags, bool log_append; =20 opts =3D qemu_opts_create(&runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; - error_propagate(errp, local_err); goto fail; } =20 diff --git a/block/blkverify.c b/block/blkverify.c index 2f261de24b..4aed53ab59 100644 --- a/block/blkverify.c +++ b/block/blkverify.c @@ -116,9 +116,7 @@ static int blkverify_open(BlockDriverState *bs, QDict *= options, int flags, int ret; =20 opts =3D qemu_opts_create(&runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto fail; } diff --git a/block/crypto.c b/block/crypto.c index 973b57b3eb..5b2b97ea2f 100644 --- a/block/crypto.c +++ b/block/crypto.c @@ -212,7 +212,6 @@ static int block_crypto_open_generic(QCryptoBlockFormat= format, { BlockCrypto *crypto =3D bs->opaque; QemuOpts *opts =3D NULL; - Error *local_err =3D NULL; int ret =3D -EINVAL; QCryptoBlockOpenOptions *open_opts =3D NULL; unsigned int cflags =3D 0; @@ -228,9 +227,7 @@ static int block_crypto_open_generic(QCryptoBlockFormat= format, bs->file->bs->supported_write_flags; =20 opts =3D qemu_opts_create(opts_spec, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { goto cleanup; } =20 diff --git a/block/curl.c b/block/curl.c index 6e325901dc..4f907c47be 100644 --- a/block/curl.c +++ b/block/curl.c @@ -669,7 +669,6 @@ static int curl_open(BlockDriverState *bs, QDict *optio= ns, int flags, BDRVCURLState *s =3D bs->opaque; CURLState *state =3D NULL; QemuOpts *opts; - Error *local_err =3D NULL; const char *file; const char *cookie; const char *cookie_secret; @@ -695,9 +694,7 @@ static int curl_open(BlockDriverState *bs, QDict *optio= ns, int flags, =20 qemu_mutex_init(&s->mutex); opts =3D qemu_opts_create(&runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { goto out_noclean; } =20 diff --git a/block/file-posix.c b/block/file-posix.c index 2294bf5d00..70cbb8460c 100644 --- a/block/file-posix.c +++ b/block/file-posix.c @@ -490,9 +490,7 @@ static int raw_open_common(BlockDriverState *bs, QDict = *options, OnOffAuto locking; =20 opts =3D qemu_opts_create(&raw_runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto fail; } @@ -1000,9 +998,7 @@ static int raw_reopen_prepare(BDRVReopenState *state, =20 /* Handle options changes */ opts =3D qemu_opts_create(&raw_runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, state->options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, state->options, errp)) { ret =3D -EINVAL; goto out; } diff --git a/block/file-win32.c b/block/file-win32.c index 221aaf713e..ab69bd811a 100644 --- a/block/file-win32.c +++ b/block/file-win32.c @@ -338,9 +338,7 @@ static int raw_open(BlockDriverState *bs, QDict *option= s, int flags, s->type =3D FTYPE_FILE; =20 opts =3D qemu_opts_create(&raw_runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto fail; } @@ -739,9 +737,7 @@ static int hdev_open(BlockDriverState *bs, QDict *optio= ns, int flags, =20 QemuOpts *opts =3D qemu_opts_create(&raw_runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto done; } diff --git a/block/gluster.c b/block/gluster.c index 31233cac69..c620880f27 100644 --- a/block/gluster.c +++ b/block/gluster.c @@ -523,8 +523,7 @@ static int qemu_gluster_parse_json(BlockdevOptionsGlust= er *gconf, =20 /* create opts info from runtime_json_opts list */ opts =3D qemu_opts_create(&runtime_json_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { + if (!qemu_opts_absorb_qdict(opts, options, &local_err)) { goto out; } =20 @@ -555,8 +554,7 @@ static int qemu_gluster_parse_json(BlockdevOptionsGlust= er *gconf, =20 /* create opts info from runtime_type_opts list */ opts =3D qemu_opts_create(&runtime_type_opts, NULL, 0, &error_abor= t); - qemu_opts_absorb_qdict(opts, backing_options, &local_err); - if (local_err) { + if (!qemu_opts_absorb_qdict(opts, backing_options, &local_err)) { goto out; } =20 @@ -586,8 +584,7 @@ static int qemu_gluster_parse_json(BlockdevOptionsGlust= er *gconf, if (gsconf->type =3D=3D SOCKET_ADDRESS_TYPE_INET) { /* create opts info from runtime_inet_opts list */ opts =3D qemu_opts_create(&runtime_inet_opts, NULL, 0, &error_= abort); - qemu_opts_absorb_qdict(opts, backing_options, &local_err); - if (local_err) { + if (!qemu_opts_absorb_qdict(opts, backing_options, &local_err)= ) { goto out; } =20 @@ -635,8 +632,7 @@ static int qemu_gluster_parse_json(BlockdevOptionsGlust= er *gconf, } else { /* create opts info from runtime_unix_opts list */ opts =3D qemu_opts_create(&runtime_unix_opts, NULL, 0, &error_= abort); - qemu_opts_absorb_qdict(opts, backing_options, &local_err); - if (local_err) { + if (!qemu_opts_absorb_qdict(opts, backing_options, &local_err)= ) { goto out; } =20 @@ -815,13 +811,10 @@ static int qemu_gluster_open(BlockDriverState *bs, Q= Dict *options, int ret =3D 0; BlockdevOptionsGluster *gconf =3D NULL; QemuOpts *opts; - Error *local_err =3D NULL; const char *filename, *logfile; =20 opts =3D qemu_opts_create(&runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto out; } diff --git a/block/iscsi.c b/block/iscsi.c index a8b76979d8..78d58ff400 100644 --- a/block/iscsi.c +++ b/block/iscsi.c @@ -1792,9 +1792,7 @@ static int iscsi_open(BlockDriverState *bs, QDict *op= tions, int flags, int i, ret =3D 0, timeout =3D 0, lun; =20 opts =3D qemu_opts_create(&runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto out; } diff --git a/block/nbd.c b/block/nbd.c index eed160c5cd..9789c56476 100644 --- a/block/nbd.c +++ b/block/nbd.c @@ -1836,13 +1836,10 @@ static int nbd_process_options(BlockDriverState *bs= , QDict *options, { BDRVNBDState *s =3D bs->opaque; QemuOpts *opts; - Error *local_err =3D NULL; int ret =3D -EINVAL; =20 opts =3D qemu_opts_create(&nbd_runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { goto error; } =20 diff --git a/block/parallels.c b/block/parallels.c index b15c9ac28d..ef0d92d05c 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -828,8 +828,7 @@ static int parallels_open(BlockDriverState *bs, QDict *= options, int flags, goto fail_options; } =20 - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err !=3D NULL) { + if (!qemu_opts_absorb_qdict(opts, options, &local_err)) { goto fail_options; } =20 diff --git a/block/qcow2.c b/block/qcow2.c index e81c284319..a9137a535b 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -977,9 +977,7 @@ static int qcow2_update_options_prepare(BlockDriverStat= e *bs, encryptfmt =3D qdict_get_try_str(encryptopts, "format"); =20 opts =3D qemu_opts_create(&qcow2_runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto fail; } diff --git a/block/quorum.c b/block/quorum.c index 7cf7ab1546..beb3b6dbcc 100644 --- a/block/quorum.c +++ b/block/quorum.c @@ -922,8 +922,7 @@ static int quorum_open(BlockDriverState *bs, QDict *opt= ions, int flags, } =20 opts =3D qemu_opts_create(&quorum_runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { + if (!qemu_opts_absorb_qdict(opts, options, &local_err)) { ret =3D -EINVAL; goto exit; } diff --git a/block/raw-format.c b/block/raw-format.c index 233d019ca3..42ec50802b 100644 --- a/block/raw-format.c +++ b/block/raw-format.c @@ -74,14 +74,11 @@ static QemuOptsList raw_create_opts =3D { static int raw_read_options(QDict *options, uint64_t *offset, bool *has_si= ze, uint64_t *size, Error **errp) { - Error *local_err =3D NULL; QemuOpts *opts =3D NULL; int ret; =20 opts =3D qemu_opts_create(&raw_runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto end; } diff --git a/block/replication.c b/block/replication.c index aa7164dbe3..00a50b095e 100644 --- a/block/replication.c +++ b/block/replication.c @@ -99,8 +99,7 @@ static int replication_open(BlockDriverState *bs, QDict *= options, =20 ret =3D -EINVAL; opts =3D qemu_opts_create(&replication_runtime_opts, NULL, 0, &error_a= bort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { + if (!qemu_opts_absorb_qdict(opts, options, &local_err)) { goto fail; } =20 diff --git a/block/sheepdog.c b/block/sheepdog.c index 27a30d17f4..9cb5ae5fc6 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -1550,15 +1550,12 @@ static int sd_open(BlockDriverState *bs, QDict *opt= ions, int flags, uint64_t snap_id; char *buf =3D NULL; QemuOpts *opts; - Error *local_err =3D NULL; =20 s->bs =3D bs; s->aio_context =3D bdrv_get_aio_context(bs); =20 opts =3D qemu_opts_create(&runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto err_no_fd; } diff --git a/block/ssh.c b/block/ssh.c index 098dbe03c1..f00b89684a 100644 --- a/block/ssh.c +++ b/block/ssh.c @@ -622,9 +622,7 @@ static BlockdevOptionsSsh *ssh_parse_options(QDict *opt= ions, Error **errp) =20 /* Translate legacy options */ opts =3D qemu_opts_create(&ssh_runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { goto fail; } =20 diff --git a/block/throttle.c b/block/throttle.c index 0ebbad0743..1c1ac57bee 100644 --- a/block/throttle.c +++ b/block/throttle.c @@ -46,12 +46,9 @@ static int throttle_parse_options(QDict *options, char *= *group, Error **errp) { int ret; const char *group_name; - Error *local_err =3D NULL; QemuOpts *opts =3D qemu_opts_create(&throttle_opts, NULL, 0, &error_ab= ort); =20 - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto fin; } diff --git a/block/vpc.c b/block/vpc.c index 7290f36514..6d8a43aed9 100644 --- a/block/vpc.c +++ b/block/vpc.c @@ -235,9 +235,7 @@ static int vpc_open(BlockDriverState *bs, QDict *option= s, int flags, } =20 opts =3D qemu_opts_create(&vpc_runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto fail; } diff --git a/block/vvfat.c b/block/vvfat.c index a28e3fa442..fc46de1cfc 100644 --- a/block/vvfat.c +++ b/block/vvfat.c @@ -1154,7 +1154,6 @@ static int vvfat_open(BlockDriverState *bs, QDict *op= tions, int flags, bool floppy; const char *dirname, *label; QemuOpts *opts; - Error *local_err =3D NULL; int ret; =20 #ifdef DEBUG @@ -1162,9 +1161,7 @@ static int vvfat_open(BlockDriverState *bs, QDict *op= tions, int flags, #endif =20 opts =3D qemu_opts_create(&runtime_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto fail; } diff --git a/block/vxhs.c b/block/vxhs.c index d79fc97df6..237df4f185 100644 --- a/block/vxhs.c +++ b/block/vxhs.c @@ -318,8 +318,7 @@ static int vxhs_open(BlockDriverState *bs, QDict *optio= ns, opts =3D qemu_opts_create(&runtime_opts, NULL, 0, &error_abort); tcp_opts =3D qemu_opts_create(&runtime_tcp_opts, NULL, 0, &error_abort= ); =20 - qemu_opts_absorb_qdict(opts, options, &local_err); - if (local_err) { + if (!qemu_opts_absorb_qdict(opts, options, &local_err)) { ret =3D -EINVAL; goto out; } @@ -346,8 +345,7 @@ static int vxhs_open(BlockDriverState *bs, QDict *optio= ns, /* get the 'server.' arguments */ qdict_extract_subqdict(options, &backing_options, VXHS_OPT_SERVER"."); =20 - qemu_opts_absorb_qdict(tcp_opts, backing_options, &local_err); - if (local_err !=3D NULL) { + if (!qemu_opts_absorb_qdict(tcp_opts, backing_options, &local_err)) { ret =3D -EINVAL; goto out; } diff --git a/blockdev.c b/blockdev.c index 1987625aba..59b0b8ffaf 100644 --- a/blockdev.c +++ b/blockdev.c @@ -509,9 +509,7 @@ static BlockBackend *blockdev_init(const char *file, QD= ict *bs_opts, goto err_no_opts; } =20 - qemu_opts_absorb_qdict(opts, bs_opts, &error); - if (error) { - error_propagate(errp, error); + if (!qemu_opts_absorb_qdict(opts, bs_opts, errp)) { goto early_err; } =20 @@ -795,7 +793,6 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterface= Type block_default_type, bool read_only =3D false; bool copy_on_read; const char *filename; - Error *local_err =3D NULL; int i; =20 /* Change legacy command line options into QMP ones */ @@ -827,10 +824,8 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfac= eType block_default_type, }; =20 for (i =3D 0; i < ARRAY_SIZE(opt_renames); i++) { - qemu_opt_rename(all_opts, opt_renames[i].from, opt_renames[i].to, - &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opt_rename(all_opts, opt_renames[i].from, + opt_renames[i].to, errp)) { return NULL; } } @@ -867,9 +862,7 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterface= Type block_default_type, =20 legacy_opts =3D qemu_opts_create(&qemu_legacy_drive_opts, NULL, 0, &error_abort); - qemu_opts_absorb_qdict(legacy_opts, bs_opts, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(legacy_opts, bs_opts, errp)) { goto fail; } =20 diff --git a/chardev/char.c b/chardev/char.c index e3051295ac..2fc720fb07 100644 --- a/chardev/char.c +++ b/chardev/char.c @@ -444,8 +444,7 @@ QemuOpts *qemu_chr_parse_compat(const char *label, cons= t char *filename, qemu_opt_set(opts, "host", host, &error_abort); qemu_opt_set(opts, "port", port, &error_abort); if (p[pos] =3D=3D ',') { - qemu_opts_do_parse(opts, p+pos+1, NULL, &local_err); - if (local_err) { + if (!qemu_opts_do_parse(opts, p + pos + 1, NULL, &local_err)) { error_report_err(local_err); goto fail; } @@ -484,8 +483,7 @@ QemuOpts *qemu_chr_parse_compat(const char *label, cons= t char *filename, } if (strstart(filename, "unix:", &p)) { qemu_opt_set(opts, "backend", "socket", &error_abort); - qemu_opts_do_parse(opts, p, "path", &local_err); - if (local_err) { + if (!qemu_opts_do_parse(opts, p, "path", &local_err)) { error_report_err(local_err); goto fail; } diff --git a/contrib/ivshmem-server/main.c b/contrib/ivshmem-server/main.c index e4cd35f74c..ee08c4ced0 100644 --- a/contrib/ivshmem-server/main.c +++ b/contrib/ivshmem-server/main.c @@ -103,8 +103,8 @@ ivshmem_server_parse_args(IvshmemServerArgs *args, int = argc, char *argv[]) break; =20 case 'l': /* shm size */ - parse_option_size("shm_size", optarg, &args->shm_size, &err); - if (err) { + if (!parse_option_size("shm_size", optarg, &args->shm_size, + &err)) { error_report_err(err); ivshmem_server_help(argv[0]); exit(1); diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 9bb5578e5d..04b012e487 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3118,9 +3118,8 @@ static bool failover_replug_primary(VirtIONet *n, Err= or **errp) } qdev_set_parent_bus(n->primary_dev, n->primary_bus); n->primary_should_be_hidden =3D false; - qemu_opt_set_bool(n->primary_device_opts, - "partially_hotplugged", true, &err); - if (err) { + if (!qemu_opt_set_bool(n->primary_device_opts, + "partially_hotplugged", true, &err)) { goto out; } hotplug_ctrl =3D qdev_get_hotplug_handler(n->primary_dev); diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c index ffd98727ee..f560826904 100644 --- a/hw/smbios/smbios.c +++ b/hw/smbios/smbios.c @@ -953,7 +953,6 @@ 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); @@ -964,9 +963,7 @@ 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, &err); - if (err) { - error_propagate(errp, err); + if (!qemu_opts_validate(opts, qemu_smbios_file_opts, errp)) { return; } =20 @@ -1051,9 +1048,7 @@ void smbios_entry_add(QemuOpts *opts, Error **errp) =20 switch (type) { case 0: - qemu_opts_validate(opts, qemu_smbios_type0_opts, &err); - if (err) { - error_propagate(errp, err); + if (!qemu_opts_validate(opts, qemu_smbios_type0_opts, errp)) { return; } save_opt(&type0.vendor, opts, "vendor"); @@ -1071,9 +1066,7 @@ void smbios_entry_add(QemuOpts *opts, Error **errp) } return; case 1: - qemu_opts_validate(opts, qemu_smbios_type1_opts, &err); - if (err) { - error_propagate(errp, err); + if (!qemu_opts_validate(opts, qemu_smbios_type1_opts, errp)) { return; } save_opt(&type1.manufacturer, opts, "manufacturer"); @@ -1093,9 +1086,7 @@ void smbios_entry_add(QemuOpts *opts, Error **errp) } return; case 2: - qemu_opts_validate(opts, qemu_smbios_type2_opts, &err); - if (err) { - error_propagate(errp, err); + if (!qemu_opts_validate(opts, qemu_smbios_type2_opts, errp)) { return; } save_opt(&type2.manufacturer, opts, "manufacturer"); @@ -1106,9 +1097,7 @@ 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, &err); - if (err) { - error_propagate(errp, err); + if (!qemu_opts_validate(opts, qemu_smbios_type3_opts, errp)) { return; } save_opt(&type3.manufacturer, opts, "manufacturer"); @@ -1118,9 +1107,7 @@ 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, &err); - if (err) { - error_propagate(errp, err); + if (!qemu_opts_validate(opts, qemu_smbios_type4_opts, errp)) { return; } save_opt(&type4.sock_pfx, opts, "sock_pfx"); @@ -1131,17 +1118,13 @@ 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, &err); - if (err) { - error_propagate(errp, err); + if (!qemu_opts_validate(opts, qemu_smbios_type11_opts, errp)) { return; } save_opt_list(&type11.nvalues, &type11.values, opts, "value"); return; case 17: - qemu_opts_validate(opts, qemu_smbios_type17_opts, &err); - if (err) { - error_propagate(errp, err); + if (!qemu_opts_validate(opts, qemu_smbios_type17_opts, errp)) { return; } save_opt(&type17.loc_pfx, opts, "loc_pfx"); diff --git a/qapi/string-input-visitor.c b/qapi/string-input-visitor.c index 9be418b6d6..de483fe847 100644 --- a/qapi/string-input-visitor.c +++ b/qapi/string-input-visitor.c @@ -314,13 +314,10 @@ static void parse_type_size(Visitor *v, const char *n= ame, uint64_t *obj, Error **errp) { StringInputVisitor *siv =3D to_siv(v); - Error *err =3D NULL; uint64_t val; =20 assert(siv->lm =3D=3D LM_NONE); - parse_option_size(name, siv->string, &val, &err); - if (err) { - error_propagate(errp, err); + if (!parse_option_size(name, siv->string, &val, errp)) { return; } =20 diff --git a/qemu-img.c b/qemu-img.c index d7e846e607..27bf94e7ae 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -467,8 +467,8 @@ static int add_old_style_options(const char *fmt, QemuO= pts *opts, Error *err =3D NULL; =20 if (base_filename) { - qemu_opt_set(opts, BLOCK_OPT_BACKING_FILE, base_filename, &err); - if (err) { + if (!qemu_opt_set(opts, BLOCK_OPT_BACKING_FILE, base_filename, + &err)) { error_report("Backing file not supported for file format '%s'", fmt); error_free(err); @@ -476,8 +476,7 @@ static int add_old_style_options(const char *fmt, QemuO= pts *opts, } } if (base_fmt) { - qemu_opt_set(opts, BLOCK_OPT_BACKING_FMT, base_fmt, &err); - if (err) { + if (!qemu_opt_set(opts, BLOCK_OPT_BACKING_FMT, base_fmt, &err)) { error_report("Backing file format not supported for file " "format '%s'", fmt); error_free(err); @@ -2496,8 +2495,7 @@ static int img_convert(int argc, char **argv) =20 opts =3D qemu_opts_create(create_opts, NULL, 0, &error_abort); if (options) { - qemu_opts_do_parse(opts, options, NULL, &local_err); - if (local_err) { + if (!qemu_opts_do_parse(opts, options, NULL, &local_err)) { error_report_err(local_err); ret =3D -1; goto out; @@ -3973,8 +3971,7 @@ static int img_resize(int argc, char **argv) =20 /* Parse size */ param =3D qemu_opts_create(&resize_options, NULL, 0, &error_abort); - qemu_opt_set(param, BLOCK_OPT_SIZE, size, &err); - if (err) { + if (!qemu_opt_set(param, BLOCK_OPT_SIZE, size, &err)) { error_report_err(err); ret =3D -1; qemu_opts_del(param); @@ -4221,8 +4218,7 @@ static int img_amend(int argc, char **argv) =20 create_opts =3D qemu_opts_append(create_opts, bs->drv->create_opts); opts =3D qemu_opts_create(create_opts, NULL, 0, &error_abort); - qemu_opts_do_parse(opts, options, NULL, &err); - if (err) { + if (!qemu_opts_do_parse(opts, options, NULL, &err)) { error_report_err(err); ret =3D -1; goto out; @@ -5354,8 +5350,7 @@ static int img_measure(int argc, char **argv) create_opts =3D qemu_opts_append(create_opts, bdrv_file.create_opts); opts =3D qemu_opts_create(create_opts, NULL, 0, &error_abort); if (options) { - qemu_opts_do_parse(opts, options, NULL, &local_err); - if (local_err) { + if (!qemu_opts_do_parse(opts, options, NULL, &local_err)) { error_report_err(local_err); error_report("Invalid options for file format '%s'", out_fmt); goto out; diff --git a/tpm.c b/tpm.c index 9c9e20bbb7..fe03b24858 100644 --- a/tpm.c +++ b/tpm.c @@ -85,7 +85,6 @@ static int tpm_init_tpmdev(void *dummy, QemuOpts *opts, E= rror **errp) const char *id; const TPMBackendClass *be; TPMBackend *drv; - Error *local_err =3D NULL; int i; =20 if (!QLIST_EMPTY(&tpm_backends)) { @@ -116,9 +115,7 @@ static int tpm_init_tpmdev(void *dummy, QemuOpts *opts,= Error **errp) } =20 /* validate backend specific opts */ - qemu_opts_validate(opts, be->opts, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_validate(opts, be->opts, errp)) { return 1; } =20 diff --git a/util/qemu-config.c b/util/qemu-config.c index c0d0e9b8ef..660f47b005 100644 --- a/util/qemu-config.c +++ b/util/qemu-config.c @@ -339,8 +339,7 @@ int qemu_set_option(const char *str) return -1; } =20 - qemu_opt_set(opts, arg, str + offset + 1, &local_err); - if (local_err) { + if (!qemu_opt_set(opts, arg, str + offset + 1, &local_err)) { error_report_err(local_err); return -1; } @@ -441,8 +440,7 @@ int qemu_config_parse(FILE *fp, QemuOptsList **lists, c= onst char *fname) error_report("no group defined"); goto out; } - qemu_opt_set(opts, arg, value, &local_err); - if (local_err) { + if (!qemu_opt_set(opts, arg, value, &local_err)) { error_report_err(local_err); goto out; } @@ -481,7 +479,6 @@ static void config_parse_qdict_section(QDict *options, = QemuOptsList *opts, QemuOpts *subopts; QDict *subqdict; QList *list =3D NULL; - Error *local_err =3D NULL; size_t orig_size, enum_size; char *prefix; =20 @@ -498,9 +495,7 @@ static void config_parse_qdict_section(QDict *options, = QemuOptsList *opts, goto out; } =20 - qemu_opts_absorb_qdict(subopts, subqdict, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(subopts, subqdict, errp)) { goto out; } =20 @@ -543,9 +538,7 @@ static void config_parse_qdict_section(QDict *options, = QemuOptsList *opts, goto out; } =20 - qemu_opts_absorb_qdict(subopts, section, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_absorb_qdict(subopts, section, errp)) { qemu_opts_del(subopts); goto out; } diff --git a/util/qemu-option.c b/util/qemu-option.c index ff1e703b52..da74a239e9 100644 --- a/util/qemu-option.c +++ b/util/qemu-option.c @@ -527,7 +527,6 @@ static bool opt_set(QemuOpts *opts, QemuOpt *opt, bool = *help_wanted, Error **errp) { const QemuOptDesc *desc; - Error *local_err =3D NULL; =20 desc =3D find_desc_by_name(opts->list->desc, opt->name); if (!desc && !opts_accepts_any(opts)) { @@ -539,9 +538,7 @@ static bool opt_set(QemuOpts *opts, QemuOpt *opt, bool = *help_wanted, } =20 opt->desc =3D desc; - qemu_opt_parse(opt, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opt_parse(opt, errp)) { return false; } =20 @@ -912,7 +909,6 @@ static QemuOpts *opts_parse(QemuOptsList *list, const c= har *params, const char *firstname; char *id =3D opts_parse_id(params); QemuOpts *opts; - Error *local_err =3D NULL; =20 assert(!permit_abbrev || list->implied_opt_name); firstname =3D permit_abbrev ? list->implied_opt_name : NULL; @@ -931,9 +927,7 @@ static QemuOpts *opts_parse(QemuOptsList *list, const c= har *params, return NULL; } =20 - opts_do_parse(opts, params, firstname, defaults, help_wanted, &local_e= rr); - if (local_err) { - error_propagate(errp, local_err); + if (!opts_do_parse(opts, params, firstname, defaults, help_wanted, err= p)) { qemu_opts_del(opts); return NULL; } @@ -1033,7 +1027,6 @@ static bool qemu_opts_from_qdict_entry(QemuOpts *opts, QemuOpts *qemu_opts_from_qdict(QemuOptsList *list, const QDict *qdict, Error **errp) { - Error *local_err =3D NULL; QemuOpts *opts; const QDictEntry *entry; =20 @@ -1047,9 +1040,7 @@ QemuOpts *qemu_opts_from_qdict(QemuOptsList *list, co= nst QDict *qdict, for (entry =3D qdict_first(qdict); entry; entry =3D qdict_next(qdict, entry)) { - qemu_opts_from_qdict_entry(opts, entry, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_from_qdict_entry(opts, entry, errp)) { qemu_opts_del(opts); return NULL; } @@ -1070,14 +1061,10 @@ bool qemu_opts_absorb_qdict(QemuOpts *opts, QDict *= qdict, Error **errp) entry =3D qdict_first(qdict); =20 while (entry !=3D NULL) { - Error *local_err =3D NULL; - next =3D qdict_next(qdict, entry); =20 if (find_desc_by_name(opts->list->desc, entry->key)) { - qemu_opts_from_qdict_entry(opts, entry, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opts_from_qdict_entry(opts, entry, errp)) { return false; } qdict_del(qdict, entry->key); @@ -1149,7 +1136,6 @@ QDict *qemu_opts_to_qdict(QemuOpts *opts, QDict *qdic= t) bool qemu_opts_validate(QemuOpts *opts, const QemuOptDesc *desc, Error **e= rrp) { QemuOpt *opt; - Error *local_err =3D NULL; =20 assert(opts_accepts_any(opts)); =20 @@ -1160,9 +1146,7 @@ bool qemu_opts_validate(QemuOpts *opts, const QemuOpt= Desc *desc, Error **errp) return false; } =20 - qemu_opt_parse(opt, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!qemu_opt_parse(opt, errp)) { return false; } } --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017425; cv=none; d=zohomail.com; s=zohoarc; b=N0Y6HEcdG0tH4xrQsCUdaqR943rXtm7vODqK/1pR2N3zbtd/UPVmWkTf6ifg2fR6cjtX0l0js8CNxtRL+KoVjcM25WZHD193Hlx8v1H2dbT5LwxDqdjROjcUEVT9l2sAde7iKlRx8TOd9QnFXgTzVXjvEIdhoJe3tBIu8PUlGmQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017425; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=JQxRcl/cXCoq1BwBfQv5WeXuVpoIpPX1/ZveuWuOKTo=; b=OnCgmU3PznSCdMCdveMTnFpJQX5SiOOLEmmZ2jsyqAyQ6KYtwEikuHL3459maeKs0tsp4djoB1aELJx6OaO3RYrRsmPLI3+lFXY21HX4dH3K+tdApuYUtH4Ih0PkWAaNhvJozVXFoyPZvlBdbtRANjvmhNdo1xleB7J3iDkiJwM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 159301742540776.5002162948499; Wed, 24 Jun 2020 09:50:25 -0700 (PDT) Received: from localhost ([::1]:36168 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8bP-0005Qk-Sl for importer@patchew.org; Wed, 24 Jun 2020 12:50:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51480) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VH-00039Y-30 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:03 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:21972 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8V8-00054x-Gx for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:02 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-148-DWG4i87bPnWoJ56umwrP6w-1; Wed, 24 Jun 2020 12:43:51 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 753878015F5; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1BCA08927C; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 248E9113847F; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JQxRcl/cXCoq1BwBfQv5WeXuVpoIpPX1/ZveuWuOKTo=; b=Aw4ceWxytnnjbsmdRm5l3n2zTwEwmMPi80kZX2MVFqbUS1LoZFzqTHDx9Or+dq/QLVpQ53 w87+WtCm+/MsPm7Q8lBOT47PRHDqtdHCB4RdhNQhut9dX9X+zxZgHxWCH+1e8nb8/lC5wm Prngmm0hxlcqcuMdTIwYs9vHc39lwc8= X-MC-Unique: DWG4i87bPnWoJ56umwrP6w-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 18/46] qemu-option: Smooth error checking manually Date: Wed, 24 Jun 2020 18:43:16 +0200 Message-Id: <20200624164344.3778251-19-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 03:27:53 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" When foo(..., &err) is followed by error_propagate(errp, err), we can often just as well do foo(..., errp). The previous commit did that for simple cases with Coccinelle. Do it for a few more manually. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- block.c | 2 +- block/gluster.c | 8 ++++---- block/parallels.c | 2 +- block/quorum.c | 2 +- block/replication.c | 2 +- block/vxhs.c | 4 ++-- hw/net/virtio-net.c | 4 ++-- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/block.c b/block.c index 77e85f13db..93a5fbf60a 100644 --- a/block.c +++ b/block.c @@ -6073,7 +6073,7 @@ void bdrv_img_create(const char *filename, const char= *fmt, =20 /* Parse -o options */ if (options) { - if (!qemu_opts_do_parse(opts, options, NULL, &local_err)) { + if (!qemu_opts_do_parse(opts, options, NULL, errp)) { goto out; } } diff --git a/block/gluster.c b/block/gluster.c index c620880f27..4f1448e2bc 100644 --- a/block/gluster.c +++ b/block/gluster.c @@ -523,7 +523,7 @@ static int qemu_gluster_parse_json(BlockdevOptionsGlust= er *gconf, =20 /* create opts info from runtime_json_opts list */ opts =3D qemu_opts_create(&runtime_json_opts, NULL, 0, &error_abort); - if (!qemu_opts_absorb_qdict(opts, options, &local_err)) { + if (!qemu_opts_absorb_qdict(opts, options, errp)) { goto out; } =20 @@ -554,7 +554,7 @@ static int qemu_gluster_parse_json(BlockdevOptionsGlust= er *gconf, =20 /* create opts info from runtime_type_opts list */ opts =3D qemu_opts_create(&runtime_type_opts, NULL, 0, &error_abor= t); - if (!qemu_opts_absorb_qdict(opts, backing_options, &local_err)) { + if (!qemu_opts_absorb_qdict(opts, backing_options, errp)) { goto out; } =20 @@ -584,7 +584,7 @@ static int qemu_gluster_parse_json(BlockdevOptionsGlust= er *gconf, if (gsconf->type =3D=3D SOCKET_ADDRESS_TYPE_INET) { /* create opts info from runtime_inet_opts list */ opts =3D qemu_opts_create(&runtime_inet_opts, NULL, 0, &error_= abort); - if (!qemu_opts_absorb_qdict(opts, backing_options, &local_err)= ) { + if (!qemu_opts_absorb_qdict(opts, backing_options, errp)) { goto out; } =20 @@ -632,7 +632,7 @@ static int qemu_gluster_parse_json(BlockdevOptionsGlust= er *gconf, } else { /* create opts info from runtime_unix_opts list */ opts =3D qemu_opts_create(&runtime_unix_opts, NULL, 0, &error_= abort); - if (!qemu_opts_absorb_qdict(opts, backing_options, &local_err)= ) { + if (!qemu_opts_absorb_qdict(opts, backing_options, errp)) { goto out; } =20 diff --git a/block/parallels.c b/block/parallels.c index ef0d92d05c..0397f3894f 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -828,7 +828,7 @@ static int parallels_open(BlockDriverState *bs, QDict *= options, int flags, goto fail_options; } =20 - if (!qemu_opts_absorb_qdict(opts, options, &local_err)) { + if (!qemu_opts_absorb_qdict(opts, options, errp)) { goto fail_options; } =20 diff --git a/block/quorum.c b/block/quorum.c index beb3b6dbcc..9ed20e1998 100644 --- a/block/quorum.c +++ b/block/quorum.c @@ -922,7 +922,7 @@ static int quorum_open(BlockDriverState *bs, QDict *opt= ions, int flags, } =20 opts =3D qemu_opts_create(&quorum_runtime_opts, NULL, 0, &error_abort); - if (!qemu_opts_absorb_qdict(opts, options, &local_err)) { + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto exit; } diff --git a/block/replication.c b/block/replication.c index 00a50b095e..7f4ab357a4 100644 --- a/block/replication.c +++ b/block/replication.c @@ -99,7 +99,7 @@ static int replication_open(BlockDriverState *bs, QDict *= options, =20 ret =3D -EINVAL; opts =3D qemu_opts_create(&replication_runtime_opts, NULL, 0, &error_a= bort); - if (!qemu_opts_absorb_qdict(opts, options, &local_err)) { + if (!qemu_opts_absorb_qdict(opts, options, errp)) { goto fail; } =20 diff --git a/block/vxhs.c b/block/vxhs.c index 237df4f185..20513a43f4 100644 --- a/block/vxhs.c +++ b/block/vxhs.c @@ -318,7 +318,7 @@ static int vxhs_open(BlockDriverState *bs, QDict *optio= ns, opts =3D qemu_opts_create(&runtime_opts, NULL, 0, &error_abort); tcp_opts =3D qemu_opts_create(&runtime_tcp_opts, NULL, 0, &error_abort= ); =20 - if (!qemu_opts_absorb_qdict(opts, options, &local_err)) { + if (!qemu_opts_absorb_qdict(opts, options, errp)) { ret =3D -EINVAL; goto out; } @@ -345,7 +345,7 @@ static int vxhs_open(BlockDriverState *bs, QDict *optio= ns, /* get the 'server.' arguments */ qdict_extract_subqdict(options, &backing_options, VXHS_OPT_SERVER"."); =20 - if (!qemu_opts_absorb_qdict(tcp_opts, backing_options, &local_err)) { + if (!qemu_opts_absorb_qdict(tcp_opts, backing_options, errp)) { ret =3D -EINVAL; goto out; } diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 04b012e487..7502ff0b1e 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3119,8 +3119,8 @@ static bool failover_replug_primary(VirtIONet *n, Err= or **errp) qdev_set_parent_bus(n->primary_dev, n->primary_bus); n->primary_should_be_hidden =3D false; if (!qemu_opt_set_bool(n->primary_device_opts, - "partially_hotplugged", true, &err)) { - goto out; + "partially_hotplugged", true, errp)) { + return false; } hotplug_ctrl =3D qdev_get_hotplug_handler(n->primary_dev); if (hotplug_ctrl) { --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018924; cv=none; d=zohomail.com; s=zohoarc; b=CrkoZ7uVT6zVMq3LLSZV8YFRTum3xF2FFbOOAYIS0X/BCi7jkMnSr9987/gy8eKEpMQL7Uzm4lwvbXjQF4+jVqATTcdGKczl0Nxb/BLeHBGygpQpDUfDs6QhoXhqrYCpMjGeYZCZ9zu/J5yzqTIyT509AbozjYX/EUvlvBNHOLw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018924; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=rTBm/kLekBBTAbmGDO3gnSmTOXa5KE/0qiE6PbFMHgA=; b=DBc0FU6sVGqxGQ7Neke1qlY9J34bj4UD50MsBckQhoQCuyx9ywagNAdcPZywrW32cUEQWJ4jYrkSlLF75OPfHb1Bmu1NEgA59LzTSNDOVraG3h7N+myUDgNUCjJib+u3hulbjlOVEY70r3dx7zbptJAeKX0dr5LYXBCtXa69Ess= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018924013331.26770005193214; Wed, 24 Jun 2020 10:15:24 -0700 (PDT) Received: from localhost ([::1]:46434 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8za-0007ac-Lz for importer@patchew.org; Wed, 24 Jun 2020 13:15:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52244) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8Vm-0004X8-L7 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:34 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:21579 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VD-00059y-Rb for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:34 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-271-9izfTIkgMma_kdkbv5BDkg-1; Wed, 24 Jun 2020 12:43:52 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 89C7E2D59; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 30F1660F8A; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 283B31138480; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017038; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rTBm/kLekBBTAbmGDO3gnSmTOXa5KE/0qiE6PbFMHgA=; b=MGT6IZMD0/dRtkcdvBopiqS/d5m0K2jG+nAiAnfl5rcJV78ehbTK2/wEya3jCN2LvQ5uPD Occd/ZllRtrGHyaXgzELjqZw0nuRTJBH6yLbeE+370Vs2MAVmITJVrhLQ6rmEYXFbyE6XF qNSHfYJsTDNalepqdkxBfN1eQV86VHA= X-MC-Unique: 9izfTIkgMma_kdkbv5BDkg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 19/46] block: Avoid unnecessary error_propagate() after error_setg() Date: Wed, 24 Jun 2020 18:43:17 +0200 Message-Id: <20200624164344.3778251-20-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 01:59:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The previous commit enables another round of the transformation from recent commit "error: Avoid unnecessary error_propagate() after error_setg()". Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- block/quorum.c | 16 +++++++--------- block/replication.c | 12 +++++------- block/vxhs.c | 10 ++++------ 3 files changed, 16 insertions(+), 22 deletions(-) diff --git a/block/quorum.c b/block/quorum.c index 9ed20e1998..6df9449fc2 100644 --- a/block/quorum.c +++ b/block/quorum.c @@ -910,13 +910,12 @@ static int quorum_open(BlockDriverState *bs, QDict *o= ptions, int flags, /* count how many different children are present */ s->num_children =3D qdict_array_entries(options, "children."); if (s->num_children < 0) { - error_setg(&local_err, "Option children is not a valid array"); + error_setg(errp, "Option children is not a valid array"); ret =3D -EINVAL; goto exit; } if (s->num_children < 1) { - error_setg(&local_err, - "Number of provided children must be 1 or more"); + error_setg(errp, "Number of provided children must be 1 or more"); ret =3D -EINVAL; goto exit; } @@ -929,7 +928,7 @@ static int quorum_open(BlockDriverState *bs, QDict *opt= ions, int flags, =20 s->threshold =3D qemu_opt_get_number(opts, QUORUM_OPT_VOTE_THRESHOLD, = 0); /* and validate it against s->num_children */ - ret =3D quorum_valid_threshold(s->threshold, s->num_children, &local_e= rr); + ret =3D quorum_valid_threshold(s->threshold, s->num_children, errp); if (ret < 0) { goto exit; } @@ -942,7 +941,7 @@ static int quorum_open(BlockDriverState *bs, QDict *opt= ions, int flags, -EINVAL, NULL); } if (ret < 0) { - error_setg(&local_err, "Please set read-pattern as fifo or quorum"= ); + error_setg(errp, "Please set read-pattern as fifo or quorum"); goto exit; } s->read_pattern =3D ret; @@ -950,7 +949,7 @@ static int quorum_open(BlockDriverState *bs, QDict *opt= ions, int flags, if (s->read_pattern =3D=3D QUORUM_READ_PATTERN_QUORUM) { s->is_blkverify =3D qemu_opt_get_bool(opts, QUORUM_OPT_BLKVERIFY, = false); if (s->is_blkverify && (s->num_children !=3D 2 || s->threshold != =3D 2)) { - error_setg(&local_err, "blkverify=3Don can only be set if ther= e are " + error_setg(errp, "blkverify=3Don can only be set if there are " "exactly two files and vote-threshold is 2"); ret =3D -EINVAL; goto exit; @@ -959,7 +958,7 @@ static int quorum_open(BlockDriverState *bs, QDict *opt= ions, int flags, s->rewrite_corrupted =3D qemu_opt_get_bool(opts, QUORUM_OPT_REWRIT= E, false); if (s->rewrite_corrupted && s->is_blkverify) { - error_setg(&local_err, + error_setg(errp, "rewrite-corrupted=3Don cannot be used with blkveri= fy=3Don"); ret =3D -EINVAL; goto exit; @@ -979,6 +978,7 @@ static int quorum_open(BlockDriverState *bs, QDict *opt= ions, int flags, &child_of_bds, BDRV_CHILD_DATA, f= alse, &local_err); if (local_err) { + error_propagate(errp, local_err); ret =3D -EINVAL; goto close_exit; } @@ -1004,8 +1004,6 @@ close_exit: g_free(opened); exit: qemu_opts_del(opts); - /* propagate error */ - error_propagate(errp, local_err); return ret; } =20 diff --git a/block/replication.c b/block/replication.c index 7f4ab357a4..0c70215784 100644 --- a/block/replication.c +++ b/block/replication.c @@ -85,7 +85,6 @@ static int replication_open(BlockDriverState *bs, QDict *= options, { int ret; BDRVReplicationState *s =3D bs->opaque; - Error *local_err =3D NULL; QemuOpts *opts =3D NULL; const char *mode; const char *top_id; @@ -105,7 +104,7 @@ static int replication_open(BlockDriverState *bs, QDict= *options, =20 mode =3D qemu_opt_get(opts, REPLICATION_MODE); if (!mode) { - error_setg(&local_err, "Missing the option mode"); + error_setg(errp, "Missing the option mode"); goto fail; } =20 @@ -113,7 +112,8 @@ static int replication_open(BlockDriverState *bs, QDict= *options, s->mode =3D REPLICATION_MODE_PRIMARY; top_id =3D qemu_opt_get(opts, REPLICATION_TOP_ID); if (top_id) { - error_setg(&local_err, "The primary side does not support opti= on top-id"); + error_setg(errp, + "The primary side does not support option top-id"); goto fail; } } else if (!strcmp(mode, "secondary")) { @@ -121,11 +121,11 @@ static int replication_open(BlockDriverState *bs, QDi= ct *options, top_id =3D qemu_opt_get(opts, REPLICATION_TOP_ID); s->top_id =3D g_strdup(top_id); if (!s->top_id) { - error_setg(&local_err, "Missing the option top-id"); + error_setg(errp, "Missing the option top-id"); goto fail; } } else { - error_setg(&local_err, + error_setg(errp, "The option mode's value should be primary or secondary= "); goto fail; } @@ -136,8 +136,6 @@ static int replication_open(BlockDriverState *bs, QDict= *options, =20 fail: qemu_opts_del(opts); - error_propagate(errp, local_err); - return ret; } =20 diff --git a/block/vxhs.c b/block/vxhs.c index 20513a43f4..ef2848fb60 100644 --- a/block/vxhs.c +++ b/block/vxhs.c @@ -300,7 +300,6 @@ static int vxhs_open(BlockDriverState *bs, QDict *optio= ns, QemuOpts *opts =3D NULL; QemuOpts *tcp_opts =3D NULL; char *of_vsa_addr =3D NULL; - Error *local_err =3D NULL; const char *vdisk_id_opt; const char *server_host_opt; int ret =3D 0; @@ -326,14 +325,14 @@ static int vxhs_open(BlockDriverState *bs, QDict *opt= ions, /* vdisk-id is the disk UUID */ vdisk_id_opt =3D qemu_opt_get(opts, VXHS_OPT_VDISK_ID); if (!vdisk_id_opt) { - error_setg(&local_err, QERR_MISSING_PARAMETER, VXHS_OPT_VDISK_ID); + error_setg(errp, QERR_MISSING_PARAMETER, VXHS_OPT_VDISK_ID); ret =3D -EINVAL; goto out; } =20 /* vdisk-id may contain a leading '/' */ if (strlen(vdisk_id_opt) > UUID_FMT_LEN + 1) { - error_setg(&local_err, "vdisk-id cannot be more than %d characters= ", + error_setg(errp, "vdisk-id cannot be more than %d characters", UUID_FMT_LEN); ret =3D -EINVAL; goto out; @@ -352,14 +351,14 @@ static int vxhs_open(BlockDriverState *bs, QDict *opt= ions, =20 server_host_opt =3D qemu_opt_get(tcp_opts, VXHS_OPT_HOST); if (!server_host_opt) { - error_setg(&local_err, QERR_MISSING_PARAMETER, + error_setg(errp, QERR_MISSING_PARAMETER, VXHS_OPT_SERVER"."VXHS_OPT_HOST); ret =3D -EINVAL; goto out; } =20 if (strlen(server_host_opt) > MAXHOSTNAMELEN) { - error_setg(&local_err, "server.host cannot be more than %d charact= ers", + error_setg(errp, "server.host cannot be more than %d characters", MAXHOSTNAMELEN); ret =3D -EINVAL; goto out; @@ -412,7 +411,6 @@ out: =20 if (ret < 0) { vxhs_unref(); - error_propagate(errp, local_err); g_free(s->vdisk_hostinfo.host); g_free(s->vdisk_guid); g_free(s->tlscredsid); --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017885; cv=none; d=zohomail.com; s=zohoarc; b=LEXAmCWXUW15uh/6WD+rtr51+qt2QCaLEOPoz6uykynhFBeqKtwFJMT34Kzhp1QI3fDhnfKzrvOF4kShCSvH/Oz99N7RRMKOoJwlTs34UoPjfxMu51mECh2M0CHHS//cer055L66dzuk3O73T0A30Tnyj60LaYRfcExstIHNmkw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017885; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=DcMFzyziydokhsV9qoeTIXwl2E0ZmcUgxi57DQEIc78=; b=TzA+TOQ420Vy/VJmv4IAwaPL0PEE+gy/AzSd8kmN1WGjYYg68zxSnAlWaIWJdKlSKYxYiBZBHvv+K2NYYZAEnLCZqaKub4vMKXtx9Juf4Wv4Vu3YW7yy72yCFvSqDkT1hGCZ57QBAAoXOIAynjWvFB2FaXBpX5RG5pzC/h3whg8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017885272641.3334872558198; Wed, 24 Jun 2020 09:58:05 -0700 (PDT) Received: from localhost ([::1]:38784 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8iq-0002ZQ-2W for importer@patchew.org; Wed, 24 Jun 2020 12:58:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51878) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VW-0003xw-8o for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:18 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:40538 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VC-00057B-AR for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:17 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-259-xqiG_esPMcK7PNUIOxaG8A-1; Wed, 24 Jun 2020 12:43:51 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8770418585B2; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 55C695C662; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 2BB171138481; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DcMFzyziydokhsV9qoeTIXwl2E0ZmcUgxi57DQEIc78=; b=MiGYBnxBEzSkHUHMrqvyWStiw18FhdLD826Y9Tc0MfjQ4KgP/rY1psjFJvU2t/Csvvrz90 HLAhoPLwxQKTpzSQrhO1vXDeR44Owvixx3wUc4tf7A9EkJM7TJvNgzUknUQF/Rm4nvbPXd q22pmQcLmDSiPa7yCcaYnVrRU/I7s/E= X-MC-Unique: xqiG_esPMcK7PNUIOxaG8A-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 20/46] block: Avoid error accumulation in bdrv_img_create() Date: Wed, 24 Jun 2020 18:43:18 +0200 Message-Id: <20200624164344.3778251-21-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 01:59:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" When creating an image fails because the format doesn't support option "backing_file" or "backing_fmt", bdrv_img_create() first has qemu_opt_set() put a generic error into @local_err, then puts the real error into @errp with error_setg(), and then propagates the former to the latter, which throws away the generic error. A bit complicated, but works. Not that qemu_opt_set() returns a useful value, we can simply ignore the generic error instead. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- block.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/block.c b/block.c index 93a5fbf60a..2dcf9afd61 100644 --- a/block.c +++ b/block.c @@ -6087,7 +6087,7 @@ void bdrv_img_create(const char *filename, const char= *fmt, =20 if (base_filename) { if (!qemu_opt_set(opts, BLOCK_OPT_BACKING_FILE, base_filename, - &local_err)) { + NULL)) { error_setg(errp, "Backing file not supported for file format '= %s'", fmt); goto out; @@ -6095,7 +6095,7 @@ void bdrv_img_create(const char *filename, const char= *fmt, } =20 if (base_fmt) { - if (!qemu_opt_set(opts, BLOCK_OPT_BACKING_FMT, base_fmt, &local_er= r)) { + if (!qemu_opt_set(opts, BLOCK_OPT_BACKING_FMT, base_fmt, NULL)) { error_setg(errp, "Backing file format not supported for file " "format '%s'", fmt); goto out; --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018196; cv=none; d=zohomail.com; s=zohoarc; b=nGWMs59+dc9n2hi18bgOdjFJ44ITuFDIAEL2SYEf0fXrGnU2iLxhwgLrav3CGeI1px4E0beVUdTofONjxV56kN1UGGxxayCrurImeFd/23svlQoUM8DdQYuxXjs0JeDZzDEWqiTC1x4guYz8hY06YUcSV+VepjreCw9ryX7iq3c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018196; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Ek27ulf0LuzK+gCCexVFvD7JKechbVW6iqWqofZANhI=; b=C6pjoYaDlOjRENYIen2qLkHu0FQnj2mcOOkf4Hc/1lQWZlZCFqyqo97Uii/2eD26DlzJBc9iVZltF7pHhCSEwKg4VH8zZKSSY66SHPeefu14MQcF6uKJGp2/9gbrTWc+7AteorWObxlJQjxb+bdrp8PespsJNXiJNmfysUp/Oqg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 159301819639217.87045183282487; Wed, 24 Jun 2020 10:03:16 -0700 (PDT) Received: from localhost ([::1]:56410 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8nq-0002Oi-Dx for importer@patchew.org; Wed, 24 Jun 2020 13:03:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52112) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8Vh-0004LM-Pp for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:29 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:47556 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VD-00058z-IO for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:29 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-400-GdslOzWUMCGSTfy6wyGacg-1; Wed, 24 Jun 2020 12:43:55 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8F507107ACCD; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5BF1D100EBA4; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 2F3B01138482; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Ek27ulf0LuzK+gCCexVFvD7JKechbVW6iqWqofZANhI=; b=HZiebcYMuGEFMvU5WrLb9+G3OzqQwA7mOnLgl5kkgZwztYHDYWrRYhUO72coVZUxXdUkO5 V5WCkStmsOJQ7kU+c8S/QIE2ROnzSLgiwNJJ7Fczu7ap4jx5eZMGlA6af0iowLDHvX3coH C/a9Q5Mel0s9/6mobcFlIF87RgyClIQ= X-MC-Unique: GdslOzWUMCGSTfy6wyGacg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 21/46] hmp: Eliminate a variable in hmp_migrate_set_parameter() Date: Wed, 24 Jun 2020 18:43:19 +0200 Message-Id: <20200624164344.3778251-22-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 00:34:35 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- monitor/hmp-cmds.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c index 2b0b58a336..d7810cb564 100644 --- a/monitor/hmp-cmds.c +++ b/monitor/hmp-cmds.c @@ -1247,7 +1247,6 @@ void hmp_migrate_set_parameter(Monitor *mon, const QD= ict *qdict) MigrateSetParameters *p =3D g_new0(MigrateSetParameters, 1); uint64_t valuebw =3D 0; uint64_t cache_size; - MultiFDCompression compress_type; Error *err =3D NULL; int val, ret; =20 @@ -1343,11 +1342,8 @@ void hmp_migrate_set_parameter(Monitor *mon, const Q= Dict *qdict) break; case MIGRATION_PARAMETER_MULTIFD_COMPRESSION: p->has_multifd_compression =3D true; - visit_type_MultiFDCompression(v, param, &compress_type, &err); - if (err) { - break; - } - p->multifd_compression =3D compress_type; + visit_type_MultiFDCompression(v, param, &p->multifd_compression, + &err); break; case MIGRATION_PARAMETER_MULTIFD_ZLIB_LEVEL: p->has_multifd_zlib_level =3D true; --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018483; cv=none; d=zohomail.com; s=zohoarc; b=XsmdflMmuCeyxWbvXVCYigpl4eINFQqAa6VU8mL1z0M1kp4X+iJ0rkjGJ9iR/cIWjw8F87cMhGjnGWfz/IK3gKsueiKfp7sPT6FIwI8iE/sWvtD8qoPrFhuIOJ1yOtazq5fEFxVr2spoD6ux9EPIMbnSmL29igZ4RQ+AvFrOw4Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018483; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=aNZXYyh120x5FwUyxNPFcEXKkBFHtwD8Ve21IK25BoY=; b=P4iQWLYhAtRUGg3LfcWotmvipL2ZEHg16/ti2gSmYN8bOng5NO6scQgBA9VWnf6yPOmdDIdVelVfJtZO063z2BY7FF/RyhS9mST1kxG+72lX613CGJuFGr6xiRPR5Nh0vPsWH7JdR96A6Dbxf5/d4fprX13hC949XPY2YEzPZ2c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018483418419.76823596042345; Wed, 24 Jun 2020 10:08:03 -0700 (PDT) Received: from localhost ([::1]:47460 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8sU-0002bE-0g for importer@patchew.org; Wed, 24 Jun 2020 13:08:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52398) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8Vt-0004pW-FT for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:41 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:50996 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VD-00059r-SQ for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:41 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-183-k2NH3xLtO46Pnj76XgT-hw-1; Wed, 24 Jun 2020 12:43:52 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 49F9510059A4; Wed, 24 Jun 2020 16:43:51 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 623B02B471; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 3474A1138483; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aNZXYyh120x5FwUyxNPFcEXKkBFHtwD8Ve21IK25BoY=; b=RJOad7uAONj9qjfOswaj6uwY7BeOJRQKXcgj8j3wFSUKaWRSWooZanCLfoxg1nVKwAQlxa oca8IVmp9R0PagFtDusYL7pwCYQ0bf+6FwYyxtmj2AhDh8p4T34jbIRhxRhTfAgQKshK+c VLrUXAk3fVM7fiDK0g9MaXWVfsQuF8g= X-MC-Unique: k2NH3xLtO46Pnj76XgT-hw-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 22/46] qapi: Make visitor functions taking Error ** return bool, not void Date: Wed, 24 Jun 2020 18:43:20 +0200 Message-Id: <20200624164344.3778251-23-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 02:33:25 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" See recent commit "error: Document Error API usage rules" for rationale. Signed-off-by: Markus Armbruster --- docs/devel/qapi-code-gen.txt | 51 +++++------ include/qapi/clone-visitor.h | 8 +- include/qapi/visitor-impl.h | 26 +++--- include/qapi/visitor.h | 102 ++++++++++++--------- audio/audio_legacy.c | 15 ++-- qapi/opts-visitor.c | 58 +++++++----- qapi/qapi-clone-visitor.c | 33 ++++--- qapi/qapi-dealloc-visitor.c | 27 ++++-- qapi/qapi-visit-core.c | 165 ++++++++++++++++++---------------- qapi/qobject-input-visitor.c | 109 +++++++++++++--------- qapi/qobject-output-visitor.c | 27 ++++-- qapi/string-input-visitor.c | 62 +++++++------ qapi/string-output-visitor.c | 32 ++++--- scripts/qapi/visit.py | 58 +++++------- 14 files changed, 435 insertions(+), 338 deletions(-) diff --git a/docs/devel/qapi-code-gen.txt b/docs/devel/qapi-code-gen.txt index a7794ef658..9bfc57063c 100644 --- a/docs/devel/qapi-code-gen.txt +++ b/docs/devel/qapi-code-gen.txt @@ -1408,42 +1408,38 @@ Example: #include "example-qapi-types.h" =20 =20 - void visit_type_UserDefOne_members(Visitor *v, UserDefOne *obj, Error = **errp); - void visit_type_UserDefOne(Visitor *v, const char *name, UserDefOne **= obj, Error **errp); - void visit_type_UserDefOneList(Visitor *v, const char *name, UserDefOn= eList **obj, Error **errp); + bool visit_type_UserDefOne_members(Visitor *v, UserDefOne *obj, Error = **errp); + bool visit_type_UserDefOne(Visitor *v, const char *name, UserDefOne **= obj, Error **errp); + bool visit_type_UserDefOneList(Visitor *v, const char *name, UserDefOn= eList **obj, Error **errp); =20 - void visit_type_q_obj_my_command_arg_members(Visitor *v, q_obj_my_comm= and_arg *obj, Error **errp); + bool visit_type_q_obj_my_command_arg_members(Visitor *v, q_obj_my_comm= and_arg *obj, Error **errp); =20 #endif /* EXAMPLE_QAPI_VISIT_H */ $ cat qapi-generated/example-qapi-visit.c [Uninteresting stuff omitted...] =20 - void visit_type_UserDefOne_members(Visitor *v, UserDefOne *obj, Error = **errp) + bool visit_type_UserDefOne_members(Visitor *v, UserDefOne *obj, Error = **errp) { Error *err =3D NULL; =20 - visit_type_int(v, "integer", &obj->integer, &err); - if (err) { - goto out; + if (!visit_type_int(v, "integer", &obj->integer, errp)) { + return false; } if (visit_optional(v, "string", &obj->has_string)) { - visit_type_str(v, "string", &obj->string, &err); - if (err) { - goto out; + if (!visit_type_str(v, "string", &obj->string, errp)) { + return false; } } - - out: error_propagate(errp, err); + return !err; } =20 - void visit_type_UserDefOne(Visitor *v, const char *name, UserDefOne **= obj, Error **errp) + bool visit_type_UserDefOne(Visitor *v, const char *name, UserDefOne **= obj, Error **errp) { Error *err =3D NULL; =20 - visit_start_struct(v, name, (void **)obj, sizeof(UserDefOne), &err= ); - if (err) { - goto out; + if (!visit_start_struct(v, name, (void **)obj, sizeof(UserDefOne),= errp)) { + return false; } if (!*obj) { /* incomplete */ @@ -1461,19 +1457,18 @@ Example: qapi_free_UserDefOne(*obj); *obj =3D NULL; } - out: error_propagate(errp, err); + return !err; } =20 - void visit_type_UserDefOneList(Visitor *v, const char *name, UserDefOn= eList **obj, Error **errp) + bool visit_type_UserDefOneList(Visitor *v, const char *name, UserDefOn= eList **obj, Error **errp) { Error *err =3D NULL; UserDefOneList *tail; size_t size =3D sizeof(**obj); =20 - visit_start_list(v, name, (GenericList **)obj, size, &err); - if (err) { - goto out; + if (!visit_start_list(v, name, (GenericList **)obj, size, errp)) { + return false; } =20 for (tail =3D *obj; tail; @@ -1492,21 +1487,19 @@ Example: qapi_free_UserDefOneList(*obj); *obj =3D NULL; } - out: error_propagate(errp, err); + return !err; } =20 - void visit_type_q_obj_my_command_arg_members(Visitor *v, q_obj_my_comm= and_arg *obj, Error **errp) + bool visit_type_q_obj_my_command_arg_members(Visitor *v, q_obj_my_comm= and_arg *obj, Error **errp) { Error *err =3D NULL; =20 - visit_type_UserDefOneList(v, "arg1", &obj->arg1, &err); - if (err) { - goto out; + if (!visit_type_UserDefOneList(v, "arg1", &obj->arg1, errp)) { + return false; } - - out: error_propagate(errp, err); + return !err; } =20 [Uninteresting stuff omitted...] diff --git a/include/qapi/clone-visitor.h b/include/qapi/clone-visitor.h index 5b665ee38c..adf9a788e2 100644 --- a/include/qapi/clone-visitor.h +++ b/include/qapi/clone-visitor.h @@ -20,10 +20,10 @@ */ typedef struct QapiCloneVisitor QapiCloneVisitor; =20 -void *qapi_clone(const void *src, void (*visit_type)(Visitor *, const char= *, +void *qapi_clone(const void *src, bool (*visit_type)(Visitor *, const char= *, void **, Error **)); void qapi_clone_members(void *dst, const void *src, size_t sz, - void (*visit_type_members)(Visitor *, void *, + bool (*visit_type_members)(Visitor *, void *, Error **)); =20 /* @@ -34,7 +34,7 @@ void qapi_clone_members(void *dst, const void *src, size_= t sz, */ #define QAPI_CLONE(type, src) \ ((type *)qapi_clone(src, \ - (void (*)(Visitor *, const char *, void**, \ + (bool (*)(Visitor *, const char *, void **, \ Error **))visit_type_ ## type)) =20 /* @@ -45,7 +45,7 @@ void qapi_clone_members(void *dst, const void *src, size_= t sz, */ #define QAPI_CLONE_MEMBERS(type, dst, src) \ qapi_clone_members(dst, src, sizeof(type), \ - (void (*)(Visitor *, void *, \ + (bool (*)(Visitor *, void *, \ Error **))visit_type_ ## type ## _members) =20 #endif diff --git a/include/qapi/visitor-impl.h b/include/qapi/visitor-impl.h index 98dc533d39..7362c043be 100644 --- a/include/qapi/visitor-impl.h +++ b/include/qapi/visitor-impl.h @@ -48,31 +48,31 @@ struct Visitor */ =20 /* Must be set to visit structs */ - void (*start_struct)(Visitor *v, const char *name, void **obj, + bool (*start_struct)(Visitor *v, const char *name, void **obj, size_t size, Error **errp); =20 /* Optional; intended for input visitors */ - void (*check_struct)(Visitor *v, Error **errp); + bool (*check_struct)(Visitor *v, Error **errp); =20 /* Must be set to visit structs */ void (*end_struct)(Visitor *v, void **obj); =20 /* Must be set; implementations may require @list to be non-null, * but must document it. */ - void (*start_list)(Visitor *v, const char *name, GenericList **list, + bool (*start_list)(Visitor *v, const char *name, GenericList **list, size_t size, Error **errp); =20 /* Must be set */ GenericList *(*next_list)(Visitor *v, GenericList *tail, size_t size); =20 /* Optional; intended for input visitors */ - void (*check_list)(Visitor *v, Error **errp); + bool (*check_list)(Visitor *v, Error **errp); =20 /* Must be set */ void (*end_list)(Visitor *v, void **list); =20 /* Must be set by input and clone visitors to visit alternates */ - void (*start_alternate)(Visitor *v, const char *name, + bool (*start_alternate)(Visitor *v, const char *name, GenericAlternate **obj, size_t size, Error **errp); =20 @@ -80,33 +80,33 @@ struct Visitor void (*end_alternate)(Visitor *v, void **obj); =20 /* Must be set */ - void (*type_int64)(Visitor *v, const char *name, int64_t *obj, + bool (*type_int64)(Visitor *v, const char *name, int64_t *obj, Error **errp); =20 /* Must be set */ - void (*type_uint64)(Visitor *v, const char *name, uint64_t *obj, + bool (*type_uint64)(Visitor *v, const char *name, uint64_t *obj, Error **errp); =20 /* Optional; fallback is type_uint64() */ - void (*type_size)(Visitor *v, const char *name, uint64_t *obj, + bool (*type_size)(Visitor *v, const char *name, uint64_t *obj, Error **errp); =20 /* Must be set */ - void (*type_bool)(Visitor *v, const char *name, bool *obj, Error **err= p); + bool (*type_bool)(Visitor *v, const char *name, bool *obj, Error **err= p); =20 /* Must be set */ - void (*type_str)(Visitor *v, const char *name, char **obj, Error **err= p); + bool (*type_str)(Visitor *v, const char *name, char **obj, Error **err= p); =20 /* Must be set to visit numbers */ - void (*type_number)(Visitor *v, const char *name, double *obj, + bool (*type_number)(Visitor *v, const char *name, double *obj, Error **errp); =20 /* Must be set to visit arbitrary QTypes */ - void (*type_any)(Visitor *v, const char *name, QObject **obj, + bool (*type_any)(Visitor *v, const char *name, QObject **obj, Error **errp); =20 /* Must be set to visit explicit null values. */ - void (*type_null)(Visitor *v, const char *name, QNull **obj, + bool (*type_null)(Visitor *v, const char *name, QNull **obj, Error **errp); =20 /* Must be set for input visitors to visit structs, optional otherwise. diff --git a/include/qapi/visitor.h b/include/qapi/visitor.h index 5573906966..7d1b8d579c 100644 --- a/include/qapi/visitor.h +++ b/include/qapi/visitor.h @@ -60,7 +60,7 @@ * All QAPI types have a corresponding function with a signature * roughly compatible with this: * - * void visit_type_FOO(Visitor *v, const char *name, T obj, Error **errp); + * bool visit_type_FOO(Visitor *v, const char *name, T obj, Error **errp); * * where T is FOO for scalar types, and FOO * otherwise. The scalar * visitors are declared here; the remaining visitors are generated in @@ -95,14 +95,16 @@ * incomplete object, such an object is possible only by manual * construction. * + * visit_type_FOO() returns true on success, false on error. + * * For the QAPI object types (structs, unions, and alternates), there * is an additional generated function in qapi-visit-MODULE.h * compatible with: * - * void visit_type_FOO_members(Visitor *v, FOO *obj, Error **errp); + * bool visit_type_FOO_members(Visitor *v, FOO *obj, Error **errp); * * for visiting the members of a type without also allocating the QAPI - * struct. + * struct. It also returns true on success, false on error. * * Additionally, QAPI pointer types (structs, unions, alternates, and * lists) have a generated function in qapi-types-MODULE.h compatible @@ -131,8 +133,7 @@ * Visitor *v; * * v =3D FOO_visitor_new(...); - * visit_type_Foo(v, NULL, &f, &err); - * if (err) { + * if (!visit_type_Foo(v, NULL, &f, &err)) { * ...handle error... * } else { * ...use f... @@ -148,8 +149,7 @@ * Visitor *v; * * v =3D FOO_visitor_new(...); - * visit_type_FooList(v, NULL, &l, &err); - * if (err) { + * if (!visit_type_FooList(v, NULL, &l, &err)) { * ...handle error... * } else { * for ( ; l; l =3D l->next) { @@ -186,34 +186,32 @@ * * Visitor *v; * Error *err =3D NULL; + * bool ok =3D false; * int value; * * v =3D FOO_visitor_new(...); - * visit_start_struct(v, NULL, NULL, 0, &err); - * if (err) { + * if (!visit_start_struct(v, NULL, NULL, 0, &err)) { * goto out; * } - * visit_start_list(v, "list", NULL, 0, &err); - * if (err) { + * if (!visit_start_list(v, "list", NULL, 0, &err)) { * goto outobj; * } * value =3D 1; - * visit_type_int(v, NULL, &value, &err); - * if (err) { + * if (!visit_type_int(v, NULL, &value, &err)) { * goto outlist; * } * value =3D 2; - * visit_type_int(v, NULL, &value, &err); - * if (err) { + * if (!visit_type_int(v, NULL, &value, &err)) { * goto outlist; * } + * ok =3D true; * outlist: - * if (!err) { - * visit_check_list(v, &err); + * if (ok) { + * ok =3D visit_check_list(v, &err); * } * visit_end_list(v, NULL); - * if (!err) { - * visit_check_struct(v, &err); + * if (ok) { + * ok =3D visit_check_struct(v, &err); * } * outobj: * visit_end_struct(v, NULL); @@ -286,6 +284,8 @@ void visit_free(Visitor *v); * On failure, set *@obj to NULL and store an error through @errp. * Can happen only when @v is an input visitor. * + * Return true on succes, false on failure. + * * After visit_start_struct() succeeds, the caller may visit its * members one after the other, passing the member's name and address * within the struct. Finally, visit_end_struct() needs to be called @@ -295,7 +295,7 @@ void visit_free(Visitor *v); * FIXME Should this be named visit_start_object, since it is also * used for QAPI unions, and maps to JSON objects? */ -void visit_start_struct(Visitor *v, const char *name, void **obj, +bool visit_start_struct(Visitor *v, const char *name, void **obj, size_t size, Error **errp); =20 /* @@ -304,12 +304,14 @@ void visit_start_struct(Visitor *v, const char *name,= void **obj, * On failure, store an error through @errp. Can happen only when @v * is an input visitor. * + * Return true on succes, false on failure. + * * Should be called prior to visit_end_struct() if all other * intermediate visit steps were successful, to allow the visitor one * last chance to report errors. May be skipped on a cleanup path, * where there is no need to check for further errors. */ -void visit_check_struct(Visitor *v, Error **errp); +bool visit_check_struct(Visitor *v, Error **errp); =20 /* * Complete an object visit started earlier. @@ -341,6 +343,8 @@ void visit_end_struct(Visitor *v, void **obj); * On failure, set *@list to NULL and store an error through @errp. * Can happen only when @v is an input visitor. * + * Return true on succes, false on failure. + * * After visit_start_list() succeeds, the caller may visit its members * one after the other. A real visit (where @list is non-NULL) uses * visit_next_list() for traversing the linked list, while a virtual @@ -351,7 +355,7 @@ void visit_end_struct(Visitor *v, void **obj); * same @list to clean up, even if intermediate visits fail. See the * examples above. */ -void visit_start_list(Visitor *v, const char *name, GenericList **list, +bool visit_start_list(Visitor *v, const char *name, GenericList **list, size_t size, Error **errp); =20 /* @@ -376,12 +380,14 @@ GenericList *visit_next_list(Visitor *v, GenericList = *tail, size_t size); * On failure, store an error through @errp. Can happen only when @v * is an input visitor. * + * Return true on succes, false on failure. + * * Should be called prior to visit_end_list() if all other * intermediate visit steps were successful, to allow the visitor one * last chance to report errors. May be skipped on a cleanup path, * where there is no need to check for further errors. */ -void visit_check_list(Visitor *v, Error **errp); +bool visit_check_list(Visitor *v, Error **errp); =20 /* * Complete a list visit started earlier. @@ -412,11 +418,13 @@ void visit_end_list(Visitor *v, void **list); * On failure, set *@obj to NULL and store an error through @errp. * Can happen only when @v is an input visitor. * + * Return true on succes, false on failure. + * * If successful, this must be paired with visit_end_alternate() with * the same @obj to clean up, even if visiting the contents of the * alternate fails. */ -void visit_start_alternate(Visitor *v, const char *name, +bool visit_start_alternate(Visitor *v, const char *name, GenericAlternate **obj, size_t size, Error **errp); =20 @@ -468,12 +476,14 @@ bool visit_optional(Visitor *v, const char *name, boo= l *present); * On failure, store an error through @errp. Can happen only when @v * is an input visitor. * + * Return true on succes, false on failure. + * * May call visit_type_str() under the hood, and the enum visit may * fail even if the corresponding string visit succeeded; this implies * that an input visitor's visit_type_str() must have no unwelcome * side effects. */ -void visit_type_enum(Visitor *v, const char *name, int *obj, +bool visit_type_enum(Visitor *v, const char *name, int *obj, const QEnumLookup *lookup, Error **errp); =20 /* @@ -499,28 +509,30 @@ bool visit_is_dealloc(Visitor *v); * * On failure, store an error through @errp. Can happen only when @v * is an input visitor. + * + * Return true on succes, false on failure. */ -void visit_type_int(Visitor *v, const char *name, int64_t *obj, Error **er= rp); +bool visit_type_int(Visitor *v, const char *name, int64_t *obj, Error **er= rp); =20 /* * Visit a uint8_t value. * Like visit_type_int(), except clamps the value to uint8_t range. */ -void visit_type_uint8(Visitor *v, const char *name, uint8_t *obj, +bool visit_type_uint8(Visitor *v, const char *name, uint8_t *obj, Error **errp); =20 /* * Visit a uint16_t value. * Like visit_type_int(), except clamps the value to uint16_t range. */ -void visit_type_uint16(Visitor *v, const char *name, uint16_t *obj, +bool visit_type_uint16(Visitor *v, const char *name, uint16_t *obj, Error **errp); =20 /* * Visit a uint32_t value. * Like visit_type_int(), except clamps the value to uint32_t range. */ -void visit_type_uint32(Visitor *v, const char *name, uint32_t *obj, +bool visit_type_uint32(Visitor *v, const char *name, uint32_t *obj, Error **errp); =20 /* @@ -528,34 +540,34 @@ void visit_type_uint32(Visitor *v, const char *name, = uint32_t *obj, * Like visit_type_int(), except clamps the value to uint64_t range, * that is, ensures it is unsigned. */ -void visit_type_uint64(Visitor *v, const char *name, uint64_t *obj, +bool visit_type_uint64(Visitor *v, const char *name, uint64_t *obj, Error **errp); =20 /* * Visit an int8_t value. * Like visit_type_int(), except clamps the value to int8_t range. */ -void visit_type_int8(Visitor *v, const char *name, int8_t *obj, Error **er= rp); +bool visit_type_int8(Visitor *v, const char *name, int8_t *obj, Error **er= rp); =20 /* * Visit an int16_t value. * Like visit_type_int(), except clamps the value to int16_t range. */ -void visit_type_int16(Visitor *v, const char *name, int16_t *obj, +bool visit_type_int16(Visitor *v, const char *name, int16_t *obj, Error **errp); =20 /* * Visit an int32_t value. * Like visit_type_int(), except clamps the value to int32_t range. */ -void visit_type_int32(Visitor *v, const char *name, int32_t *obj, +bool visit_type_int32(Visitor *v, const char *name, int32_t *obj, Error **errp); =20 /* * Visit an int64_t value. * Identical to visit_type_int(). */ -void visit_type_int64(Visitor *v, const char *name, int64_t *obj, +bool visit_type_int64(Visitor *v, const char *name, int64_t *obj, Error **errp); =20 /* @@ -564,7 +576,7 @@ void visit_type_int64(Visitor *v, const char *name, int= 64_t *obj, * recognize additional syntax, such as suffixes for easily scaling * values. */ -void visit_type_size(Visitor *v, const char *name, uint64_t *obj, +bool visit_type_size(Visitor *v, const char *name, uint64_t *obj, Error **errp); =20 /* @@ -578,8 +590,10 @@ void visit_type_size(Visitor *v, const char *name, uin= t64_t *obj, * * On failure, store an error through @errp. Can happen only when @v * is an input visitor. + * + * Return true on succes, false on failure. */ -void visit_type_bool(Visitor *v, const char *name, bool *obj, Error **errp= ); +bool visit_type_bool(Visitor *v, const char *name, bool *obj, Error **errp= ); =20 /* * Visit a string value. @@ -598,9 +612,11 @@ void visit_type_bool(Visitor *v, const char *name, boo= l *obj, Error **errp); * On failure, set *@obj to NULL and store an error through @errp. * Can happen only when @v is an input visitor. * + * Return true on succes, false on failure. + * * FIXME: Callers that try to output NULL *obj should not be allowed. */ -void visit_type_str(Visitor *v, const char *name, char **obj, Error **errp= ); +bool visit_type_str(Visitor *v, const char *name, char **obj, Error **errp= ); =20 /* * Visit a number (i.e. double) value. @@ -614,8 +630,10 @@ void visit_type_str(Visitor *v, const char *name, char= **obj, Error **errp); * * On failure, store an error through @errp. Can happen only when @v * is an input visitor. + * + * Return true on succes, false on failure. */ -void visit_type_number(Visitor *v, const char *name, double *obj, +bool visit_type_number(Visitor *v, const char *name, double *obj, Error **errp); =20 /* @@ -631,11 +649,13 @@ void visit_type_number(Visitor *v, const char *name, = double *obj, * On failure, set *@obj to NULL and store an error through @errp. * Can happen only when @v is an input visitor. * + * Return true on succes, false on failure. + * * Note that some kinds of input can't express arbitrary QObject. * E.g. the visitor returned by qobject_input_visitor_new_keyval() * can't create numbers or booleans, only strings. */ -void visit_type_any(Visitor *v, const char *name, QObject **obj, Error **e= rrp); +bool visit_type_any(Visitor *v, const char *name, QObject **obj, Error **e= rrp); =20 /* * Visit a JSON null value. @@ -648,8 +668,10 @@ void visit_type_any(Visitor *v, const char *name, QObj= ect **obj, Error **errp); * * On failure, set *@obj to NULL and store an error through @errp. * Can happen only when @v is an input visitor. + * + * Return true on succes, false on failure. */ -void visit_type_null(Visitor *v, const char *name, QNull **obj, +bool visit_type_null(Visitor *v, const char *name, QNull **obj, Error **errp); =20 #endif diff --git a/audio/audio_legacy.c b/audio/audio_legacy.c index ebd7d9fa0d..ffdbd0bcce 100644 --- a/audio/audio_legacy.c +++ b/audio/audio_legacy.c @@ -421,11 +421,12 @@ typedef struct { GList *path; } LegacyPrintVisitor; =20 -static void lv_start_struct(Visitor *v, const char *name, void **obj, +static bool lv_start_struct(Visitor *v, const char *name, void **obj, size_t size, Error **errp) { LegacyPrintVisitor *lv =3D (LegacyPrintVisitor *) v; lv->path =3D g_list_append(lv->path, g_strdup(name)); + return true; } =20 static void lv_end_struct(Visitor *v, void **obj) @@ -453,27 +454,30 @@ static void lv_print_key(Visitor *v, const char *name) printf("%s=3D", name); } =20 -static void lv_type_int64(Visitor *v, const char *name, int64_t *obj, +static bool lv_type_int64(Visitor *v, const char *name, int64_t *obj, Error **errp) { lv_print_key(v, name); printf("%" PRIi64, *obj); + return true; } =20 -static void lv_type_uint64(Visitor *v, const char *name, uint64_t *obj, +static bool lv_type_uint64(Visitor *v, const char *name, uint64_t *obj, Error **errp) { lv_print_key(v, name); printf("%" PRIu64, *obj); + return true; } =20 -static void lv_type_bool(Visitor *v, const char *name, bool *obj, Error **= errp) +static bool lv_type_bool(Visitor *v, const char *name, bool *obj, Error **= errp) { lv_print_key(v, name); printf("%s", *obj ? "on" : "off"); + return true; } =20 -static void lv_type_str(Visitor *v, const char *name, char **obj, Error **= errp) +static bool lv_type_str(Visitor *v, const char *name, char **obj, Error **= errp) { const char *str =3D *obj; lv_print_key(v, name); @@ -484,6 +488,7 @@ static void lv_type_str(Visitor *v, const char *name, c= har **obj, Error **errp) } putchar(*str++); } + return true; } =20 static void lv_complete(Visitor *v, void *opaque) diff --git a/qapi/opts-visitor.c b/qapi/opts-visitor.c index 5fe0276c1c..6d8f4b6928 100644 --- a/qapi/opts-visitor.c +++ b/qapi/opts-visitor.c @@ -133,7 +133,7 @@ opts_visitor_insert(GHashTable *unprocessed_opts, const= QemuOpt *opt) } =20 =20 -static void +static bool opts_start_struct(Visitor *v, const char *name, void **obj, size_t size, Error **errp) { @@ -144,7 +144,7 @@ opts_start_struct(Visitor *v, const char *name, void **= obj, *obj =3D g_malloc0(size); } if (ov->depth++ > 0) { - return; + return true; } =20 ov->unprocessed_opts =3D g_hash_table_new_full(&g_str_hash, &g_str_equ= al, @@ -163,10 +163,11 @@ opts_start_struct(Visitor *v, const char *name, void = **obj, ov->fake_id_opt->str =3D g_strdup(ov->opts_root->id); opts_visitor_insert(ov->unprocessed_opts, ov->fake_id_opt); } + return true; } =20 =20 -static void +static bool opts_check_struct(Visitor *v, Error **errp) { OptsVisitor *ov =3D to_ov(v); @@ -174,7 +175,7 @@ opts_check_struct(Visitor *v, Error **errp) GQueue *any; =20 if (ov->depth > 1) { - return; + return true; } =20 /* we should have processed all (distinct) QemuOpt instances */ @@ -184,7 +185,9 @@ opts_check_struct(Visitor *v, Error **errp) =20 first =3D g_queue_peek_head(any); error_setg(errp, QERR_INVALID_PARAMETER, first->name); + return false; } + return true; } =20 =20 @@ -221,7 +224,7 @@ lookup_distinct(const OptsVisitor *ov, const char *name= , Error **errp) } =20 =20 -static void +static bool opts_start_list(Visitor *v, const char *name, GenericList **list, size_t s= ize, Error **errp) { @@ -238,6 +241,7 @@ opts_start_list(Visitor *v, const char *name, GenericLi= st **list, size_t size, } else { *list =3D NULL; } + return true; } =20 =20 @@ -285,13 +289,14 @@ opts_next_list(Visitor *v, GenericList *tail, size_t = size) } =20 =20 -static void +static bool opts_check_list(Visitor *v, Error **errp) { /* * Unvisited list elements will be reported later when checking * whether unvisited struct members remain. */ + return true; } =20 =20 @@ -341,7 +346,7 @@ processed(OptsVisitor *ov, const char *name) } =20 =20 -static void +static bool opts_type_str(Visitor *v, const char *name, char **obj, Error **errp) { OptsVisitor *ov =3D to_ov(v); @@ -350,7 +355,7 @@ opts_type_str(Visitor *v, const char *name, char **obj,= Error **errp) opt =3D lookup_scalar(ov, name, errp); if (!opt) { *obj =3D NULL; - return; + return false; } *obj =3D g_strdup(opt->str ? opt->str : ""); /* Note that we consume a string even if this is called as part of @@ -359,11 +364,12 @@ opts_type_str(Visitor *v, const char *name, char **ob= j, Error **errp) * consumed only matters to visit_end_struct() as the final error * check if there were no other failures during the visit. */ processed(ov, name); + return true; } =20 =20 /* mimics qemu-option.c::parse_option_bool() */ -static void +static bool opts_type_bool(Visitor *v, const char *name, bool *obj, Error **errp) { OptsVisitor *ov =3D to_ov(v); @@ -371,7 +377,7 @@ opts_type_bool(Visitor *v, const char *name, bool *obj,= Error **errp) =20 opt =3D lookup_scalar(ov, name, errp); if (!opt) { - return; + return false; } =20 if (opt->str) { @@ -386,17 +392,18 @@ opts_type_bool(Visitor *v, const char *name, bool *ob= j, Error **errp) } else { error_setg(errp, QERR_INVALID_PARAMETER_VALUE, opt->name, "on|yes|y|off|no|n"); - return; + return false; } } else { *obj =3D true; } =20 processed(ov, name); + return true; } =20 =20 -static void +static bool opts_type_int64(Visitor *v, const char *name, int64_t *obj, Error **errp) { OptsVisitor *ov =3D to_ov(v); @@ -407,12 +414,12 @@ opts_type_int64(Visitor *v, const char *name, int64_t= *obj, Error **errp) =20 if (ov->list_mode =3D=3D LM_SIGNED_INTERVAL) { *obj =3D ov->range_next.s; - return; + return true; } =20 opt =3D lookup_scalar(ov, name, errp); if (!opt) { - return; + return false; } str =3D opt->str ? opt->str : ""; =20 @@ -425,7 +432,7 @@ opts_type_int64(Visitor *v, const char *name, int64_t *= obj, Error **errp) if (*endptr =3D=3D '\0') { *obj =3D val; processed(ov, name); - return; + return true; } if (*endptr =3D=3D '-' && ov->list_mode =3D=3D LM_IN_PROGRESS) { long long val2; @@ -442,17 +449,18 @@ opts_type_int64(Visitor *v, const char *name, int64_t= *obj, Error **errp) =20 /* as if entering on the top */ *obj =3D ov->range_next.s; - return; + return true; } } } error_setg(errp, QERR_INVALID_PARAMETER_VALUE, opt->name, (ov->list_mode =3D=3D LM_NONE) ? "an int64 value" : "an int64 value or range"); + return false; } =20 =20 -static void +static bool opts_type_uint64(Visitor *v, const char *name, uint64_t *obj, Error **errp) { OptsVisitor *ov =3D to_ov(v); @@ -463,12 +471,12 @@ opts_type_uint64(Visitor *v, const char *name, uint64= _t *obj, Error **errp) =20 if (ov->list_mode =3D=3D LM_UNSIGNED_INTERVAL) { *obj =3D ov->range_next.u; - return; + return true; } =20 opt =3D lookup_scalar(ov, name, errp); if (!opt) { - return; + return false; } str =3D opt->str; =20 @@ -479,7 +487,7 @@ opts_type_uint64(Visitor *v, const char *name, uint64_t= *obj, Error **errp) if (*endptr =3D=3D '\0') { *obj =3D val; processed(ov, name); - return; + return true; } if (*endptr =3D=3D '-' && ov->list_mode =3D=3D LM_IN_PROGRESS) { unsigned long long val2; @@ -494,17 +502,18 @@ opts_type_uint64(Visitor *v, const char *name, uint64= _t *obj, Error **errp) =20 /* as if entering on the top */ *obj =3D ov->range_next.u; - return; + return true; } } } error_setg(errp, QERR_INVALID_PARAMETER_VALUE, opt->name, (ov->list_mode =3D=3D LM_NONE) ? "a uint64 value" : "a uint64 value or range"); + return false; } =20 =20 -static void +static bool opts_type_size(Visitor *v, const char *name, uint64_t *obj, Error **errp) { OptsVisitor *ov =3D to_ov(v); @@ -513,17 +522,18 @@ opts_type_size(Visitor *v, const char *name, uint64_t= *obj, Error **errp) =20 opt =3D lookup_scalar(ov, name, errp); if (!opt) { - return; + return false; } =20 err =3D qemu_strtosz(opt->str ? opt->str : "", NULL, obj); if (err < 0) { error_setg(errp, QERR_INVALID_PARAMETER_VALUE, opt->name, "a size value"); - return; + return false; } =20 processed(ov, name); + return true; } =20 =20 diff --git a/qapi/qapi-clone-visitor.c b/qapi/qapi-clone-visitor.c index daab6819b4..0f7e118087 100644 --- a/qapi/qapi-clone-visitor.c +++ b/qapi/qapi-clone-visitor.c @@ -24,7 +24,7 @@ static QapiCloneVisitor *to_qcv(Visitor *v) return container_of(v, QapiCloneVisitor, visitor); } =20 -static void qapi_clone_start_struct(Visitor *v, const char *name, void **o= bj, +static bool qapi_clone_start_struct(Visitor *v, const char *name, void **o= bj, size_t size, Error **errp) { QapiCloneVisitor *qcv =3D to_qcv(v); @@ -34,11 +34,12 @@ static void qapi_clone_start_struct(Visitor *v, const c= har *name, void **obj, /* Only possible when visiting an alternate's object * branch. Nothing further to do here, since the earlier * visit_start_alternate() already copied memory. */ - return; + return true; } =20 *obj =3D g_memdup(*obj, size); qcv->depth++; + return true; } =20 static void qapi_clone_end(Visitor *v, void **obj) @@ -51,11 +52,12 @@ static void qapi_clone_end(Visitor *v, void **obj) } } =20 -static void qapi_clone_start_list(Visitor *v, const char *name, +static bool qapi_clone_start_list(Visitor *v, const char *name, GenericList **listp, size_t size, Error **errp) { qapi_clone_start_struct(v, name, (void **)listp, size, errp); + return true; } =20 static GenericList *qapi_clone_next_list(Visitor *v, GenericList *tail, @@ -69,41 +71,45 @@ static GenericList *qapi_clone_next_list(Visitor *v, Ge= nericList *tail, return tail->next; } =20 -static void qapi_clone_start_alternate(Visitor *v, const char *name, +static bool qapi_clone_start_alternate(Visitor *v, const char *name, GenericAlternate **obj, size_t size, Error **errp) { qapi_clone_start_struct(v, name, (void **)obj, size, errp); + return true; } =20 -static void qapi_clone_type_int64(Visitor *v, const char *name, int64_t *o= bj, +static bool qapi_clone_type_int64(Visitor *v, const char *name, int64_t *o= bj, Error **errp) { QapiCloneVisitor *qcv =3D to_qcv(v); =20 assert(qcv->depth); /* Value was already cloned by g_memdup() */ + return true; } =20 -static void qapi_clone_type_uint64(Visitor *v, const char *name, +static bool qapi_clone_type_uint64(Visitor *v, const char *name, uint64_t *obj, Error **errp) { QapiCloneVisitor *qcv =3D to_qcv(v); =20 assert(qcv->depth); /* Value was already cloned by g_memdup() */ + return true; } =20 -static void qapi_clone_type_bool(Visitor *v, const char *name, bool *obj, +static bool qapi_clone_type_bool(Visitor *v, const char *name, bool *obj, Error **errp) { QapiCloneVisitor *qcv =3D to_qcv(v); =20 assert(qcv->depth); /* Value was already cloned by g_memdup() */ + return true; } =20 -static void qapi_clone_type_str(Visitor *v, const char *name, char **obj, +static bool qapi_clone_type_str(Visitor *v, const char *name, char **obj, Error **errp) { QapiCloneVisitor *qcv =3D to_qcv(v); @@ -117,24 +123,27 @@ static void qapi_clone_type_str(Visitor *v, const cha= r *name, char **obj, * string is intended. */ *obj =3D g_strdup(*obj ?: ""); + return true; } =20 -static void qapi_clone_type_number(Visitor *v, const char *name, double *o= bj, +static bool qapi_clone_type_number(Visitor *v, const char *name, double *o= bj, Error **errp) { QapiCloneVisitor *qcv =3D to_qcv(v); =20 assert(qcv->depth); /* Value was already cloned by g_memdup() */ + return true; } =20 -static void qapi_clone_type_null(Visitor *v, const char *name, QNull **obj, +static bool qapi_clone_type_null(Visitor *v, const char *name, QNull **obj, Error **errp) { QapiCloneVisitor *qcv =3D to_qcv(v); =20 assert(qcv->depth); *obj =3D qnull(); + return true; } =20 static void qapi_clone_free(Visitor *v) @@ -167,7 +176,7 @@ static Visitor *qapi_clone_visitor_new(void) return &v->visitor; } =20 -void *qapi_clone(const void *src, void (*visit_type)(Visitor *, const char= *, +void *qapi_clone(const void *src, bool (*visit_type)(Visitor *, const char= *, void **, Error **)) { Visitor *v; @@ -184,7 +193,7 @@ void *qapi_clone(const void *src, void (*visit_type)(Vi= sitor *, const char *, } =20 void qapi_clone_members(void *dst, const void *src, size_t sz, - void (*visit_type_members)(Visitor *, void *, + bool (*visit_type_members)(Visitor *, void *, Error **)) { Visitor *v; diff --git a/qapi/qapi-dealloc-visitor.c b/qapi/qapi-dealloc-visitor.c index 2239fc6417..ef283f2966 100644 --- a/qapi/qapi-dealloc-visitor.c +++ b/qapi/qapi-dealloc-visitor.c @@ -22,9 +22,10 @@ struct QapiDeallocVisitor Visitor visitor; }; =20 -static void qapi_dealloc_start_struct(Visitor *v, const char *name, void *= *obj, +static bool qapi_dealloc_start_struct(Visitor *v, const char *name, void *= *obj, size_t unused, Error **errp) { + return true; } =20 static void qapi_dealloc_end_struct(Visitor *v, void **obj) @@ -41,10 +42,11 @@ static void qapi_dealloc_end_alternate(Visitor *v, void= **obj) } } =20 -static void qapi_dealloc_start_list(Visitor *v, const char *name, +static bool qapi_dealloc_start_list(Visitor *v, const char *name, GenericList **list, size_t size, Error **errp) { + return true; } =20 static GenericList *qapi_dealloc_next_list(Visitor *v, GenericList *tail, @@ -59,48 +61,55 @@ static void qapi_dealloc_end_list(Visitor *v, void **ob= j) { } =20 -static void qapi_dealloc_type_str(Visitor *v, const char *name, char **obj, +static bool qapi_dealloc_type_str(Visitor *v, const char *name, char **obj, Error **errp) { if (obj) { g_free(*obj); } + return true; } =20 -static void qapi_dealloc_type_int64(Visitor *v, const char *name, int64_t = *obj, +static bool qapi_dealloc_type_int64(Visitor *v, const char *name, int64_t = *obj, Error **errp) { + return true; } =20 -static void qapi_dealloc_type_uint64(Visitor *v, const char *name, +static bool qapi_dealloc_type_uint64(Visitor *v, const char *name, uint64_t *obj, Error **errp) { + return true; } =20 -static void qapi_dealloc_type_bool(Visitor *v, const char *name, bool *obj, +static bool qapi_dealloc_type_bool(Visitor *v, const char *name, bool *obj, Error **errp) { + return true; } =20 -static void qapi_dealloc_type_number(Visitor *v, const char *name, double = *obj, +static bool qapi_dealloc_type_number(Visitor *v, const char *name, double = *obj, Error **errp) { + return true; } =20 -static void qapi_dealloc_type_anything(Visitor *v, const char *name, +static bool qapi_dealloc_type_anything(Visitor *v, const char *name, QObject **obj, Error **errp) { if (obj) { qobject_unref(*obj); } + return true; } =20 -static void qapi_dealloc_type_null(Visitor *v, const char *name, +static bool qapi_dealloc_type_null(Visitor *v, const char *name, QNull **obj, Error **errp) { if (obj) { qobject_unref(*obj); } + return true; } =20 static void qapi_dealloc_free(Visitor *v) diff --git a/qapi/qapi-visit-core.c b/qapi/qapi-visit-core.c index 74aa9c04bd..5a9c47aabf 100644 --- a/qapi/qapi-visit-core.c +++ b/qapi/qapi-visit-core.c @@ -36,7 +36,7 @@ void visit_free(Visitor *v) } } =20 -void visit_start_struct(Visitor *v, const char *name, void **obj, +bool visit_start_struct(Visitor *v, const char *name, void **obj, size_t size, Error **errp) { Error *err =3D NULL; @@ -51,14 +51,13 @@ void visit_start_struct(Visitor *v, const char *name, v= oid **obj, assert(!err !=3D !*obj); } error_propagate(errp, err); + return !err; } =20 -void visit_check_struct(Visitor *v, Error **errp) +bool visit_check_struct(Visitor *v, Error **errp) { trace_visit_check_struct(v); - if (v->check_struct) { - v->check_struct(v, errp); - } + return v->check_struct ? v->check_struct(v, errp) : true; } =20 void visit_end_struct(Visitor *v, void **obj) @@ -67,7 +66,7 @@ void visit_end_struct(Visitor *v, void **obj) v->end_struct(v, obj); } =20 -void visit_start_list(Visitor *v, const char *name, GenericList **list, +bool visit_start_list(Visitor *v, const char *name, GenericList **list, size_t size, Error **errp) { Error *err =3D NULL; @@ -79,6 +78,7 @@ void visit_start_list(Visitor *v, const char *name, Gener= icList **list, assert(!(err && *list)); } error_propagate(errp, err); + return !err; } =20 GenericList *visit_next_list(Visitor *v, GenericList *tail, size_t size) @@ -88,12 +88,10 @@ GenericList *visit_next_list(Visitor *v, GenericList *t= ail, size_t size) return v->next_list(v, tail, size); } =20 -void visit_check_list(Visitor *v, Error **errp) +bool visit_check_list(Visitor *v, Error **errp) { trace_visit_check_list(v); - if (v->check_list) { - v->check_list(v, errp); - } + return v->check_list ? v->check_list(v, errp) : true; } =20 void visit_end_list(Visitor *v, void **obj) @@ -102,7 +100,7 @@ void visit_end_list(Visitor *v, void **obj) v->end_list(v, obj); } =20 -void visit_start_alternate(Visitor *v, const char *name, +bool visit_start_alternate(Visitor *v, const char *name, GenericAlternate **obj, size_t size, Error **errp) { @@ -118,6 +116,7 @@ void visit_start_alternate(Visitor *v, const char *name, assert(v->start_alternate && !err !=3D !*obj); } error_propagate(errp, err); + return !err; } =20 void visit_end_alternate(Visitor *v, void **obj) @@ -147,155 +146,168 @@ bool visit_is_dealloc(Visitor *v) return v->type =3D=3D VISITOR_DEALLOC; } =20 -void visit_type_int(Visitor *v, const char *name, int64_t *obj, Error **er= rp) +bool visit_type_int(Visitor *v, const char *name, int64_t *obj, Error **er= rp) { assert(obj); trace_visit_type_int(v, name, obj); - v->type_int64(v, name, obj, errp); + return v->type_int64(v, name, obj, errp); } =20 -static void visit_type_uintN(Visitor *v, uint64_t *obj, const char *name, +static bool visit_type_uintN(Visitor *v, uint64_t *obj, const char *name, uint64_t max, const char *type, Error **errp) { - Error *err =3D NULL; uint64_t value =3D *obj; =20 assert(v->type =3D=3D VISITOR_INPUT || value <=3D max); =20 - v->type_uint64(v, name, &value, &err); - if (err) { - error_propagate(errp, err); - } else if (value > max) { + if (!v->type_uint64(v, name, &value, errp)) { + return false; + } + if (value > max) { assert(v->type =3D=3D VISITOR_INPUT); error_setg(errp, QERR_INVALID_PARAMETER_VALUE, name ? name : "null", type); - } else { - *obj =3D value; + return false; } + *obj =3D value; + return true; } =20 -void visit_type_uint8(Visitor *v, const char *name, uint8_t *obj, +bool visit_type_uint8(Visitor *v, const char *name, uint8_t *obj, Error **errp) { uint64_t value; + bool ok; =20 trace_visit_type_uint8(v, name, obj); value =3D *obj; - visit_type_uintN(v, &value, name, UINT8_MAX, "uint8_t", errp); + ok =3D visit_type_uintN(v, &value, name, UINT8_MAX, "uint8_t", errp); *obj =3D value; + return ok; } =20 -void visit_type_uint16(Visitor *v, const char *name, uint16_t *obj, +bool visit_type_uint16(Visitor *v, const char *name, uint16_t *obj, Error **errp) { uint64_t value; + bool ok; =20 trace_visit_type_uint16(v, name, obj); value =3D *obj; - visit_type_uintN(v, &value, name, UINT16_MAX, "uint16_t", errp); + ok =3D visit_type_uintN(v, &value, name, UINT16_MAX, "uint16_t", errp); *obj =3D value; + return ok; } =20 -void visit_type_uint32(Visitor *v, const char *name, uint32_t *obj, +bool visit_type_uint32(Visitor *v, const char *name, uint32_t *obj, Error **errp) { uint64_t value; + bool ok; =20 trace_visit_type_uint32(v, name, obj); value =3D *obj; - visit_type_uintN(v, &value, name, UINT32_MAX, "uint32_t", errp); + ok =3D visit_type_uintN(v, &value, name, UINT32_MAX, "uint32_t", errp); *obj =3D value; + return ok; } =20 -void visit_type_uint64(Visitor *v, const char *name, uint64_t *obj, +bool visit_type_uint64(Visitor *v, const char *name, uint64_t *obj, Error **errp) { assert(obj); trace_visit_type_uint64(v, name, obj); - v->type_uint64(v, name, obj, errp); + return v->type_uint64(v, name, obj, errp); } =20 -static void visit_type_intN(Visitor *v, int64_t *obj, const char *name, +static bool visit_type_intN(Visitor *v, int64_t *obj, const char *name, int64_t min, int64_t max, const char *type, Error **errp) { - Error *err =3D NULL; int64_t value =3D *obj; =20 assert(v->type =3D=3D VISITOR_INPUT || (value >=3D min && value <=3D m= ax)); =20 - v->type_int64(v, name, &value, &err); - if (err) { - error_propagate(errp, err); - } else if (value < min || value > max) { + if (!v->type_int64(v, name, &value, errp)) { + return false; + } + if (value < min || value > max) { assert(v->type =3D=3D VISITOR_INPUT); error_setg(errp, QERR_INVALID_PARAMETER_VALUE, name ? name : "null", type); - } else { - *obj =3D value; + return false; } + *obj =3D value; + return true; } =20 -void visit_type_int8(Visitor *v, const char *name, int8_t *obj, Error **er= rp) +bool visit_type_int8(Visitor *v, const char *name, int8_t *obj, Error **er= rp) { int64_t value; + bool ok; =20 trace_visit_type_int8(v, name, obj); value =3D *obj; - visit_type_intN(v, &value, name, INT8_MIN, INT8_MAX, "int8_t", errp); + ok =3D visit_type_intN(v, &value, name, INT8_MIN, INT8_MAX, "int8_t", = errp); *obj =3D value; + return ok; } =20 -void visit_type_int16(Visitor *v, const char *name, int16_t *obj, +bool visit_type_int16(Visitor *v, const char *name, int16_t *obj, Error **errp) { int64_t value; + bool ok; =20 trace_visit_type_int16(v, name, obj); value =3D *obj; - visit_type_intN(v, &value, name, INT16_MIN, INT16_MAX, "int16_t", errp= ); + ok =3D visit_type_intN(v, &value, name, INT16_MIN, INT16_MAX, "int16_t= ", + errp); *obj =3D value; + return ok; } =20 -void visit_type_int32(Visitor *v, const char *name, int32_t *obj, +bool visit_type_int32(Visitor *v, const char *name, int32_t *obj, Error **errp) { int64_t value; + bool ok; =20 trace_visit_type_int32(v, name, obj); value =3D *obj; - visit_type_intN(v, &value, name, INT32_MIN, INT32_MAX, "int32_t", errp= ); + ok =3D visit_type_intN(v, &value, name, INT32_MIN, INT32_MAX, "int32_t= ", + errp); *obj =3D value; + return ok; } =20 -void visit_type_int64(Visitor *v, const char *name, int64_t *obj, +bool visit_type_int64(Visitor *v, const char *name, int64_t *obj, Error **errp) { assert(obj); trace_visit_type_int64(v, name, obj); - v->type_int64(v, name, obj, errp); + return v->type_int64(v, name, obj, errp); } =20 -void visit_type_size(Visitor *v, const char *name, uint64_t *obj, +bool visit_type_size(Visitor *v, const char *name, uint64_t *obj, Error **errp) { assert(obj); trace_visit_type_size(v, name, obj); if (v->type_size) { - v->type_size(v, name, obj, errp); - } else { - v->type_uint64(v, name, obj, errp); + return v->type_size(v, name, obj, errp); } + return v->type_uint64(v, name, obj, errp); } =20 -void visit_type_bool(Visitor *v, const char *name, bool *obj, Error **errp) +bool visit_type_bool(Visitor *v, const char *name, bool *obj, Error **errp) { assert(obj); trace_visit_type_bool(v, name, obj); - v->type_bool(v, name, obj, errp); + return v->type_bool(v, name, obj, errp); } =20 -void visit_type_str(Visitor *v, const char *name, char **obj, Error **errp) +bool visit_type_str(Visitor *v, const char *name, char **obj, Error **errp) { Error *err =3D NULL; =20 @@ -310,89 +322,88 @@ void visit_type_str(Visitor *v, const char *name, cha= r **obj, Error **errp) assert(!err !=3D !*obj); } error_propagate(errp, err); + return !err; } =20 -void visit_type_number(Visitor *v, const char *name, double *obj, +bool visit_type_number(Visitor *v, const char *name, double *obj, Error **errp) { assert(obj); trace_visit_type_number(v, name, obj); - v->type_number(v, name, obj, errp); + return v->type_number(v, name, obj, errp); } =20 -void visit_type_any(Visitor *v, const char *name, QObject **obj, Error **e= rrp) +bool visit_type_any(Visitor *v, const char *name, QObject **obj, Error **e= rrp) { - Error *err =3D NULL; + bool ok; =20 assert(obj); assert(v->type !=3D VISITOR_OUTPUT || *obj); trace_visit_type_any(v, name, obj); - v->type_any(v, name, obj, &err); + ok =3D v->type_any(v, name, obj, errp); if (v->type =3D=3D VISITOR_INPUT) { - assert(!err !=3D !*obj); + assert(ok !=3D !*obj); } - error_propagate(errp, err); + return ok; } =20 -void visit_type_null(Visitor *v, const char *name, QNull **obj, +bool visit_type_null(Visitor *v, const char *name, QNull **obj, Error **errp) { trace_visit_type_null(v, name, obj); - v->type_null(v, name, obj, errp); + return v->type_null(v, name, obj, errp); } =20 -static void output_type_enum(Visitor *v, const char *name, int *obj, +static bool output_type_enum(Visitor *v, const char *name, int *obj, const QEnumLookup *lookup, Error **errp) { int value =3D *obj; char *enum_str; =20 enum_str =3D (char *)qapi_enum_lookup(lookup, value); - visit_type_str(v, name, &enum_str, errp); + return visit_type_str(v, name, &enum_str, errp); } =20 -static void input_type_enum(Visitor *v, const char *name, int *obj, +static bool input_type_enum(Visitor *v, const char *name, int *obj, const QEnumLookup *lookup, Error **errp) { - Error *local_err =3D NULL; int64_t value; char *enum_str; =20 - visit_type_str(v, name, &enum_str, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; + if (!visit_type_str(v, name, &enum_str, errp)) { + return false; } =20 value =3D qapi_enum_parse(lookup, enum_str, -1, NULL); if (value < 0) { error_setg(errp, QERR_INVALID_PARAMETER, enum_str); g_free(enum_str); - return; + return false; } =20 g_free(enum_str); *obj =3D value; + return true; } =20 -void visit_type_enum(Visitor *v, const char *name, int *obj, +bool visit_type_enum(Visitor *v, const char *name, int *obj, const QEnumLookup *lookup, Error **errp) { assert(obj && lookup); trace_visit_type_enum(v, name, obj); switch (v->type) { case VISITOR_INPUT: - input_type_enum(v, name, obj, lookup, errp); - break; + return input_type_enum(v, name, obj, lookup, errp); case VISITOR_OUTPUT: - output_type_enum(v, name, obj, lookup, errp); - break; + return output_type_enum(v, name, obj, lookup, errp); case VISITOR_CLONE: /* nothing further to do, scalar value was already copied by * g_memdup() during visit_start_*() */ - break; + return true; case VISITOR_DEALLOC: /* nothing to deallocate for a scalar */ - break; + return true; + default: + abort(); } } diff --git a/qapi/qobject-input-visitor.c b/qapi/qobject-input-visitor.c index 5ce3ec2e5f..f918a05e5f 100644 --- a/qapi/qobject-input-visitor.c +++ b/qapi/qobject-input-visitor.c @@ -237,7 +237,7 @@ static const QListEntry *qobject_input_push(QObjectInpu= tVisitor *qiv, } =20 =20 -static void qobject_input_check_struct(Visitor *v, Error **errp) +static bool qobject_input_check_struct(Visitor *v, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); StackObject *tos =3D QSLIST_FIRST(&qiv->stack); @@ -250,7 +250,9 @@ static void qobject_input_check_struct(Visitor *v, Erro= r **errp) if (g_hash_table_iter_next(&iter, (void **)&key, NULL)) { error_setg(errp, "Parameter '%s' is unexpected", full_name(qiv, key)); + return false; } + return true; } =20 static void qobject_input_stack_object_free(StackObject *tos) @@ -272,7 +274,7 @@ static void qobject_input_pop(Visitor *v, void **obj) qobject_input_stack_object_free(tos); } =20 -static void qobject_input_start_struct(Visitor *v, const char *name, void = **obj, +static bool qobject_input_start_struct(Visitor *v, const char *name, void = **obj, size_t size, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); @@ -282,12 +284,12 @@ static void qobject_input_start_struct(Visitor *v, co= nst char *name, void **obj, *obj =3D NULL; } if (!qobj) { - return; + return false; } if (qobject_type(qobj) !=3D QTYPE_QDICT) { error_setg(errp, QERR_INVALID_PARAMETER_TYPE, full_name(qiv, name), "object"); - return; + return false; } =20 qobject_input_push(qiv, name, qobj, obj); @@ -295,6 +297,7 @@ static void qobject_input_start_struct(Visitor *v, cons= t char *name, void **obj, if (obj) { *obj =3D g_malloc0(size); } + return true; } =20 static void qobject_input_end_struct(Visitor *v, void **obj) @@ -307,7 +310,7 @@ static void qobject_input_end_struct(Visitor *v, void *= *obj) } =20 =20 -static void qobject_input_start_list(Visitor *v, const char *name, +static bool qobject_input_start_list(Visitor *v, const char *name, GenericList **list, size_t size, Error **errp) { @@ -319,18 +322,19 @@ static void qobject_input_start_list(Visitor *v, cons= t char *name, *list =3D NULL; } if (!qobj) { - return; + return false; } if (qobject_type(qobj) !=3D QTYPE_QLIST) { error_setg(errp, QERR_INVALID_PARAMETER_TYPE, full_name(qiv, name), "array"); - return; + return false; } =20 entry =3D qobject_input_push(qiv, name, qobj, list); if (entry && list) { *list =3D g_malloc0(size); } + return true; } =20 static GenericList *qobject_input_next_list(Visitor *v, GenericList *tail, @@ -348,7 +352,7 @@ static GenericList *qobject_input_next_list(Visitor *v,= GenericList *tail, return tail->next; } =20 -static void qobject_input_check_list(Visitor *v, Error **errp) +static bool qobject_input_check_list(Visitor *v, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); StackObject *tos =3D QSLIST_FIRST(&qiv->stack); @@ -358,7 +362,9 @@ static void qobject_input_check_list(Visitor *v, Error = **errp) if (tos->entry) { error_setg(errp, "Only %u list elements expected in %s", tos->index + 1, full_name_nth(qiv, NULL, 1)); + return false; } + return true; } =20 static void qobject_input_end_list(Visitor *v, void **obj) @@ -370,7 +376,7 @@ static void qobject_input_end_list(Visitor *v, void **o= bj) qobject_input_pop(v, obj); } =20 -static void qobject_input_start_alternate(Visitor *v, const char *name, +static bool qobject_input_start_alternate(Visitor *v, const char *name, GenericAlternate **obj, size_t s= ize, Error **errp) { @@ -379,13 +385,14 @@ static void qobject_input_start_alternate(Visitor *v,= const char *name, =20 if (!qobj) { *obj =3D NULL; - return; + return false; } *obj =3D g_malloc0(size); (*obj)->type =3D qobject_type(qobj); + return true; } =20 -static void qobject_input_type_int64(Visitor *v, const char *name, int64_t= *obj, +static bool qobject_input_type_int64(Visitor *v, const char *name, int64_t= *obj, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); @@ -393,33 +400,37 @@ static void qobject_input_type_int64(Visitor *v, cons= t char *name, int64_t *obj, QNum *qnum; =20 if (!qobj) { - return; + return false; } qnum =3D qobject_to(QNum, qobj); if (!qnum || !qnum_get_try_int(qnum, obj)) { error_setg(errp, QERR_INVALID_PARAMETER_TYPE, full_name(qiv, name), "integer"); + return false; } + return true; } =20 -static void qobject_input_type_int64_keyval(Visitor *v, const char *name, +static bool qobject_input_type_int64_keyval(Visitor *v, const char *name, int64_t *obj, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); const char *str =3D qobject_input_get_keyval(qiv, name, errp); =20 if (!str) { - return; + return false; } =20 if (qemu_strtoi64(str, NULL, 0, obj) < 0) { /* TODO report -ERANGE more nicely */ error_setg(errp, QERR_INVALID_PARAMETER_VALUE, full_name(qiv, name), "integer"); + return false; } + return true; } =20 -static void qobject_input_type_uint64(Visitor *v, const char *name, +static bool qobject_input_type_uint64(Visitor *v, const char *name, uint64_t *obj, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); @@ -428,7 +439,7 @@ static void qobject_input_type_uint64(Visitor *v, const= char *name, int64_t val; =20 if (!qobj) { - return; + return false; } qnum =3D qobject_to(QNum, qobj); if (!qnum) { @@ -436,38 +447,41 @@ static void qobject_input_type_uint64(Visitor *v, con= st char *name, } =20 if (qnum_get_try_uint(qnum, obj)) { - return; + return true; } =20 /* Need to accept negative values for backward compatibility */ if (qnum_get_try_int(qnum, &val)) { *obj =3D val; - return; + return true; } =20 err: error_setg(errp, QERR_INVALID_PARAMETER_VALUE, full_name(qiv, name), "uint64"); + return false; } =20 -static void qobject_input_type_uint64_keyval(Visitor *v, const char *name, +static bool qobject_input_type_uint64_keyval(Visitor *v, const char *name, uint64_t *obj, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); const char *str =3D qobject_input_get_keyval(qiv, name, errp); =20 if (!str) { - return; + return false; } =20 if (qemu_strtou64(str, NULL, 0, obj) < 0) { /* TODO report -ERANGE more nicely */ error_setg(errp, QERR_INVALID_PARAMETER_VALUE, full_name(qiv, name), "integer"); + return false; } + return true; } =20 -static void qobject_input_type_bool(Visitor *v, const char *name, bool *ob= j, +static bool qobject_input_type_bool(Visitor *v, const char *name, bool *ob= j, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); @@ -475,26 +489,27 @@ static void qobject_input_type_bool(Visitor *v, const= char *name, bool *obj, QBool *qbool; =20 if (!qobj) { - return; + return false; } qbool =3D qobject_to(QBool, qobj); if (!qbool) { error_setg(errp, QERR_INVALID_PARAMETER_TYPE, full_name(qiv, name), "boolean"); - return; + return false; } =20 *obj =3D qbool_get_bool(qbool); + return true; } =20 -static void qobject_input_type_bool_keyval(Visitor *v, const char *name, +static bool qobject_input_type_bool_keyval(Visitor *v, const char *name, bool *obj, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); const char *str =3D qobject_input_get_keyval(qiv, name, errp); =20 if (!str) { - return; + return false; } =20 if (!strcmp(str, "on")) { @@ -504,10 +519,12 @@ static void qobject_input_type_bool_keyval(Visitor *v= , const char *name, } else { error_setg(errp, QERR_INVALID_PARAMETER_VALUE, full_name(qiv, name), "'on' or 'off'"); + return false; } + return true; } =20 -static void qobject_input_type_str(Visitor *v, const char *name, char **ob= j, +static bool qobject_input_type_str(Visitor *v, const char *name, char **ob= j, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); @@ -516,28 +533,30 @@ static void qobject_input_type_str(Visitor *v, const = char *name, char **obj, =20 *obj =3D NULL; if (!qobj) { - return; + return false; } qstr =3D qobject_to(QString, qobj); if (!qstr) { error_setg(errp, QERR_INVALID_PARAMETER_TYPE, full_name(qiv, name), "string"); - return; + return false; } =20 *obj =3D g_strdup(qstring_get_str(qstr)); + return true; } =20 -static void qobject_input_type_str_keyval(Visitor *v, const char *name, +static bool qobject_input_type_str_keyval(Visitor *v, const char *name, char **obj, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); const char *str =3D qobject_input_get_keyval(qiv, name, errp); =20 *obj =3D g_strdup(str); + return !!str; } =20 -static void qobject_input_type_number(Visitor *v, const char *name, double= *obj, +static bool qobject_input_type_number(Visitor *v, const char *name, double= *obj, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); @@ -545,19 +564,20 @@ static void qobject_input_type_number(Visitor *v, con= st char *name, double *obj, QNum *qnum; =20 if (!qobj) { - return; + return false; } qnum =3D qobject_to(QNum, qobj); if (!qnum) { error_setg(errp, QERR_INVALID_PARAMETER_TYPE, full_name(qiv, name), "number"); - return; + return false; } =20 *obj =3D qnum_get_double(qnum); + return true; } =20 -static void qobject_input_type_number_keyval(Visitor *v, const char *name, +static bool qobject_input_type_number_keyval(Visitor *v, const char *name, double *obj, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); @@ -565,20 +585,21 @@ static void qobject_input_type_number_keyval(Visitor = *v, const char *name, double val; =20 if (!str) { - return; + return false; } =20 if (qemu_strtod_finite(str, NULL, &val)) { /* TODO report -ERANGE more nicely */ error_setg(errp, QERR_INVALID_PARAMETER_TYPE, full_name(qiv, name), "number"); - return; + return false; } =20 *obj =3D val; + return true; } =20 -static void qobject_input_type_any(Visitor *v, const char *name, QObject *= *obj, +static bool qobject_input_type_any(Visitor *v, const char *name, QObject *= *obj, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); @@ -586,13 +607,14 @@ static void qobject_input_type_any(Visitor *v, const = char *name, QObject **obj, =20 *obj =3D NULL; if (!qobj) { - return; + return false; } =20 *obj =3D qobject_ref(qobj); + return true; } =20 -static void qobject_input_type_null(Visitor *v, const char *name, +static bool qobject_input_type_null(Visitor *v, const char *name, QNull **obj, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); @@ -600,32 +622,35 @@ static void qobject_input_type_null(Visitor *v, const= char *name, =20 *obj =3D NULL; if (!qobj) { - return; + return false; } =20 if (qobject_type(qobj) !=3D QTYPE_QNULL) { error_setg(errp, QERR_INVALID_PARAMETER_TYPE, full_name(qiv, name), "null"); - return; + return false; } *obj =3D qnull(); + return true; } =20 -static void qobject_input_type_size_keyval(Visitor *v, const char *name, +static bool qobject_input_type_size_keyval(Visitor *v, const char *name, uint64_t *obj, Error **errp) { QObjectInputVisitor *qiv =3D to_qiv(v); const char *str =3D qobject_input_get_keyval(qiv, name, errp); =20 if (!str) { - return; + return false; } =20 if (qemu_strtosz(str, NULL, obj) < 0) { /* TODO report -ERANGE more nicely */ error_setg(errp, QERR_INVALID_PARAMETER_VALUE, full_name(qiv, name), "size"); + return false; } + return true; } =20 static void qobject_input_optional(Visitor *v, const char *name, bool *pre= sent) diff --git a/qapi/qobject-output-visitor.c b/qapi/qobject-output-visitor.c index 26d7be5ec9..ba6f6ac8a7 100644 --- a/qapi/qobject-output-visitor.c +++ b/qapi/qobject-output-visitor.c @@ -103,7 +103,7 @@ static void qobject_output_add_obj(QObjectOutputVisitor= *qov, const char *name, } } =20 -static void qobject_output_start_struct(Visitor *v, const char *name, +static bool qobject_output_start_struct(Visitor *v, const char *name, void **obj, size_t unused, Error *= *errp) { QObjectOutputVisitor *qov =3D to_qov(v); @@ -111,6 +111,7 @@ static void qobject_output_start_struct(Visitor *v, con= st char *name, =20 qobject_output_add(qov, name, dict); qobject_output_push(qov, dict, obj); + return true; } =20 static void qobject_output_end_struct(Visitor *v, void **obj) @@ -120,7 +121,7 @@ static void qobject_output_end_struct(Visitor *v, void = **obj) assert(qobject_type(value) =3D=3D QTYPE_QDICT); } =20 -static void qobject_output_start_list(Visitor *v, const char *name, +static bool qobject_output_start_list(Visitor *v, const char *name, GenericList **listp, size_t size, Error **errp) { @@ -129,6 +130,7 @@ static void qobject_output_start_list(Visitor *v, const= char *name, =20 qobject_output_add(qov, name, list); qobject_output_push(qov, list, listp); + return true; } =20 static GenericList *qobject_output_next_list(Visitor *v, GenericList *tail, @@ -144,28 +146,31 @@ static void qobject_output_end_list(Visitor *v, void = **obj) assert(qobject_type(value) =3D=3D QTYPE_QLIST); } =20 -static void qobject_output_type_int64(Visitor *v, const char *name, +static bool qobject_output_type_int64(Visitor *v, const char *name, int64_t *obj, Error **errp) { QObjectOutputVisitor *qov =3D to_qov(v); qobject_output_add(qov, name, qnum_from_int(*obj)); + return true; } =20 -static void qobject_output_type_uint64(Visitor *v, const char *name, +static bool qobject_output_type_uint64(Visitor *v, const char *name, uint64_t *obj, Error **errp) { QObjectOutputVisitor *qov =3D to_qov(v); qobject_output_add(qov, name, qnum_from_uint(*obj)); + return true; } =20 -static void qobject_output_type_bool(Visitor *v, const char *name, bool *o= bj, +static bool qobject_output_type_bool(Visitor *v, const char *name, bool *o= bj, Error **errp) { QObjectOutputVisitor *qov =3D to_qov(v); qobject_output_add(qov, name, qbool_from_bool(*obj)); + return true; } =20 -static void qobject_output_type_str(Visitor *v, const char *name, char **o= bj, +static bool qobject_output_type_str(Visitor *v, const char *name, char **o= bj, Error **errp) { QObjectOutputVisitor *qov =3D to_qov(v); @@ -174,28 +179,32 @@ static void qobject_output_type_str(Visitor *v, const= char *name, char **obj, } else { qobject_output_add(qov, name, qstring_from_str("")); } + return true; } =20 -static void qobject_output_type_number(Visitor *v, const char *name, +static bool qobject_output_type_number(Visitor *v, const char *name, double *obj, Error **errp) { QObjectOutputVisitor *qov =3D to_qov(v); qobject_output_add(qov, name, qnum_from_double(*obj)); + return true; } =20 -static void qobject_output_type_any(Visitor *v, const char *name, +static bool qobject_output_type_any(Visitor *v, const char *name, QObject **obj, Error **errp) { QObjectOutputVisitor *qov =3D to_qov(v); =20 qobject_output_add_obj(qov, name, qobject_ref(*obj)); + return true; } =20 -static void qobject_output_type_null(Visitor *v, const char *name, +static bool qobject_output_type_null(Visitor *v, const char *name, QNull **obj, Error **errp) { QObjectOutputVisitor *qov =3D to_qov(v); qobject_output_add(qov, name, qnull()); + return true; } =20 /* Finish building, and return the root object. diff --git a/qapi/string-input-visitor.c b/qapi/string-input-visitor.c index de483fe847..6e53396ea3 100644 --- a/qapi/string-input-visitor.c +++ b/qapi/string-input-visitor.c @@ -60,7 +60,7 @@ static StringInputVisitor *to_siv(Visitor *v) return container_of(v, StringInputVisitor, visitor); } =20 -static void start_list(Visitor *v, const char *name, GenericList **list, +static bool start_list(Visitor *v, const char *name, GenericList **list, size_t size, Error **errp) { StringInputVisitor *siv =3D to_siv(v); @@ -80,6 +80,7 @@ static void start_list(Visitor *v, const char *name, Gene= ricList **list, } siv->lm =3D LM_UNPARSED; } + return true; } =20 static GenericList *next_list(Visitor *v, GenericList *tail, size_t size) @@ -102,7 +103,7 @@ static GenericList *next_list(Visitor *v, GenericList *= tail, size_t size) return tail->next; } =20 -static void check_list(Visitor *v, Error **errp) +static bool check_list(Visitor *v, Error **errp) { const StringInputVisitor *siv =3D to_siv(v); =20 @@ -111,9 +112,9 @@ static void check_list(Visitor *v, Error **errp) case LM_UINT64_RANGE: case LM_UNPARSED: error_setg(errp, "Fewer list elements expected"); - return; + return false; case LM_END: - return; + return true; default: abort(); } @@ -178,7 +179,7 @@ static int try_parse_int64_list_entry(StringInputVisito= r *siv, int64_t *obj) return 0; } =20 -static void parse_type_int64(Visitor *v, const char *name, int64_t *obj, +static bool parse_type_int64(Visitor *v, const char *name, int64_t *obj, Error **errp) { StringInputVisitor *siv =3D to_siv(v); @@ -188,17 +189,17 @@ static void parse_type_int64(Visitor *v, const char *= name, int64_t *obj, case LM_NONE: /* just parse a simple int64, bail out if not completely consumed = */ if (qemu_strtoi64(siv->string, NULL, 0, &val)) { - error_setg(errp, QERR_INVALID_PARAMETER_VALUE, - name ? name : "null", "int64"); - return; + error_setg(errp, QERR_INVALID_PARAMETER_VALUE, + name ? name : "null", "int64"); + return false; } *obj =3D val; - return; + return true; case LM_UNPARSED: if (try_parse_int64_list_entry(siv, obj)) { error_setg(errp, QERR_INVALID_PARAMETER_VALUE, name ? name : "= null", "list of int64 values or ranges"); - return; + return false; } assert(siv->lm =3D=3D LM_INT64_RANGE); /* fall through */ @@ -211,10 +212,10 @@ static void parse_type_int64(Visitor *v, const char *= name, int64_t *obj, /* end of range, check if there is more to parse */ siv->lm =3D siv->unparsed_string[0] ? LM_UNPARSED : LM_END; } - return; + return true; case LM_END: error_setg(errp, "Fewer list elements expected"); - return; + return false; default: abort(); } @@ -268,7 +269,7 @@ static int try_parse_uint64_list_entry(StringInputVisit= or *siv, uint64_t *obj) return 0; } =20 -static void parse_type_uint64(Visitor *v, const char *name, uint64_t *obj, +static bool parse_type_uint64(Visitor *v, const char *name, uint64_t *obj, Error **errp) { StringInputVisitor *siv =3D to_siv(v); @@ -280,15 +281,15 @@ static void parse_type_uint64(Visitor *v, const char = *name, uint64_t *obj, if (qemu_strtou64(siv->string, NULL, 0, &val)) { error_setg(errp, QERR_INVALID_PARAMETER_VALUE, name ? name : "= null", "uint64"); - return; + return false; } *obj =3D val; - return; + return true; case LM_UNPARSED: if (try_parse_uint64_list_entry(siv, obj)) { error_setg(errp, QERR_INVALID_PARAMETER_VALUE, name ? name : "= null", "list of uint64 values or ranges"); - return; + return false; } assert(siv->lm =3D=3D LM_UINT64_RANGE); /* fall through */ @@ -301,16 +302,16 @@ static void parse_type_uint64(Visitor *v, const char = *name, uint64_t *obj, /* end of range, check if there is more to parse */ siv->lm =3D siv->unparsed_string[0] ? LM_UNPARSED : LM_END; } - return; + return true; case LM_END: error_setg(errp, "Fewer list elements expected"); - return; + return false; default: abort(); } } =20 -static void parse_type_size(Visitor *v, const char *name, uint64_t *obj, +static bool parse_type_size(Visitor *v, const char *name, uint64_t *obj, Error **errp) { StringInputVisitor *siv =3D to_siv(v); @@ -318,13 +319,14 @@ static void parse_type_size(Visitor *v, const char *n= ame, uint64_t *obj, =20 assert(siv->lm =3D=3D LM_NONE); if (!parse_option_size(name, siv->string, &val, errp)) { - return; + return false; } =20 *obj =3D val; + return true; } =20 -static void parse_type_bool(Visitor *v, const char *name, bool *obj, +static bool parse_type_bool(Visitor *v, const char *name, bool *obj, Error **errp) { StringInputVisitor *siv =3D to_siv(v); @@ -334,29 +336,31 @@ static void parse_type_bool(Visitor *v, const char *n= ame, bool *obj, !strcasecmp(siv->string, "yes") || !strcasecmp(siv->string, "true")) { *obj =3D true; - return; + return true; } if (!strcasecmp(siv->string, "off") || !strcasecmp(siv->string, "no") || !strcasecmp(siv->string, "false")) { *obj =3D false; - return; + return true; } =20 error_setg(errp, QERR_INVALID_PARAMETER_TYPE, name ? name : "null", "boolean"); + return false; } =20 -static void parse_type_str(Visitor *v, const char *name, char **obj, +static bool parse_type_str(Visitor *v, const char *name, char **obj, Error **errp) { StringInputVisitor *siv =3D to_siv(v); =20 assert(siv->lm =3D=3D LM_NONE); *obj =3D g_strdup(siv->string); + return true; } =20 -static void parse_type_number(Visitor *v, const char *name, double *obj, +static bool parse_type_number(Visitor *v, const char *name, double *obj, Error **errp) { StringInputVisitor *siv =3D to_siv(v); @@ -366,13 +370,14 @@ static void parse_type_number(Visitor *v, const char = *name, double *obj, if (qemu_strtod_finite(siv->string, NULL, &val)) { error_setg(errp, QERR_INVALID_PARAMETER_TYPE, name ? name : "null", "number"); - return; + return false; } =20 *obj =3D val; + return true; } =20 -static void parse_type_null(Visitor *v, const char *name, QNull **obj, +static bool parse_type_null(Visitor *v, const char *name, QNull **obj, Error **errp) { StringInputVisitor *siv =3D to_siv(v); @@ -383,10 +388,11 @@ static void parse_type_null(Visitor *v, const char *n= ame, QNull **obj, if (siv->string[0]) { error_setg(errp, QERR_INVALID_PARAMETER_TYPE, name ? name : "null", "null"); - return; + return false; } =20 *obj =3D qnull(); + return true; } =20 static void string_input_free(Visitor *v) diff --git a/qapi/string-output-visitor.c b/qapi/string-output-visitor.c index 0d93605d77..b74aa4d44c 100644 --- a/qapi/string-output-visitor.c +++ b/qapi/string-output-visitor.c @@ -123,7 +123,7 @@ static void format_string(StringOutputVisitor *sov, Ran= ge *r, bool next, } } =20 -static void print_type_int64(Visitor *v, const char *name, int64_t *obj, +static bool print_type_int64(Visitor *v, const char *name, int64_t *obj, Error **errp) { StringOutputVisitor *sov =3D to_sov(v); @@ -138,7 +138,7 @@ static void print_type_int64(Visitor *v, const char *na= me, int64_t *obj, sov->range_start.s =3D *obj; sov->range_end.s =3D *obj; sov->list_mode =3D LM_IN_PROGRESS; - return; + return true; =20 case LM_IN_PROGRESS: if (sov->range_end.s + 1 =3D=3D *obj) { @@ -155,7 +155,7 @@ static void print_type_int64(Visitor *v, const char *na= me, int64_t *obj, sov->range_start.s =3D *obj; sov->range_end.s =3D *obj; } - return; + return true; =20 case LM_END: if (sov->range_end.s + 1 =3D=3D *obj) { @@ -197,17 +197,19 @@ static void print_type_int64(Visitor *v, const char *= name, int64_t *obj, } g_string_append(sov->string, ")"); } + + return true; } =20 -static void print_type_uint64(Visitor *v, const char *name, uint64_t *obj, +static bool print_type_uint64(Visitor *v, const char *name, uint64_t *obj, Error **errp) { /* FIXME: print_type_int64 mishandles values over INT64_MAX */ int64_t i =3D *obj; - print_type_int64(v, name, &i, errp); + return print_type_int64(v, name, &i, errp); } =20 -static void print_type_size(Visitor *v, const char *name, uint64_t *obj, +static bool print_type_size(Visitor *v, const char *name, uint64_t *obj, Error **errp) { StringOutputVisitor *sov =3D to_sov(v); @@ -217,7 +219,7 @@ static void print_type_size(Visitor *v, const char *nam= e, uint64_t *obj, if (!sov->human) { out =3D g_strdup_printf("%"PRIu64, *obj); string_output_set(sov, out); - return; + return true; } =20 val =3D *obj; @@ -226,16 +228,18 @@ static void print_type_size(Visitor *v, const char *n= ame, uint64_t *obj, string_output_set(sov, out); =20 g_free(psize); + return true; } =20 -static void print_type_bool(Visitor *v, const char *name, bool *obj, +static bool print_type_bool(Visitor *v, const char *name, bool *obj, Error **errp) { StringOutputVisitor *sov =3D to_sov(v); string_output_set(sov, g_strdup(*obj ? "true" : "false")); + return true; } =20 -static void print_type_str(Visitor *v, const char *name, char **obj, +static bool print_type_str(Visitor *v, const char *name, char **obj, Error **errp) { StringOutputVisitor *sov =3D to_sov(v); @@ -247,16 +251,18 @@ static void print_type_str(Visitor *v, const char *na= me, char **obj, out =3D g_strdup(*obj ? *obj : ""); } string_output_set(sov, out); + return true; } =20 -static void print_type_number(Visitor *v, const char *name, double *obj, +static bool print_type_number(Visitor *v, const char *name, double *obj, Error **errp) { StringOutputVisitor *sov =3D to_sov(v); string_output_set(sov, g_strdup_printf("%f", *obj)); + return true; } =20 -static void print_type_null(Visitor *v, const char *name, QNull **obj, +static bool print_type_null(Visitor *v, const char *name, QNull **obj, Error **errp) { StringOutputVisitor *sov =3D to_sov(v); @@ -268,9 +274,10 @@ static void print_type_null(Visitor *v, const char *na= me, QNull **obj, out =3D g_strdup(""); } string_output_set(sov, out); + return true; } =20 -static void +static bool start_list(Visitor *v, const char *name, GenericList **list, size_t size, Error **errp) { @@ -285,6 +292,7 @@ start_list(Visitor *v, const char *name, GenericList **= list, size_t size, if (*list && (*list)->next) { sov->list_mode =3D LM_STARTED; } + return true; } =20 static GenericList *next_list(Visitor *v, GenericList *tail, size_t size) diff --git a/scripts/qapi/visit.py b/scripts/qapi/visit.py index d5d7a1031f..ba0cf0b074 100644 --- a/scripts/qapi/visit.py +++ b/scripts/qapi/visit.py @@ -23,7 +23,7 @@ def gen_visit_decl(name, scalar=3DFalse): if not scalar: c_type +=3D '*' return mcgen(''' -void visit_type_%(c_name)s(Visitor *v, const char *name, %(c_type)sobj, Er= ror **errp); +bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_type)sobj, Er= ror **errp); ''', c_name=3Dc_name(name), c_type=3Dc_type) =20 @@ -31,7 +31,7 @@ void visit_type_%(c_name)s(Visitor *v, const char *name, = %(c_type)sobj, Error ** def gen_visit_members_decl(name): return mcgen(''' =20 -void visit_type_%(c_name)s_members(Visitor *v, %(c_name)s *obj, Error **er= rp); +bool visit_type_%(c_name)s_members(Visitor *v, %(c_name)s *obj, Error **er= rp); ''', c_name=3Dc_name(name)) =20 @@ -39,7 +39,7 @@ void visit_type_%(c_name)s_members(Visitor *v, %(c_name)s= *obj, Error **errp); def gen_visit_object_members(name, base, members, variants): ret =3D mcgen(''' =20 -void visit_type_%(c_name)s_members(Visitor *v, %(c_name)s *obj, Error **er= rp) +bool visit_type_%(c_name)s_members(Visitor *v, %(c_name)s *obj, Error **er= rp) { Error *err =3D NULL; =20 @@ -48,9 +48,8 @@ void visit_type_%(c_name)s_members(Visitor *v, %(c_name)s= *obj, Error **errp) =20 if base: ret +=3D mcgen(''' - visit_type_%(c_type)s_members(v, (%(c_type)s *)obj, &err); - if (err) { - goto out; + if (!visit_type_%(c_type)s_members(v, (%(c_type)s *)obj, errp)) { + return false; } ''', c_type=3Dbase.c_name()) @@ -64,9 +63,8 @@ void visit_type_%(c_name)s_members(Visitor *v, %(c_name)s= *obj, Error **errp) name=3Dmemb.name, c_name=3Dc_name(memb.name)) push_indent() ret +=3D mcgen(''' - visit_type_%(c_type)s(v, "%(name)s", &obj->%(c_name)s, &err); - if (err) { - goto out; + if (!visit_type_%(c_type)s(v, "%(name)s", &obj->%(c_name)s, errp)) { + return false; } ''', c_type=3Dmemb.type.c_name(), name=3Dmemb.name, @@ -112,15 +110,9 @@ void visit_type_%(c_name)s_members(Visitor *v, %(c_nam= e)s *obj, Error **errp) } ''') =20 - # 'goto out' produced for base, for each member, and if variants were - # present - if base or members or variants: - ret +=3D mcgen(''' - -out: -''') ret +=3D mcgen(''' error_propagate(errp, err); + return !err; } ''') return ret @@ -129,15 +121,14 @@ out: def gen_visit_list(name, element_type): return mcgen(''' =20 -void visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj,= Error **errp) +bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj,= Error **errp) { Error *err =3D NULL; %(c_name)s *tail; size_t size =3D sizeof(**obj); =20 - visit_start_list(v, name, (GenericList **)obj, size, &err); - if (err) { - goto out; + if (!visit_start_list(v, name, (GenericList **)obj, size, errp)) { + return false; } =20 for (tail =3D *obj; tail; @@ -156,8 +147,8 @@ void visit_type_%(c_name)s(Visitor *v, const char *name= , %(c_name)s **obj, Error qapi_free_%(c_name)s(*obj); *obj =3D NULL; } -out: error_propagate(errp, err); + return !err; } ''', c_name=3Dc_name(name), c_elt_type=3Delement_type.c_name()) @@ -166,11 +157,12 @@ out: def gen_visit_enum(name): return mcgen(''' =20 -void visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s *obj, = Error **errp) +bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s *obj, = Error **errp) { int value =3D *obj; - visit_type_enum(v, name, &value, &%(c_name)s_lookup, errp); + bool ok =3D visit_type_enum(v, name, &value, &%(c_name)s_lookup, errp); *obj =3D value; + return ok; } ''', c_name=3Dc_name(name)) @@ -179,14 +171,13 @@ void visit_type_%(c_name)s(Visitor *v, const char *na= me, %(c_name)s *obj, Error def gen_visit_alternate(name, variants): ret =3D mcgen(''' =20 -void visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj,= Error **errp) +bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj,= Error **errp) { Error *err =3D NULL; =20 - visit_start_alternate(v, name, (GenericAlternate **)obj, sizeof(**obj), - &err); - if (err) { - goto out; + if (!visit_start_alternate(v, name, (GenericAlternate **)obj, + sizeof(**obj), errp)) { + return false; } if (!*obj) { /* incomplete */ @@ -245,8 +236,8 @@ out_obj: qapi_free_%(c_name)s(*obj); *obj =3D NULL; } -out: error_propagate(errp, err); + return !err; } ''', name=3Dname, c_name=3Dc_name(name)) @@ -257,13 +248,12 @@ out: def gen_visit_object(name, base, members, variants): return mcgen(''' =20 -void visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj,= Error **errp) +bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj,= Error **errp) { Error *err =3D NULL; =20 - visit_start_struct(v, name, (void **)obj, sizeof(%(c_name)s), &err); - if (err) { - goto out; + if (!visit_start_struct(v, name, (void **)obj, sizeof(%(c_name)s), err= p)) { + return false; } if (!*obj) { /* incomplete */ @@ -281,8 +271,8 @@ out_obj: qapi_free_%(c_name)s(*obj); *obj =3D NULL; } -out: error_propagate(errp, err); + return !err; } ''', c_name=3Dc_name(name)) --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017842; cv=none; d=zohomail.com; s=zohoarc; b=Bdvl8TXXt/SP42OR666DWOwpKJ7fg18pVLxEU7RRvDD/F4qGNH1r8vVu2yO4Anb13okFO2fkRk0/QrOHqsBVlL9+rAiqr1cVoo4OsabGDqZ4z91EluS7+vC7jV0oaXKn/XuaxguT10Gz3enTA/2yV1nHfJsMXWlcDowQaDyBHmg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017842; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=6oPxQQbv129eV7W9Fe7d53n7RI1HTEwndPoWMltfdFY=; b=ZwAQrr1KIO2vxVqnK71RMK/W806Q0yvjR3QooonwIumg61ftEv2rwzAjJ78zdURTUhJjw3h6c9iEZrZ5ANj2rdj4kd/h3t3ECOxVxuXX4C9quxMoMDp16A4Nz5ILX1CfloA1ntmTL9fHAdE5CpSmT6abnf1UIWZMFTKFc2eGXcg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017842732579.839622230533; Wed, 24 Jun 2020 09:57:22 -0700 (PDT) Received: from localhost ([::1]:34734 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8i9-0000pt-9i for importer@patchew.org; Wed, 24 Jun 2020 12:57:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51702) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VP-0003aQ-0B for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:11 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:60033 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VA-00055m-Ny for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:10 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-197-3bGc0FVgOGW36K_5nnXXfQ-1; Wed, 24 Jun 2020 12:43:52 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 1BA0B107ACF4; Wed, 24 Jun 2020 16:43:51 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 625F62B473; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 383951138484; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6oPxQQbv129eV7W9Fe7d53n7RI1HTEwndPoWMltfdFY=; b=D4TWyciMnSKw+2PGWnEGIKoQU7vFr4UJrzZgaryKSO15frTV2xj5AL+pyDpWckEED22b2R ChvzOHW0L4urOvgVP6c1oPpuBkjxfwygR77uppNCuRv+6DaZPNdt1WUgkFiX9AGQuiwcAS ZTuCmxdDzz9mLllW2mb242rOro6rY5E= X-MC-Unique: 3bGc0FVgOGW36K_5nnXXfQ-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 23/46] qapi: Smooth error checking with Coccinelle Date: Wed, 24 Jun 2020 18:43:21 +0200 Message-Id: <20200624164344.3778251-24-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 02:33:25 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The previous commit enables conversion of visit_foo(..., &err); if (err) { ... } to if (!visit_foo(..., errp)) { ... } for visitor functions that now return true / false on success / error. Coccinelle script: @@ identifier fun =3D~ "check_list|input_type_enum|lv_start_struct|lv_type= _bool|lv_type_int64|lv_type_str|lv_type_uint64|output_type_enum|parse_type_= bool|parse_type_int64|parse_type_null|parse_type_number|parse_type_size|par= se_type_str|parse_type_uint64|print_type_bool|print_type_int64|print_type_n= ull|print_type_number|print_type_size|print_type_str|print_type_uint64|qapi= _clone_start_alternate|qapi_clone_start_list|qapi_clone_start_struct|qapi_c= lone_type_bool|qapi_clone_type_int64|qapi_clone_type_null|qapi_clone_type_n= umber|qapi_clone_type_str|qapi_clone_type_uint64|qapi_dealloc_start_list|qa= pi_dealloc_start_struct|qapi_dealloc_type_anything|qapi_dealloc_type_bool|q= api_dealloc_type_int64|qapi_dealloc_type_null|qapi_dealloc_type_number|qapi= _dealloc_type_str|qapi_dealloc_type_uint64|qobject_input_check_list|qobject= _input_check_struct|qobject_input_start_alternate|qobject_input_start_list|= qobject_input_start_struct|qobject_input_type_any|qobject_input_type_bool|q= object_input_type_bool_keyval|qobject_input_type_int64|qobject_input_type_i= nt64_keyval|qobject_input_type_null|qobject_input_type_number|qobject_input= _type_number_keyval|qobject_input_type_size_keyval|qobject_input_type_str|q= object_input_type_str_keyval|qobject_input_type_uint64|qobject_input_type_u= int64_keyval|qobject_output_start_list|qobject_output_start_struct|qobject_= output_type_any|qobject_output_type_bool|qobject_output_type_int64|qobject_= output_type_null|qobject_output_type_number|qobject_output_type_str|qobject= _output_type_uint64|start_list|visit_check_list|visit_check_struct|visit_st= art_alternate|visit_start_list|visit_start_struct|visit_type_.*"; expression list args, args2; typedef Error; Error *err; identifier errp; @@ - fun(args, &err, args2); - if (err) { + if (!fun(args, errp, args2)) { ... when !=3D err - error_propagate(errp, err); ... } @@ identifier fun =3D~ "check_list|input_type_enum|lv_start_struct|lv_type= _bool|lv_type_int64|lv_type_str|lv_type_uint64|output_type_enum|parse_type_= bool|parse_type_int64|parse_type_null|parse_type_number|parse_type_size|par= se_type_str|parse_type_uint64|print_type_bool|print_type_int64|print_type_n= ull|print_type_number|print_type_size|print_type_str|print_type_uint64|qapi= _clone_start_alternate|qapi_clone_start_list|qapi_clone_start_struct|qapi_c= lone_type_bool|qapi_clone_type_int64|qapi_clone_type_null|qapi_clone_type_n= umber|qapi_clone_type_str|qapi_clone_type_uint64|qapi_dealloc_start_list|qa= pi_dealloc_start_struct|qapi_dealloc_type_anything|qapi_dealloc_type_bool|q= api_dealloc_type_int64|qapi_dealloc_type_null|qapi_dealloc_type_number|qapi= _dealloc_type_str|qapi_dealloc_type_uint64|qobject_input_check_list|qobject= _input_check_struct|qobject_input_start_alternate|qobject_input_start_list|= qobject_input_start_struct|qobject_input_type_any|qobject_input_type_bool|q= object_input_type_bool_keyval|qobject_input_type_int64|qobject_input_type_i= nt64_keyval|qobject_input_type_null|qobject_input_type_number|qobject_input= _type_number_keyval|qobject_input_type_size_keyval|qobject_input_type_str|q= object_input_type_str_keyval|qobject_input_type_uint64|qobject_input_type_u= int64_keyval|qobject_output_start_list|qobject_output_start_struct|qobject_= output_type_any|qobject_output_type_bool|qobject_output_type_int64|qobject_= output_type_null|qobject_output_type_number|qobject_output_type_str|qobject= _output_type_uint64|start_list|visit_check_list|visit_check_struct|visit_st= art_alternate|visit_start_list|visit_start_struct|visit_type_.*"; expression list args, args2; typedef Error; Error *err; @@ - fun(args, &err, args2); - if (err) { + if (!fun(args, &err, args2)) { ... } Eliminate error_propagate() that are now unnecessary. Delete @err that are now unused. Tidy up line breaks and whitespace. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- accel/kvm/kvm-all.c | 5 +-- accel/tcg/tcg-all.c | 5 +-- backends/cryptodev.c | 5 +-- backends/hostmem-file.c | 5 +-- backends/hostmem-memfd.c | 5 +-- backends/hostmem.c | 10 ++---- block/blkdebug.c | 5 +-- block/nbd.c | 5 +-- block/sheepdog.c | 5 +-- block/throttle-groups.c | 8 ++--- bootdevice.c | 3 +- hw/block/xen-block.c | 5 +-- hw/core/machine.c | 5 +-- hw/core/qdev-properties-system.c | 20 +++-------- hw/core/qdev-properties.c | 58 +++++++------------------------- hw/cpu/core.c | 10 ++---- hw/gpio/aspeed_gpio.c | 5 +-- hw/i386/pc.c | 5 +-- hw/ide/qdev.c | 3 +- hw/intc/apic_common.c | 5 +-- hw/mem/nvdimm.c | 8 ++--- hw/misc/aspeed_sdmc.c | 5 +-- hw/misc/pca9552.c | 5 +-- hw/misc/tmp105.c | 5 +-- hw/misc/tmp421.c | 5 +-- hw/net/ne2000-isa.c | 3 +- hw/ppc/spapr_caps.c | 15 ++------- hw/ppc/spapr_drc.c | 13 +++---- hw/s390x/css.c | 5 +-- hw/tpm/tpm_util.c | 5 +-- hw/usb/dev-storage.c | 3 +- hw/vfio/pci-quirks.c | 5 +-- hw/virtio/virtio-balloon.c | 17 +++------- iothread.c | 5 +-- monitor/hmp-cmds.c | 3 +- net/colo-compare.c | 10 ++---- net/dump.c | 5 +-- net/filter-buffer.c | 5 +-- qom/object.c | 56 ++++++++---------------------- qom/object_interfaces.c | 3 +- target/arm/cpu64.c | 15 ++------- target/arm/monitor.c | 4 +-- target/i386/cpu.c | 25 +++----------- target/ppc/compat.c | 5 +-- target/s390x/cpu_models.c | 14 ++------ target/sparc/cpu.c | 5 +-- 46 files changed, 95 insertions(+), 331 deletions(-) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index f24d7da783..be02b8e07a 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3106,12 +3106,9 @@ static void kvm_set_kvm_shadow_mem(Object *obj, Visi= tor *v, Error **errp) { KVMState *s =3D KVM_STATE(obj); - Error *error =3D NULL; int64_t value; =20 - visit_type_int(v, name, &value, &error); - if (error) { - error_propagate(errp, error); + if (!visit_type_int(v, name, &value, errp)) { return; } =20 diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c index 3b4fda5640..eace2c113b 100644 --- a/accel/tcg/tcg-all.c +++ b/accel/tcg/tcg-all.c @@ -182,12 +182,9 @@ static void tcg_set_tb_size(Object *obj, Visitor *v, Error **errp) { TCGState *s =3D TCG_STATE(obj); - Error *error =3D NULL; uint32_t value; =20 - visit_type_uint32(v, name, &value, &error); - if (error) { - error_propagate(errp, error); + if (!visit_type_uint32(v, name, &value, errp)) { return; } =20 diff --git a/backends/cryptodev.c b/backends/cryptodev.c index 8645f297e3..17ee76a61e 100644 --- a/backends/cryptodev.c +++ b/backends/cryptodev.c @@ -154,12 +154,9 @@ cryptodev_backend_set_queues(Object *obj, Visitor *v, = const char *name, void *opaque, Error **errp) { CryptoDevBackend *backend =3D CRYPTODEV_BACKEND(obj); - Error *local_err =3D NULL; uint32_t value; =20 - visit_type_uint32(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_uint32(v, name, &value, errp)) { return; } if (!value) { diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c index 098c8e6e64..5b819020b4 100644 --- a/backends/hostmem-file.c +++ b/backends/hostmem-file.c @@ -110,7 +110,6 @@ static void file_memory_backend_set_align(Object *o, Vi= sitor *v, { HostMemoryBackend *backend =3D MEMORY_BACKEND(o); HostMemoryBackendFile *fb =3D MEMORY_BACKEND_FILE(o); - Error *local_err =3D NULL; uint64_t val; =20 if (host_memory_backend_mr_inited(backend)) { @@ -119,9 +118,7 @@ static void file_memory_backend_set_align(Object *o, Vi= sitor *v, return; } =20 - visit_type_size(v, name, &val, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_size(v, name, &val, errp)) { return; } fb->align =3D val; diff --git a/backends/hostmem-memfd.c b/backends/hostmem-memfd.c index 9582c7f8fc..4c040a7541 100644 --- a/backends/hostmem-memfd.c +++ b/backends/hostmem-memfd.c @@ -77,7 +77,6 @@ memfd_backend_set_hugetlbsize(Object *obj, Visitor *v, co= nst char *name, void *opaque, Error **errp) { HostMemoryBackendMemfd *m =3D MEMORY_BACKEND_MEMFD(obj); - Error *local_err =3D NULL; uint64_t value; =20 if (host_memory_backend_mr_inited(MEMORY_BACKEND(obj))) { @@ -85,9 +84,7 @@ memfd_backend_set_hugetlbsize(Object *obj, Visitor *v, co= nst char *name, return; } =20 - visit_type_size(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_size(v, name, &value, errp)) { return; } if (!value) { diff --git a/backends/hostmem.c b/backends/hostmem.c index 2a0c92d458..c614f1bdc1 100644 --- a/backends/hostmem.c +++ b/backends/hostmem.c @@ -54,7 +54,6 @@ host_memory_backend_set_size(Object *obj, Visitor *v, con= st char *name, void *opaque, Error **errp) { HostMemoryBackend *backend =3D MEMORY_BACKEND(obj); - Error *local_err =3D NULL; uint64_t value; =20 if (host_memory_backend_mr_inited(backend)) { @@ -63,9 +62,7 @@ host_memory_backend_set_size(Object *obj, Visitor *v, con= st char *name, return; } =20 - visit_type_size(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_size(v, name, &value, errp)) { return; } if (!value) { @@ -253,12 +250,9 @@ static void host_memory_backend_set_prealloc_threads(O= bject *obj, Visitor *v, const char *name, void *opaque, Error **errp) { HostMemoryBackend *backend =3D MEMORY_BACKEND(obj); - Error *local_err =3D NULL; uint32_t value; =20 - visit_type_uint32(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_uint32(v, name, &value, errp)) { return; } if (value <=3D 0) { diff --git a/block/blkdebug.c b/block/blkdebug.c index fa4b4fefdc..9c08d8a005 100644 --- a/block/blkdebug.c +++ b/block/blkdebug.c @@ -359,7 +359,6 @@ static int blkdebug_parse_perm_list(uint64_t *dest, QDi= ct *options, QObject *crumpled_subqdict =3D NULL; Visitor *v =3D NULL; BlockPermissionList *perm_list =3D NULL, *element; - Error *local_err =3D NULL; =20 *dest =3D 0; =20 @@ -375,9 +374,7 @@ static int blkdebug_parse_perm_list(uint64_t *dest, QDi= ct *options, } =20 v =3D qobject_input_visitor_new(crumpled_subqdict); - visit_type_BlockPermissionList(v, NULL, &perm_list, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_BlockPermissionList(v, NULL, &perm_list, errp)) { ret =3D -EINVAL; goto out; } diff --git a/block/nbd.c b/block/nbd.c index 9789c56476..6876da04a7 100644 --- a/block/nbd.c +++ b/block/nbd.c @@ -1726,7 +1726,6 @@ static SocketAddress *nbd_config(BDRVNBDState *s, QDi= ct *options, SocketAddress *saddr =3D NULL; QDict *addr =3D NULL; Visitor *iv =3D NULL; - Error *local_err =3D NULL; =20 qdict_extract_subqdict(options, &addr, "server."); if (!qdict_size(addr)) { @@ -1739,9 +1738,7 @@ static SocketAddress *nbd_config(BDRVNBDState *s, QDi= ct *options, goto done; } =20 - visit_type_SocketAddress(iv, NULL, &saddr, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_SocketAddress(iv, NULL, &saddr, errp)) { goto done; } =20 diff --git a/block/sheepdog.c b/block/sheepdog.c index 9cb5ae5fc6..a6a91442c9 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -532,7 +532,6 @@ static SocketAddress *sd_server_config(QDict *options, = Error **errp) QDict *server =3D NULL; Visitor *iv =3D NULL; SocketAddress *saddr =3D NULL; - Error *local_err =3D NULL; =20 qdict_extract_subqdict(options, &server, "server."); =20 @@ -541,9 +540,7 @@ static SocketAddress *sd_server_config(QDict *options, = Error **errp) goto done; } =20 - visit_type_SocketAddress(iv, NULL, &saddr, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_SocketAddress(iv, NULL, &saddr, errp)) { goto done; } =20 diff --git a/block/throttle-groups.c b/block/throttle-groups.c index 60a2aad75a..dba2bb6451 100644 --- a/block/throttle-groups.c +++ b/block/throttle-groups.c @@ -811,7 +811,6 @@ static void throttle_group_set(Object *obj, Visitor *v,= const char * name, ThrottleGroup *tg =3D THROTTLE_GROUP(obj); ThrottleConfig *cfg; ThrottleParamInfo *info =3D opaque; - Error *local_err =3D NULL; int64_t value; =20 /* If we have finished initialization, don't accept individual property @@ -823,9 +822,7 @@ static void throttle_group_set(Object *obj, Visitor *v,= const char * name, return; } =20 - visit_type_int64(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_int64(v, name, &value, errp)) { return; } if (value < 0) { @@ -892,8 +889,7 @@ static void throttle_group_set_limits(Object *obj, Visi= tor *v, ThrottleLimits *argp; Error *local_err =3D NULL; =20 - visit_type_ThrottleLimits(v, name, &argp, &local_err); - if (local_err) { + if (!visit_type_ThrottleLimits(v, name, &argp, &local_err)) { goto ret; } qemu_mutex_lock(&tg->lock); diff --git a/bootdevice.c b/bootdevice.c index 0ff55e2b79..fb09d3c668 100644 --- a/bootdevice.c +++ b/bootdevice.c @@ -297,8 +297,7 @@ static void device_set_bootindex(Object *obj, Visitor *= v, const char *name, int32_t boot_index; Error *local_err =3D NULL; =20 - visit_type_int32(v, name, &boot_index, &local_err); - if (local_err) { + if (!visit_type_int32(v, name, &boot_index, &local_err)) { goto out; } /* check whether bootindex is present in fw_boot_order list */ diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c index 10c44dfda2..6ca6f18c7b 100644 --- a/hw/block/xen-block.c +++ b/hw/block/xen-block.c @@ -403,7 +403,6 @@ static void xen_block_set_vdev(Object *obj, Visitor *v,= const char *name, DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; XenBlockVdev *vdev =3D qdev_get_prop_ptr(dev, prop); - Error *local_err =3D NULL; char *str, *p; const char *end; =20 @@ -412,9 +411,7 @@ static void xen_block_set_vdev(Object *obj, Visitor *v,= const char *name, return; } =20 - visit_type_str(v, name, &str, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_str(v, name, &str, errp)) { return; } =20 diff --git a/hw/core/machine.c b/hw/core/machine.c index 1d80ab0e1d..109eb3bb24 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -290,12 +290,9 @@ static void machine_set_phandle_start(Object *obj, Vis= itor *v, Error **errp) { MachineState *ms =3D MACHINE(obj); - Error *error =3D NULL; int64_t value; =20 - visit_type_int(v, name, &value, &error); - if (error) { - error_propagate(errp, error); + if (!visit_type_int(v, name, &value, errp)) { return; } =20 diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-sys= tem.c index 38b0c9f09b..f69e2858d1 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -80,7 +80,6 @@ static void set_drive_helper(Object *obj, Visitor *v, con= st char *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - Error *local_err =3D NULL; void **ptr =3D qdev_get_prop_ptr(dev, prop); char *str; BlockBackend *blk; @@ -92,9 +91,7 @@ static void set_drive_helper(Object *obj, Visitor *v, con= st char *name, return; } =20 - visit_type_str(v, name, &str, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_str(v, name, &str, errp)) { return; } =20 @@ -227,7 +224,6 @@ static void set_chr(Object *obj, Visitor *v, const char= *name, void *opaque, Error **errp) { DeviceState *dev =3D DEVICE(obj); - Error *local_err =3D NULL; Property *prop =3D opaque; CharBackend *be =3D qdev_get_prop_ptr(dev, prop); Chardev *s; @@ -238,9 +234,7 @@ static void set_chr(Object *obj, Visitor *v, const char= *name, void *opaque, return; } =20 - visit_type_str(v, name, &str, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_str(v, name, &str, errp)) { return; } =20 @@ -307,7 +301,6 @@ static void set_netdev(Object *obj, Visitor *v, const c= har *name, NICPeers *peers_ptr =3D qdev_get_prop_ptr(dev, prop); NetClientState **ncs =3D peers_ptr->ncs; NetClientState *peers[MAX_QUEUE_NUM]; - Error *local_err =3D NULL; int queues, err =3D 0, i =3D 0; char *str; =20 @@ -316,9 +309,7 @@ static void set_netdev(Object *obj, Visitor *v, const c= har *name, return; } =20 - visit_type_str(v, name, &str, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_str(v, name, &str, errp)) { return; } =20 @@ -389,7 +380,6 @@ static void set_audiodev(Object *obj, Visitor *v, const= char* name, Property *prop =3D opaque; QEMUSoundCard *card =3D qdev_get_prop_ptr(dev, prop); AudioState *state; - Error *local_err =3D NULL; int err =3D 0; char *str; =20 @@ -398,9 +388,7 @@ static void set_audiodev(Object *obj, Visitor *v, const= char* name, return; } =20 - visit_type_str(v, name, &str, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_str(v, name, &str, errp)) { return; } =20 diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index 71f8aca7c6..fa88a8885c 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -116,7 +116,6 @@ static void prop_set_bit(Object *obj, Visitor *v, const= char *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - Error *local_err =3D NULL; bool value; =20 if (dev->realized) { @@ -124,9 +123,7 @@ static void prop_set_bit(Object *obj, Visitor *v, const= char *name, return; } =20 - visit_type_bool(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_bool(v, name, &value, errp)) { return; } bit_prop_set(dev, prop, value); @@ -180,7 +177,6 @@ static void prop_set_bit64(Object *obj, Visitor *v, con= st char *name, { DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; - Error *local_err =3D NULL; bool value; =20 if (dev->realized) { @@ -188,9 +184,7 @@ static void prop_set_bit64(Object *obj, Visitor *v, con= st char *name, return; } =20 - visit_type_bool(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_bool(v, name, &value, errp)) { return; } bit64_prop_set(dev, prop, value); @@ -477,7 +471,6 @@ static void set_string(Object *obj, Visitor *v, const c= har *name, DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; char **ptr =3D qdev_get_prop_ptr(dev, prop); - Error *local_err =3D NULL; char *str; =20 if (dev->realized) { @@ -485,9 +478,7 @@ static void set_string(Object *obj, Visitor *v, const c= har *name, return; } =20 - visit_type_str(v, name, &str, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_str(v, name, &str, errp)) { return; } g_free(*ptr); @@ -530,7 +521,6 @@ static void set_mac(Object *obj, Visitor *v, const char= *name, void *opaque, DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; MACAddr *mac =3D qdev_get_prop_ptr(dev, prop); - Error *local_err =3D NULL; int i, pos; char *str, *p; =20 @@ -539,9 +529,7 @@ static void set_mac(Object *obj, Visitor *v, const char= *name, void *opaque, return; } =20 - visit_type_str(v, name, &str, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_str(v, name, &str, errp)) { return; } =20 @@ -673,8 +661,7 @@ static void set_pci_devfn(Object *obj, Visitor *v, cons= t char *name, return; } =20 - visit_type_str(v, name, &str, &local_err); - if (local_err) { + if (!visit_type_str(v, name, &str, &local_err)) { error_free(local_err); local_err =3D NULL; visit_type_int32(v, name, &value, &local_err); @@ -748,16 +735,13 @@ static void set_size32(Object *obj, Visitor *v, const= char *name, void *opaque, Property *prop =3D opaque; uint32_t *ptr =3D qdev_get_prop_ptr(dev, prop); uint64_t value; - Error *local_err =3D NULL; =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); return; } =20 - visit_type_size(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_size(v, name, &value, errp)) { return; } =20 @@ -798,16 +782,13 @@ static void set_blocksize(Object *obj, Visitor *v, co= nst char *name, Property *prop =3D opaque; uint32_t *ptr =3D qdev_get_prop_ptr(dev, prop); uint64_t value; - Error *local_err =3D NULL; =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); return; } =20 - visit_type_size(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_size(v, name, &value, errp)) { return; } /* value of 0 means "unset" */ @@ -875,7 +856,6 @@ static void set_pci_host_devaddr(Object *obj, Visitor *= v, const char *name, DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; PCIHostDeviceAddress *addr =3D qdev_get_prop_ptr(dev, prop); - Error *local_err =3D NULL; char *str, *p; char *e; unsigned long val; @@ -887,9 +867,7 @@ static void set_pci_host_devaddr(Object *obj, Visitor *= v, const char *name, return; } =20 - visit_type_str(v, name, &str, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_str(v, name, &str, errp)) { return; } =20 @@ -979,7 +957,6 @@ static void set_uuid(Object *obj, Visitor *v, const cha= r *name, void *opaque, DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; QemuUUID *uuid =3D qdev_get_prop_ptr(dev, prop); - Error *local_err =3D NULL; char *str; =20 if (dev->realized) { @@ -987,9 +964,7 @@ static void set_uuid(Object *obj, Visitor *v, const cha= r *name, void *opaque, return; } =20 - visit_type_str(v, name, &str, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_str(v, name, &str, errp)) { return; } =20 @@ -1055,7 +1030,6 @@ static void set_prop_arraylen(Object *obj, Visitor *v= , const char *name, Property *prop =3D opaque; uint32_t *alenptr =3D qdev_get_prop_ptr(dev, prop); void **arrayptr =3D (void *)dev + prop->arrayoffset; - Error *local_err =3D NULL; void *eltptr; const char *arrayname; int i; @@ -1069,9 +1043,7 @@ static void set_prop_arraylen(Object *obj, Visitor *v= , const char *name, name); return; } - visit_type_uint32(v, name, alenptr, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_uint32(v, name, alenptr, errp)) { return; } if (!*alenptr) { @@ -1394,16 +1366,13 @@ static void set_prop_pcielinkspeed(Object *obj, Vis= itor *v, const char *name, Property *prop =3D opaque; PCIExpLinkSpeed *p =3D qdev_get_prop_ptr(dev, prop); int speed; - Error *local_err =3D NULL; =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); return; } =20 - visit_type_enum(v, prop->name, &speed, prop->info->enum_table, &local_= err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_enum(v, prop->name, &speed, prop->info->enum_table, er= rp)) { return; } =20 @@ -1482,16 +1451,13 @@ static void set_prop_pcielinkwidth(Object *obj, Vis= itor *v, const char *name, Property *prop =3D opaque; PCIExpLinkWidth *p =3D qdev_get_prop_ptr(dev, prop); int width; - Error *local_err =3D NULL; =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); return; } =20 - visit_type_enum(v, prop->name, &width, prop->info->enum_table, &local_= err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_enum(v, prop->name, &width, prop->info->enum_table, er= rp)) { return; } =20 diff --git a/hw/cpu/core.c b/hw/cpu/core.c index a92ac597ca..3a659291ea 100644 --- a/hw/cpu/core.c +++ b/hw/cpu/core.c @@ -28,12 +28,9 @@ static void core_prop_set_core_id(Object *obj, Visitor *= v, const char *name, void *opaque, Error **errp) { CPUCore *core =3D CPU_CORE(obj); - Error *local_err =3D NULL; int64_t value; =20 - visit_type_int(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_int(v, name, &value, errp)) { return; } =20 @@ -58,12 +55,9 @@ static void core_prop_set_nr_threads(Object *obj, Visito= r *v, const char *name, void *opaque, Error **errp) { CPUCore *core =3D CPU_CORE(obj); - Error *local_err =3D NULL; int64_t value; =20 - visit_type_int(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_int(v, name, &value, errp)) { return; } =20 diff --git a/hw/gpio/aspeed_gpio.c b/hw/gpio/aspeed_gpio.c index dfa9db3d33..985a259e05 100644 --- a/hw/gpio/aspeed_gpio.c +++ b/hw/gpio/aspeed_gpio.c @@ -755,16 +755,13 @@ static void aspeed_gpio_get_pin(Object *obj, Visitor = *v, const char *name, static void aspeed_gpio_set_pin(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - Error *local_err =3D NULL; bool level; int pin =3D 0xfff; char group[4]; AspeedGPIOState *s =3D ASPEED_GPIO(obj); int set_idx, group_idx =3D 0; =20 - visit_type_bool(v, name, &level, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_bool(v, name, &level, errp)) { return; } if (sscanf(name, "gpio%2[A-Z]%1d", group, &pin) !=3D 2) { diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 70d832536b..50e431346e 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1864,12 +1864,9 @@ static void pc_machine_set_max_ram_below_4g(Object *= obj, Visitor *v, Error **errp) { PCMachineState *pcms =3D PC_MACHINE(obj); - Error *error =3D NULL; uint64_t value; =20 - visit_type_size(v, name, &value, &error); - if (error) { - error_propagate(errp, error); + if (!visit_type_size(v, name, &value, errp)) { return; } if (value > 4 * GiB) { diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c index f68fbee93d..358f10a92e 100644 --- a/hw/ide/qdev.c +++ b/hw/ide/qdev.c @@ -245,8 +245,7 @@ static void ide_dev_set_bootindex(Object *obj, Visitor = *v, const char *name, int32_t boot_index; Error *local_err =3D NULL; =20 - visit_type_int32(v, name, &boot_index, &local_err); - if (local_err) { + if (!visit_type_int32(v, name, &boot_index, &local_err)) { goto out; } /* check whether bootindex is present in fw_boot_order list */ diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c index 7da2862b3d..dc070343c0 100644 --- a/hw/intc/apic_common.c +++ b/hw/intc/apic_common.c @@ -420,7 +420,6 @@ static void apic_common_set_id(Object *obj, Visitor *v,= const char *name, { APICCommonState *s =3D APIC_COMMON(obj); DeviceState *dev =3D DEVICE(obj); - Error *local_err =3D NULL; uint32_t value; =20 if (dev->realized) { @@ -428,9 +427,7 @@ static void apic_common_set_id(Object *obj, Visitor *v,= const char *name, return; } =20 - visit_type_uint32(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_uint32(v, name, &value, errp)) { return; } =20 diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c index 93f7af1c58..e6fdf6ccc3 100644 --- a/hw/mem/nvdimm.c +++ b/hw/mem/nvdimm.c @@ -45,7 +45,6 @@ static void nvdimm_set_label_size(Object *obj, Visitor *v= , const char *name, void *opaque, Error **errp) { NVDIMMDevice *nvdimm =3D NVDIMM(obj); - Error *local_err =3D NULL; uint64_t value; =20 if (nvdimm->nvdimm_mr) { @@ -53,9 +52,7 @@ static void nvdimm_set_label_size(Object *obj, Visitor *v= , const char *name, return; } =20 - visit_type_size(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_size(v, name, &value, errp)) { return; } if (value < MIN_NAMESPACE_LABEL_SIZE) { @@ -88,8 +85,7 @@ static void nvdimm_set_uuid(Object *obj, Visitor *v, cons= t char *name, Error *local_err =3D NULL; char *value; =20 - visit_type_str(v, name, &value, &local_err); - if (local_err) { + if (!visit_type_str(v, name, &value, &local_err)) { goto out; } =20 diff --git a/hw/misc/aspeed_sdmc.c b/hw/misc/aspeed_sdmc.c index 6fefb05695..0737d8de81 100644 --- a/hw/misc/aspeed_sdmc.c +++ b/hw/misc/aspeed_sdmc.c @@ -223,13 +223,10 @@ static void aspeed_sdmc_set_ram_size(Object *obj, Vis= itor *v, const char *name, int i; char *sz; int64_t value; - Error *local_err =3D NULL; AspeedSDMCState *s =3D ASPEED_SDMC(obj); AspeedSDMCClass *asc =3D ASPEED_SDMC_GET_CLASS(s); =20 - visit_type_int(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_int(v, name, &value, errp)) { return; } =20 diff --git a/hw/misc/pca9552.c b/hw/misc/pca9552.c index cac729e35a..3e82c2838f 100644 --- a/hw/misc/pca9552.c +++ b/hw/misc/pca9552.c @@ -213,14 +213,11 @@ static void pca9552_set_led(Object *obj, Visitor *v, = const char *name, void *opaque, Error **errp) { PCA9552State *s =3D PCA9552(obj); - Error *local_err =3D NULL; int led, rc, reg, val; uint8_t state; char *state_str; =20 - visit_type_str(v, name, &state_str, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_str(v, name, &state_str, errp)) { return; } rc =3D sscanf(name, "led%2d", &led); diff --git a/hw/misc/tmp105.c b/hw/misc/tmp105.c index 58dbebca90..b47120492a 100644 --- a/hw/misc/tmp105.c +++ b/hw/misc/tmp105.c @@ -72,12 +72,9 @@ static void tmp105_set_temperature(Object *obj, Visitor = *v, const char *name, void *opaque, Error **errp) { TMP105State *s =3D TMP105(obj); - Error *local_err =3D NULL; int64_t temp; =20 - visit_type_int(v, name, &temp, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_int(v, name, &temp, errp)) { return; } if (temp >=3D 128000 || temp < -128000) { diff --git a/hw/misc/tmp421.c b/hw/misc/tmp421.c index 74864cd93d..49abe2d246 100644 --- a/hw/misc/tmp421.c +++ b/hw/misc/tmp421.c @@ -141,15 +141,12 @@ static void tmp421_set_temperature(Object *obj, Visit= or *v, const char *name, void *opaque, Error **errp) { TMP421State *s =3D TMP421(obj); - Error *local_err =3D NULL; int64_t temp; bool ext_range =3D (s->config[0] & TMP421_CONFIG_RANGE); int offset =3D ext_range * 64 * 256; int tempid; =20 - visit_type_int(v, name, &temp, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_int(v, name, &temp, errp)) { return; } =20 diff --git a/hw/net/ne2000-isa.c b/hw/net/ne2000-isa.c index fdf8faa0d9..765bcd1f0b 100644 --- a/hw/net/ne2000-isa.c +++ b/hw/net/ne2000-isa.c @@ -113,8 +113,7 @@ static void isa_ne2000_set_bootindex(Object *obj, Visit= or *v, int32_t boot_index; Error *local_err =3D NULL; =20 - visit_type_int32(v, name, &boot_index, &local_err); - if (local_err) { + if (!visit_type_int32(v, name, &boot_index, &local_err)) { goto out; } /* check whether bootindex is present in fw_boot_order list */ diff --git a/hw/ppc/spapr_caps.c b/hw/ppc/spapr_caps.c index efdc0dbbcf..416c85bfb1 100644 --- a/hw/ppc/spapr_caps.c +++ b/hw/ppc/spapr_caps.c @@ -86,11 +86,8 @@ static void spapr_cap_set_bool(Object *obj, Visitor *v, = const char *name, SpaprCapabilityInfo *cap =3D opaque; SpaprMachineState *spapr =3D SPAPR_MACHINE(obj); bool value; - Error *local_err =3D NULL; =20 - visit_type_bool(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_bool(v, name, &value, errp)) { return; } =20 @@ -123,13 +120,10 @@ static void spapr_cap_set_string(Object *obj, Visitor= *v, const char *name, { SpaprCapabilityInfo *cap =3D opaque; SpaprMachineState *spapr =3D SPAPR_MACHINE(obj); - Error *local_err =3D NULL; uint8_t i; char *val; =20 - visit_type_str(v, name, &val, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_str(v, name, &val, errp)) { return; } =20 @@ -169,11 +163,8 @@ static void spapr_cap_set_pagesize(Object *obj, Visito= r *v, const char *name, SpaprMachineState *spapr =3D SPAPR_MACHINE(obj); uint64_t pagesize; uint8_t val; - Error *local_err =3D NULL; =20 - visit_type_size(v, name, &pagesize, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_size(v, name, &pagesize, errp)) { return; } =20 diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c index 951bcdf2c0..c8e8ba2ee8 100644 --- a/hw/ppc/spapr_drc.c +++ b/hw/ppc/spapr_drc.c @@ -327,9 +327,7 @@ static void prop_get_fdt(Object *obj, Visitor *v, const= char *name, case FDT_BEGIN_NODE: fdt_depth++; name =3D fdt_get_name(fdt, fdt_offset, &name_len); - visit_start_struct(v, name, NULL, 0, &err); - if (err) { - error_propagate(errp, err); + if (!visit_start_struct(v, name, NULL, 0, errp)) { return; } break; @@ -348,15 +346,12 @@ static void prop_get_fdt(Object *obj, Visitor *v, con= st char *name, int i; prop =3D fdt_get_property_by_offset(fdt, fdt_offset, &prop_len= ); name =3D fdt_string(fdt, fdt32_to_cpu(prop->nameoff)); - visit_start_list(v, name, NULL, 0, &err); - if (err) { - error_propagate(errp, err); + if (!visit_start_list(v, name, NULL, 0, errp)) { return; } for (i =3D 0; i < prop_len; i++) { - visit_type_uint8(v, NULL, (uint8_t *)&prop->data[i], &err); - if (err) { - error_propagate(errp, err); + if (!visit_type_uint8(v, NULL, (uint8_t *)&prop->data[i], + errp)) { return; } } diff --git a/hw/s390x/css.c b/hw/s390x/css.c index d1e365e3e6..519dc91316 100644 --- a/hw/s390x/css.c +++ b/hw/s390x/css.c @@ -2377,7 +2377,6 @@ static void set_css_devid(Object *obj, Visitor *v, co= nst char *name, DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; CssDevId *dev_id =3D qdev_get_prop_ptr(dev, prop); - Error *local_err =3D NULL; char *str; int num, n1, n2; unsigned int cssid, ssid, devid; @@ -2387,9 +2386,7 @@ static void set_css_devid(Object *obj, Visitor *v, co= nst char *name, return; } =20 - visit_type_str(v, name, &str, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_str(v, name, &str, errp)) { return; } =20 diff --git a/hw/tpm/tpm_util.c b/hw/tpm/tpm_util.c index c0a0f3d71f..ca3ea20bdb 100644 --- a/hw/tpm/tpm_util.c +++ b/hw/tpm/tpm_util.c @@ -48,7 +48,6 @@ static void set_tpm(Object *obj, Visitor *v, const char *= name, void *opaque, Error **errp) { DeviceState *dev =3D DEVICE(obj); - Error *local_err =3D NULL; Property *prop =3D opaque; TPMBackend *s, **be =3D qdev_get_prop_ptr(dev, prop); char *str; @@ -58,9 +57,7 @@ static void set_tpm(Object *obj, Visitor *v, const char *= name, void *opaque, return; } =20 - visit_type_str(v, name, &str, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_str(v, name, &str, errp)) { return; } =20 diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c index f5977eb72e..1c3bd2578c 100644 --- a/hw/usb/dev-storage.c +++ b/hw/usb/dev-storage.c @@ -736,8 +736,7 @@ static void usb_msd_set_bootindex(Object *obj, Visitor = *v, const char *name, int32_t boot_index; Error *local_err =3D NULL; =20 - visit_type_int32(v, name, &boot_index, &local_err); - if (local_err) { + if (!visit_type_int32(v, name, &boot_index, &local_err)) { goto out; } /* check whether bootindex is present in fw_boot_order list */ diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c index d304c81148..3a14b7c303 100644 --- a/hw/vfio/pci-quirks.c +++ b/hw/vfio/pci-quirks.c @@ -1502,16 +1502,13 @@ static void set_nv_gpudirect_clique_id(Object *obj,= Visitor *v, DeviceState *dev =3D DEVICE(obj); Property *prop =3D opaque; uint8_t value, *ptr =3D qdev_get_prop_ptr(dev, prop); - Error *local_err =3D NULL; =20 if (dev->realized) { qdev_prop_set_after_realize(dev, name, errp); return; } =20 - visit_type_uint8(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_uint8(v, name, &value, errp)) { return; } =20 diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c index 10507b2a43..8eb652a348 100644 --- a/hw/virtio/virtio-balloon.c +++ b/hw/virtio/virtio-balloon.c @@ -233,22 +233,18 @@ static void balloon_stats_get_all(Object *obj, Visito= r *v, const char *name, VirtIOBalloon *s =3D opaque; int i; =20 - visit_start_struct(v, name, NULL, 0, &err); - if (err) { + if (!visit_start_struct(v, name, NULL, 0, &err)) { goto out; } - visit_type_int(v, "last-update", &s->stats_last_update, &err); - if (err) { + if (!visit_type_int(v, "last-update", &s->stats_last_update, &err)) { goto out_end; } =20 - visit_start_struct(v, "stats", NULL, 0, &err); - if (err) { + if (!visit_start_struct(v, "stats", NULL, 0, &err)) { goto out_end; } for (i =3D 0; i < VIRTIO_BALLOON_S_NR; i++) { - visit_type_uint64(v, balloon_stat_names[i], &s->stats[i], &err); - if (err) { + if (!visit_type_uint64(v, balloon_stat_names[i], &s->stats[i], &er= r)) { goto out_nested; } } @@ -278,12 +274,9 @@ static void balloon_stats_set_poll_interval(Object *ob= j, Visitor *v, Error **errp) { VirtIOBalloon *s =3D opaque; - Error *local_err =3D NULL; int64_t value; =20 - visit_type_int(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_int(v, name, &value, errp)) { return; } =20 diff --git a/iothread.c b/iothread.c index b465e5c25b..0598a6d20d 100644 --- a/iothread.c +++ b/iothread.c @@ -239,12 +239,9 @@ static void iothread_set_poll_param(Object *obj, Visit= or *v, IOThread *iothread =3D IOTHREAD(obj); PollParamInfo *info =3D opaque; int64_t *field =3D (void *)iothread + info->offset; - Error *local_err =3D NULL; int64_t value; =20 - visit_type_int64(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_int64(v, name, &value, errp)) { return; } =20 diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c index d7810cb564..9588c2d81f 100644 --- a/monitor/hmp-cmds.c +++ b/monitor/hmp-cmds.c @@ -1355,8 +1355,7 @@ void hmp_migrate_set_parameter(Monitor *mon, const QD= ict *qdict) break; case MIGRATION_PARAMETER_XBZRLE_CACHE_SIZE: p->has_xbzrle_cache_size =3D true; - visit_type_size(v, param, &cache_size, &err); - if (err) { + if (!visit_type_size(v, param, &cache_size, &err)) { break; } if (cache_size > INT64_MAX || (size_t)cache_size !=3D cache_size) { diff --git a/net/colo-compare.c b/net/colo-compare.c index b18b096a6e..398b7546ff 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -1093,12 +1093,9 @@ static void compare_set_timeout(Object *obj, Visitor= *v, Error **errp) { CompareState *s =3D COLO_COMPARE(obj); - Error *local_err =3D NULL; uint32_t value; =20 - visit_type_uint32(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_uint32(v, name, &value, errp)) { return; } if (!value) { @@ -1124,12 +1121,9 @@ static void compare_set_expired_scan_cycle(Object *o= bj, Visitor *v, Error **errp) { CompareState *s =3D COLO_COMPARE(obj); - Error *local_err =3D NULL; uint32_t value; =20 - visit_type_uint32(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_uint32(v, name, &value, errp)) { return; } if (!value) { diff --git a/net/dump.c b/net/dump.c index e8c4071d59..11a737a4bc 100644 --- a/net/dump.c +++ b/net/dump.c @@ -192,12 +192,9 @@ static void filter_dump_set_maxlen(Object *obj, Visito= r *v, const char *name, void *opaque, Error **errp) { NetFilterDumpState *nfds =3D FILTER_DUMP(obj); - Error *local_err =3D NULL; uint32_t value; =20 - visit_type_uint32(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_uint32(v, name, &value, errp)) { return; } if (value =3D=3D 0) { diff --git a/net/filter-buffer.c b/net/filter-buffer.c index c3892911b8..dfa211794b 100644 --- a/net/filter-buffer.c +++ b/net/filter-buffer.c @@ -170,12 +170,9 @@ static void filter_buffer_set_interval(Object *obj, Vi= sitor *v, Error **errp) { FilterBufferState *s =3D FILTER_BUFFER(obj); - Error *local_err =3D NULL; uint32_t value; =20 - visit_type_uint32(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_uint32(v, name, &value, errp)) { return; } if (!value) { diff --git a/qom/object.c b/qom/object.c index 6ece96bc2b..780a700542 100644 --- a/qom/object.c +++ b/qom/object.c @@ -2078,11 +2078,8 @@ static void property_set_str(Object *obj, Visitor *v= , const char *name, { StringProperty *prop =3D opaque; char *value; - Error *local_err =3D NULL; =20 - visit_type_str(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_str(v, name, &value, errp)) { return; } =20 @@ -2159,11 +2156,8 @@ static void property_set_bool(Object *obj, Visitor *= v, const char *name, { BoolProperty *prop =3D opaque; bool value; - Error *local_err =3D NULL; =20 - visit_type_bool(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_bool(v, name, &value, errp)) { return; } =20 @@ -2232,11 +2226,8 @@ static void property_set_enum(Object *obj, Visitor *= v, const char *name, { EnumProperty *prop =3D opaque; int value; - Error *err =3D NULL; =20 - visit_type_enum(v, name, &value, prop->lookup, &err); - if (err) { - error_propagate(errp, err); + if (!visit_type_enum(v, name, &value, prop->lookup, errp)) { return; } prop->set(obj, value, errp); @@ -2305,32 +2296,25 @@ static void property_get_tm(Object *obj, Visitor *v= , const char *name, goto out; } =20 - visit_start_struct(v, name, NULL, 0, &err); - if (err) { + if (!visit_start_struct(v, name, NULL, 0, &err)) { goto out; } - visit_type_int32(v, "tm_year", &value.tm_year, &err); - if (err) { + if (!visit_type_int32(v, "tm_year", &value.tm_year, &err)) { goto out_end; } - visit_type_int32(v, "tm_mon", &value.tm_mon, &err); - if (err) { + if (!visit_type_int32(v, "tm_mon", &value.tm_mon, &err)) { goto out_end; } - visit_type_int32(v, "tm_mday", &value.tm_mday, &err); - if (err) { + if (!visit_type_int32(v, "tm_mday", &value.tm_mday, &err)) { goto out_end; } - visit_type_int32(v, "tm_hour", &value.tm_hour, &err); - if (err) { + if (!visit_type_int32(v, "tm_hour", &value.tm_hour, &err)) { goto out_end; } - visit_type_int32(v, "tm_min", &value.tm_min, &err); - if (err) { + if (!visit_type_int32(v, "tm_min", &value.tm_min, &err)) { goto out_end; } - visit_type_int32(v, "tm_sec", &value.tm_sec, &err); - if (err) { + if (!visit_type_int32(v, "tm_sec", &value.tm_sec, &err)) { goto out_end; } visit_check_struct(v, &err); @@ -2392,11 +2376,8 @@ static void property_set_uint8_ptr(Object *obj, Visi= tor *v, const char *name, { uint8_t *field =3D opaque; uint8_t value; - Error *local_err =3D NULL; =20 - visit_type_uint8(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_uint8(v, name, &value, errp)) { return; } =20 @@ -2415,11 +2396,8 @@ static void property_set_uint16_ptr(Object *obj, Vis= itor *v, const char *name, { uint16_t *field =3D opaque; uint16_t value; - Error *local_err =3D NULL; =20 - visit_type_uint16(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_uint16(v, name, &value, errp)) { return; } =20 @@ -2438,11 +2416,8 @@ static void property_set_uint32_ptr(Object *obj, Vis= itor *v, const char *name, { uint32_t *field =3D opaque; uint32_t value; - Error *local_err =3D NULL; =20 - visit_type_uint32(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_uint32(v, name, &value, errp)) { return; } =20 @@ -2461,11 +2436,8 @@ static void property_set_uint64_ptr(Object *obj, Vis= itor *v, const char *name, { uint64_t *field =3D opaque; uint64_t value; - Error *local_err =3D NULL; =20 - visit_type_uint64(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_uint64(v, name, &value, errp)) { return; } =20 diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c index 7e26f86fa6..3085ae0b31 100644 --- a/qom/object_interfaces.c +++ b/qom/object_interfaces.c @@ -63,8 +63,7 @@ Object *user_creatable_add_type(const char *type, const c= har *id, =20 assert(qdict); obj =3D object_new(type); - visit_start_struct(v, NULL, NULL, 0, &local_err); - if (local_err) { + if (!visit_start_struct(v, NULL, NULL, 0, &local_err)) { goto out; } for (e =3D qdict_first(qdict); e; e =3D qdict_next(qdict, e)) { diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 778cecc2e6..fcb3eedabb 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -464,12 +464,9 @@ static void cpu_max_set_sve_max_vq(Object *obj, Visito= r *v, const char *name, void *opaque, Error **errp) { ARMCPU *cpu =3D ARM_CPU(obj); - Error *err =3D NULL; uint32_t max_vq; =20 - visit_type_uint32(v, name, &max_vq, &err); - if (err) { - error_propagate(errp, err); + if (!visit_type_uint32(v, name, &max_vq, errp)) { return; } =20 @@ -510,12 +507,9 @@ static void cpu_arm_set_sve_vq(Object *obj, Visitor *v= , const char *name, { ARMCPU *cpu =3D ARM_CPU(obj); uint32_t vq =3D atoi(&name[3]) / 128; - Error *err =3D NULL; bool value; =20 - visit_type_bool(v, name, &value, &err); - if (err) { - error_propagate(errp, err); + if (!visit_type_bool(v, name, &value, errp)) { return; } =20 @@ -546,13 +540,10 @@ static void cpu_arm_set_sve(Object *obj, Visitor *v, = const char *name, void *opaque, Error **errp) { ARMCPU *cpu =3D ARM_CPU(obj); - Error *err =3D NULL; bool value; uint64_t t; =20 - visit_type_bool(v, name, &value, &err); - if (err) { - error_propagate(errp, err); + if (!visit_type_bool(v, name, &value, errp)) { return; } =20 diff --git a/target/arm/monitor.c b/target/arm/monitor.c index ea6598c412..fdab052acd 100644 --- a/target/arm/monitor.c +++ b/target/arm/monitor.c @@ -174,11 +174,9 @@ CpuModelExpansionInfo *qmp_query_cpu_model_expansion(C= puModelExpansionType type, Error *err =3D NULL; =20 visitor =3D qobject_input_visitor_new(model->props); - visit_start_struct(visitor, NULL, NULL, 0, &err); - if (err) { + if (!visit_start_struct(visitor, NULL, NULL, 0, errp)) { visit_free(visitor); object_unref(obj); - error_propagate(errp, err); return NULL; } =20 diff --git a/target/i386/cpu.c b/target/i386/cpu.c index b1b311baa2..ef5cf587b6 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -4408,12 +4408,9 @@ static void x86_cpuid_version_set_family(Object *obj= , Visitor *v, CPUX86State *env =3D &cpu->env; const int64_t min =3D 0; const int64_t max =3D 0xff + 0xf; - Error *local_err =3D NULL; int64_t value; =20 - visit_type_int(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_int(v, name, &value, errp)) { return; } if (value < min || value > max) { @@ -4451,12 +4448,9 @@ static void x86_cpuid_version_set_model(Object *obj,= Visitor *v, CPUX86State *env =3D &cpu->env; const int64_t min =3D 0; const int64_t max =3D 0xff; - Error *local_err =3D NULL; int64_t value; =20 - visit_type_int(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_int(v, name, &value, errp)) { return; } if (value < min || value > max) { @@ -4489,12 +4483,9 @@ static void x86_cpuid_version_set_stepping(Object *o= bj, Visitor *v, CPUX86State *env =3D &cpu->env; const int64_t min =3D 0; const int64_t max =3D 0xf; - Error *local_err =3D NULL; int64_t value; =20 - visit_type_int(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_int(v, name, &value, errp)) { return; } if (value < min || value > max) { @@ -4594,12 +4585,9 @@ static void x86_cpuid_set_tsc_freq(Object *obj, Visi= tor *v, const char *name, X86CPU *cpu =3D X86_CPU(obj); const int64_t min =3D 0; const int64_t max =3D INT64_MAX; - Error *local_err =3D NULL; int64_t value; =20 - visit_type_int(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_int(v, name, &value, errp)) { return; } if (value < min || value > max) { @@ -6799,7 +6787,6 @@ static void x86_cpu_set_bit_prop(Object *obj, Visitor= *v, const char *name, DeviceState *dev =3D DEVICE(obj); X86CPU *cpu =3D X86_CPU(obj); BitProperty *fp =3D opaque; - Error *local_err =3D NULL; bool value; =20 if (dev->realized) { @@ -6807,9 +6794,7 @@ static void x86_cpu_set_bit_prop(Object *obj, Visitor= *v, const char *name, return; } =20 - visit_type_bool(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_bool(v, name, &value, errp)) { return; } =20 diff --git a/target/ppc/compat.c b/target/ppc/compat.c index fda0dfe8f8..08aede88dc 100644 --- a/target/ppc/compat.c +++ b/target/ppc/compat.c @@ -260,13 +260,10 @@ static void ppc_compat_prop_get(Object *obj, Visitor = *v, const char *name, static void ppc_compat_prop_set(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - Error *local_err =3D NULL; char *value; uint32_t compat_pvr; =20 - visit_type_str(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!visit_type_str(v, name, &value, errp)) { return; } =20 diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c index 2fa609bffe..aadd92247f 100644 --- a/target/s390x/cpu_models.c +++ b/target/s390x/cpu_models.c @@ -510,9 +510,7 @@ static void cpu_model_from_info(S390CPUModel *model, co= nst CpuModelInfo *info, =20 if (qdict) { visitor =3D qobject_input_visitor_new(info->props); - visit_start_struct(visitor, NULL, NULL, 0, &err); - if (err) { - error_propagate(errp, err); + if (!visit_start_struct(visitor, NULL, NULL, 0, errp)) { visit_free(visitor); object_unref(obj); return; @@ -1001,7 +999,6 @@ static void get_feature(Object *obj, Visitor *v, const= char *name, static void set_feature(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - Error *err =3D NULL; S390Feat feat =3D (S390Feat) opaque; DeviceState *dev =3D DEVICE(obj); S390CPU *cpu =3D S390_CPU(obj); @@ -1017,9 +1014,7 @@ static void set_feature(Object *obj, Visitor *v, cons= t char *name, return; } =20 - visit_type_bool(v, name, &value, &err); - if (err) { - error_propagate(errp, err); + if (!visit_type_bool(v, name, &value, errp)) { return; } if (value) { @@ -1059,7 +1054,6 @@ static void get_feature_group(Object *obj, Visitor *v= , const char *name, static void set_feature_group(Object *obj, Visitor *v, const char *name, void *opaque, Error **errp) { - Error *err =3D NULL; S390FeatGroup group =3D (S390FeatGroup) opaque; const S390FeatGroupDef *def =3D s390_feat_group_def(group); DeviceState *dev =3D DEVICE(obj); @@ -1076,9 +1070,7 @@ static void set_feature_group(Object *obj, Visitor *v= , const char *name, return; } =20 - visit_type_bool(v, name, &value, &err); - if (err) { - error_propagate(errp, err); + if (!visit_type_bool(v, name, &value, errp)) { return; } if (value) { diff --git a/target/sparc/cpu.c b/target/sparc/cpu.c index 3f05aba9d6..cf21efd85f 100644 --- a/target/sparc/cpu.c +++ b/target/sparc/cpu.c @@ -801,12 +801,9 @@ static void sparc_set_nwindows(Object *obj, Visitor *v= , const char *name, const int64_t min =3D MIN_NWINDOWS; const int64_t max =3D MAX_NWINDOWS; SPARCCPU *cpu =3D SPARC_CPU(obj); - Error *err =3D NULL; int64_t value; =20 - visit_type_int(v, name, &value, &err); - if (err) { - error_propagate(errp, err); + if (!visit_type_int(v, name, &value, errp)) { return; } =20 --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017621; cv=none; d=zohomail.com; s=zohoarc; b=ivRqSwVcQ9g3IxcMMAnKIiaZvnetaxIZAR9Vu1zzC7qp0DcdmXTAld4duIZOeT5QigiaAIehPnhv6lG1a7zB5QQMaP58z1Pv4A5OuiTJHELHlAMIPPCGYDlUaVdSp8n1Gf+KMYtF+chvISsiKbeOr27m7UfRnwUfb7+LcIEPk3Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017621; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=DVAoinH9aVdau80DWAEd45l50J258khhha2Mjv4pgKo=; b=TZzKW1c1ZBoBP58bBBZ3AALjDge+RojRw35htwVwbLVCzK5v2u2EGjhWOgIUsLyLAGG2PScxlzITbwObDiUA5IO4ttnFgBfaaHKU7PS8oQIMWbuiMdXYuy18fWkobRsyEM3ZDH0aC7+ztacty/X9Ta7vD76R03COibawQzodEOE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017621782243.86991298083137; Wed, 24 Jun 2020 09:53:41 -0700 (PDT) Received: from localhost ([::1]:48378 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8ea-0002wR-FB for importer@patchew.org; Wed, 24 Jun 2020 12:53:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51732) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VQ-0003gL-Ta for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:12 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:41282 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VB-00056S-Ew for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:12 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-198-2ODe8-WJMLS7PkHvgQ1M6g-1; Wed, 24 Jun 2020 12:43:51 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id C240B2DA2; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 62A6B5C663; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 3BD9C1138485; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DVAoinH9aVdau80DWAEd45l50J258khhha2Mjv4pgKo=; b=GXMZFg1UEiwADgKwJLrrL3+yOdv5xVzz5EABVAuRnpJpgSopMyEHOYrmkfypvt6JIini1J 8eGsOLg+GjbjG29dL2REzQc2puW+AH2oyvqjV5YGceC8EhUn+DgN85+V5PPNF9BloBECbo aRf//9ajfvJIbgMBBmaQ99KyYH16G4o= X-MC-Unique: 2ODe8-WJMLS7PkHvgQ1M6g-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 24/46] qapi: Smooth error checking manually Date: Wed, 24 Jun 2020 18:43:22 +0200 Message-Id: <20200624164344.3778251-25-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 00:34:35 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" When foo(..., &err) is followed by error_propagate(errp, err), we can often just as well do foo(..., errp). The previous commit did that for simple cases with Coccinelle. Do it for a few more manually. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- accel/kvm/kvm-all.c | 50 ++++++++++++++++++--------------------- block/throttle-groups.c | 5 ++-- bootdevice.c | 4 ++-- hw/core/qdev-properties.c | 12 +++++----- hw/ide/qdev.c | 4 ++-- hw/mem/nvdimm.c | 9 +++---- hw/net/ne2000-isa.c | 4 ++-- hw/usb/dev-storage.c | 4 ++-- net/net.c | 8 ++----- qom/object.c | 30 +++++++++++------------ 10 files changed, 59 insertions(+), 71 deletions(-) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index be02b8e07a..0b921cd24c 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -3119,37 +3119,33 @@ static void kvm_set_kernel_irqchip(Object *obj, Vis= itor *v, const char *name, void *opaque, Error **errp) { - Error *err =3D NULL; KVMState *s =3D KVM_STATE(obj); OnOffSplit mode; =20 - visit_type_OnOffSplit(v, name, &mode, &err); - if (err) { - error_propagate(errp, err); + if (!visit_type_OnOffSplit(v, name, &mode, errp)) { return; - } else { - switch (mode) { - case ON_OFF_SPLIT_ON: - s->kernel_irqchip_allowed =3D true; - s->kernel_irqchip_required =3D true; - s->kernel_irqchip_split =3D ON_OFF_AUTO_OFF; - break; - case ON_OFF_SPLIT_OFF: - s->kernel_irqchip_allowed =3D false; - s->kernel_irqchip_required =3D false; - s->kernel_irqchip_split =3D ON_OFF_AUTO_OFF; - break; - case ON_OFF_SPLIT_SPLIT: - s->kernel_irqchip_allowed =3D true; - s->kernel_irqchip_required =3D true; - s->kernel_irqchip_split =3D ON_OFF_AUTO_ON; - break; - default: - /* The value was checked in visit_type_OnOffSplit() above. If - * we get here, then something is wrong in QEMU. - */ - abort(); - } + } + switch (mode) { + case ON_OFF_SPLIT_ON: + s->kernel_irqchip_allowed =3D true; + s->kernel_irqchip_required =3D true; + s->kernel_irqchip_split =3D ON_OFF_AUTO_OFF; + break; + case ON_OFF_SPLIT_OFF: + s->kernel_irqchip_allowed =3D false; + s->kernel_irqchip_required =3D false; + s->kernel_irqchip_split =3D ON_OFF_AUTO_OFF; + break; + case ON_OFF_SPLIT_SPLIT: + s->kernel_irqchip_allowed =3D true; + s->kernel_irqchip_required =3D true; + s->kernel_irqchip_split =3D ON_OFF_AUTO_ON; + break; + default: + /* The value was checked in visit_type_OnOffSplit() above. If + * we get here, then something is wrong in QEMU. + */ + abort(); } } =20 diff --git a/block/throttle-groups.c b/block/throttle-groups.c index dba2bb6451..03a53c89ea 100644 --- a/block/throttle-groups.c +++ b/block/throttle-groups.c @@ -889,8 +889,8 @@ static void throttle_group_set_limits(Object *obj, Visi= tor *v, ThrottleLimits *argp; Error *local_err =3D NULL; =20 - if (!visit_type_ThrottleLimits(v, name, &argp, &local_err)) { - goto ret; + if (!visit_type_ThrottleLimits(v, name, &argp, errp)) { + return; } qemu_mutex_lock(&tg->lock); throttle_get_config(&tg->ts, &cfg); @@ -902,7 +902,6 @@ static void throttle_group_set_limits(Object *obj, Visi= tor *v, =20 unlock: qemu_mutex_unlock(&tg->lock); -ret: qapi_free_ThrottleLimits(argp); error_propagate(errp, local_err); return; diff --git a/bootdevice.c b/bootdevice.c index fb09d3c668..769f40c77d 100644 --- a/bootdevice.c +++ b/bootdevice.c @@ -297,8 +297,8 @@ static void device_set_bootindex(Object *obj, Visitor *= v, const char *name, int32_t boot_index; Error *local_err =3D NULL; =20 - if (!visit_type_int32(v, name, &boot_index, &local_err)) { - goto out; + if (!visit_type_int32(v, name, &boot_index, errp)) { + return; } /* check whether bootindex is present in fw_boot_order list */ check_boot_index(boot_index, &local_err); diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index fa88a8885c..11e7d27ccc 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -664,15 +664,15 @@ static void set_pci_devfn(Object *obj, Visitor *v, co= nst char *name, if (!visit_type_str(v, name, &str, &local_err)) { error_free(local_err); local_err =3D NULL; - visit_type_int32(v, name, &value, &local_err); - if (local_err) { - error_propagate(errp, local_err); - } else if (value < -1 || value > 255) { + if (!visit_type_int32(v, name, &value, errp)) { + return; + } + if (value < -1 || value > 255) { error_setg(errp, QERR_INVALID_PARAMETER_VALUE, name ? name : "null", "pci_devfn"); - } else { - *ptr =3D value; + return; } + *ptr =3D value; return; } =20 diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c index 358f10a92e..ba8b0d7f02 100644 --- a/hw/ide/qdev.c +++ b/hw/ide/qdev.c @@ -245,8 +245,8 @@ static void ide_dev_set_bootindex(Object *obj, Visitor = *v, const char *name, int32_t boot_index; Error *local_err =3D NULL; =20 - if (!visit_type_int32(v, name, &boot_index, &local_err)) { - goto out; + if (!visit_type_int32(v, name, &boot_index, errp)) { + return; } /* check whether bootindex is present in fw_boot_order list */ check_boot_index(boot_index, &local_err); diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c index e6fdf6ccc3..d0d6e553cf 100644 --- a/hw/mem/nvdimm.c +++ b/hw/mem/nvdimm.c @@ -82,21 +82,18 @@ static void nvdimm_set_uuid(Object *obj, Visitor *v, co= nst char *name, void *opaque, Error **errp) { NVDIMMDevice *nvdimm =3D NVDIMM(obj); - Error *local_err =3D NULL; char *value; =20 - if (!visit_type_str(v, name, &value, &local_err)) { - goto out; + if (!visit_type_str(v, name, &value, errp)) { + return; } =20 if (qemu_uuid_parse(value, &nvdimm->uuid) !=3D 0) { error_setg(errp, "Property '%s.%s' has invalid value", object_get_typename(obj), name); } - g_free(value); =20 -out: - error_propagate(errp, local_err); + g_free(value); } =20 =20 diff --git a/hw/net/ne2000-isa.c b/hw/net/ne2000-isa.c index 765bcd1f0b..0594abd93a 100644 --- a/hw/net/ne2000-isa.c +++ b/hw/net/ne2000-isa.c @@ -113,8 +113,8 @@ static void isa_ne2000_set_bootindex(Object *obj, Visit= or *v, int32_t boot_index; Error *local_err =3D NULL; =20 - if (!visit_type_int32(v, name, &boot_index, &local_err)) { - goto out; + if (!visit_type_int32(v, name, &boot_index, errp)) { + return; } /* check whether bootindex is present in fw_boot_order list */ check_boot_index(boot_index, &local_err); diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c index 1c3bd2578c..721665191e 100644 --- a/hw/usb/dev-storage.c +++ b/hw/usb/dev-storage.c @@ -736,8 +736,8 @@ static void usb_msd_set_bootindex(Object *obj, Visitor = *v, const char *name, int32_t boot_index; Error *local_err =3D NULL; =20 - if (!visit_type_int32(v, name, &boot_index, &local_err)) { - goto out; + if (!visit_type_int32(v, name, &boot_index, errp)) { + return; } /* check whether bootindex is present in fw_boot_order list */ check_boot_index(boot_index, &local_err); diff --git a/net/net.c b/net/net.c index d1130296e1..e1f45d3b36 100644 --- a/net/net.c +++ b/net/net.c @@ -1052,7 +1052,6 @@ static int net_client_init(QemuOpts *opts, bool is_ne= tdev, Error **errp) { gchar **substrings =3D NULL; Netdev *object =3D NULL; - Error *err =3D NULL; int ret =3D -1; Visitor *v =3D opts_visitor_new(opts); =20 @@ -1100,16 +1099,13 @@ static int net_client_init(QemuOpts *opts, bool is_= netdev, Error **errp) qemu_opts_set_id(opts, g_strdup_printf("__org.qemu.net%i", idx++)); } =20 - visit_type_Netdev(v, NULL, &object, &err); - - if (!err) { - ret =3D net_client_init1(object, is_netdev, &err); + if (visit_type_Netdev(v, NULL, &object, errp)) { + ret =3D net_client_init1(object, is_netdev, errp); } =20 qapi_free_Netdev(object); =20 out: - error_propagate(errp, err); g_strfreev(substrings); visit_free(v); return ret; diff --git a/qom/object.c b/qom/object.c index 780a700542..b8aac074c2 100644 --- a/qom/object.c +++ b/qom/object.c @@ -1766,9 +1766,11 @@ static void object_set_link_property(Object *obj, Vi= sitor *v, Object *new_target =3D NULL; char *path =3D NULL; =20 - visit_type_str(v, name, &path, &local_err); + if (!visit_type_str(v, name, &path, errp)) { + return; + } =20 - if (!local_err && strcmp(path, "") !=3D 0) { + if (strcmp(path, "") !=3D 0) { new_target =3D object_resolve_link(obj, name, path, &local_err); } =20 @@ -2293,36 +2295,34 @@ static void property_get_tm(Object *obj, Visitor *v= , const char *name, =20 prop->get(obj, &value, &err); if (err) { - goto out; + error_propagate(errp, err); + return; } =20 - if (!visit_start_struct(v, name, NULL, 0, &err)) { - goto out; + if (!visit_start_struct(v, name, NULL, 0, errp)) { + return; } - if (!visit_type_int32(v, "tm_year", &value.tm_year, &err)) { + if (!visit_type_int32(v, "tm_year", &value.tm_year, errp)) { goto out_end; } - if (!visit_type_int32(v, "tm_mon", &value.tm_mon, &err)) { + if (!visit_type_int32(v, "tm_mon", &value.tm_mon, errp)) { goto out_end; } - if (!visit_type_int32(v, "tm_mday", &value.tm_mday, &err)) { + if (!visit_type_int32(v, "tm_mday", &value.tm_mday, errp)) { goto out_end; } - if (!visit_type_int32(v, "tm_hour", &value.tm_hour, &err)) { + if (!visit_type_int32(v, "tm_hour", &value.tm_hour, errp)) { goto out_end; } - if (!visit_type_int32(v, "tm_min", &value.tm_min, &err)) { + if (!visit_type_int32(v, "tm_min", &value.tm_min, errp)) { goto out_end; } - if (!visit_type_int32(v, "tm_sec", &value.tm_sec, &err)) { + if (!visit_type_int32(v, "tm_sec", &value.tm_sec, errp)) { goto out_end; } - visit_check_struct(v, &err); + visit_check_struct(v, errp); out_end: visit_end_struct(v, NULL); -out: - error_propagate(errp, err); - } =20 static void property_release_tm(Object *obj, const char *name, --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017642; cv=none; d=zohomail.com; s=zohoarc; b=Nm6YHVHdtS05aBdHZyIT00VvgZKWCO+ENQEcjK1QZu79cdgUsrUPxYaGRINpocxQciIYxL5GcIrn3ddaBVk7i3UEoaVvsphErxnrhhMu71j7eCjeMarUeqGv+seuPE1B2s16hd2jBiK51cVnQcUq3zhOewSq5KO1Ce0UszuD5Hs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017642; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FWGZ7kXUUhrqJTeHggGvaYfc4FZ+Nxsy6kQIxEv/BWI=; b=j2z2Zi8ygV4rjy93ndmg+BuNphYf2MzkU2vYge0Vd+mrM7QvUM9kwWG6ZXDYML/14Fx5uWeS+mMyct/ET8eDc2c8i9vYHL2JsANAebOsng4LSswAh0T2x7mWxX34dxHemm6UdvuL7qJkwZnlbXJ/5ceCNF8a9gU6VzZvl5yuVys= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017642760748.2650325704227; Wed, 24 Jun 2020 09:54:02 -0700 (PDT) Received: from localhost ([::1]:50114 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8ev-0003eT-EY for importer@patchew.org; Wed, 24 Jun 2020 12:54:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51686) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VO-0003YE-Bq for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:10 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:57064 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VA-000562-Vd for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:09 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-271-gnOXQXVdP1qpHBvUZvo6Jw-1; Wed, 24 Jun 2020 12:43:52 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id BDBDC8015F0; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 628F82B476; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 3F90B1138486; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FWGZ7kXUUhrqJTeHggGvaYfc4FZ+Nxsy6kQIxEv/BWI=; b=QqDHb82iHvK/UDBdQDPB6Bi4Hs/IWEvQJQ82emWT3cdoXVe/1FyCPtPvWaizwIGeqOv41g s2IfhaiPkNWNpRDKetQFvIfx8O803w/SOjeF8fTaYIO7IkeITjYap8otaIIu/UZ1KLX7Iw 0U0Ai/gYCPe6fWxSzsVYV46lxF/Azvw= X-MC-Unique: gnOXQXVdP1qpHBvUZvo6Jw-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 25/46] qapi: Smooth visitor error checking in generated code Date: Wed, 24 Jun 2020 18:43:23 +0200 Message-Id: <20200624164344.3778251-26-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 01:59:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Use visitor functions' return values to check for failure. Eliminate error_propagate() that are now unnecessary. Delete @err that are now unused. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- docs/devel/qapi-code-gen.txt | 60 ++++++++++++++---------------------- scripts/qapi/commands.py | 22 ++++++------- scripts/qapi/visit.py | 57 ++++++++++++++-------------------- 3 files changed, 55 insertions(+), 84 deletions(-) diff --git a/docs/devel/qapi-code-gen.txt b/docs/devel/qapi-code-gen.txt index 9bfc57063c..69eede6c28 100644 --- a/docs/devel/qapi-code-gen.txt +++ b/docs/devel/qapi-code-gen.txt @@ -1420,8 +1420,6 @@ Example: =20 bool visit_type_UserDefOne_members(Visitor *v, UserDefOne *obj, Error = **errp) { - Error *err =3D NULL; - if (!visit_type_int(v, "integer", &obj->integer, errp)) { return false; } @@ -1430,13 +1428,12 @@ Example: return false; } } - error_propagate(errp, err); - return !err; + return true; } =20 bool visit_type_UserDefOne(Visitor *v, const char *name, UserDefOne **= obj, Error **errp) { - Error *err =3D NULL; + bool ok =3D false; =20 if (!visit_start_struct(v, name, (void **)obj, sizeof(UserDefOne),= errp)) { return false; @@ -1446,24 +1443,22 @@ Example: assert(visit_is_dealloc(v)); goto out_obj; } - visit_type_UserDefOne_members(v, *obj, &err); - if (err) { + if (!visit_type_UserDefOne_members(v, *obj, errp)) { goto out_obj; } - visit_check_struct(v, &err); + ok =3D visit_check_struct(v, errp); out_obj: visit_end_struct(v, (void **)obj); - if (err && visit_is_input(v)) { + if (!ok && visit_is_input(v)) { qapi_free_UserDefOne(*obj); *obj =3D NULL; } - error_propagate(errp, err); - return !err; + return ok; } =20 bool visit_type_UserDefOneList(Visitor *v, const char *name, UserDefOn= eList **obj, Error **errp) { - Error *err =3D NULL; + bool ok =3D false; UserDefOneList *tail; size_t size =3D sizeof(**obj); =20 @@ -1473,33 +1468,27 @@ Example: =20 for (tail =3D *obj; tail; tail =3D (UserDefOneList *)visit_next_list(v, (GenericList *)= tail, size)) { - visit_type_UserDefOne(v, NULL, &tail->value, &err); - if (err) { - break; + if (!visit_type_UserDefOne(v, NULL, &tail->value, errp)) { + goto out_obj; } } =20 - if (!err) { - visit_check_list(v, &err); - } + ok =3D visit_check_list(v, errp); + out_obj: visit_end_list(v, (void **)obj); - if (err && visit_is_input(v)) { + if (!ok && visit_is_input(v)) { qapi_free_UserDefOneList(*obj); *obj =3D NULL; } - error_propagate(errp, err); - return !err; + return ok; } =20 bool visit_type_q_obj_my_command_arg_members(Visitor *v, q_obj_my_comm= and_arg *obj, Error **errp) { - Error *err =3D NULL; - if (!visit_type_UserDefOneList(v, "arg1", &obj->arg1, errp)) { return false; } - error_propagate(errp, err); - return !err; + return true; } =20 [Uninteresting stuff omitted...] @@ -1554,15 +1543,12 @@ Example: =20 static void qmp_marshal_output_UserDefOne(UserDefOne *ret_in, QObject = **ret_out, Error **errp) { - Error *err =3D NULL; Visitor *v; =20 v =3D qobject_output_visitor_new(ret_out); - visit_type_UserDefOne(v, "unused", &ret_in, &err); - if (!err) { + if (visit_type_UserDefOne(v, "unused", &ret_in, errp)) { visit_complete(v, ret_out); } - error_propagate(errp, err); visit_free(v); v =3D qapi_dealloc_visitor_new(); visit_type_UserDefOne(v, "unused", &ret_in, NULL); @@ -1572,33 +1558,32 @@ Example: void qmp_marshal_my_command(QDict *args, QObject **ret, Error **errp) { Error *err =3D NULL; + bool ok =3D false; Visitor *v; UserDefOne *retval; q_obj_my_command_arg arg =3D {0}; =20 v =3D qobject_input_visitor_new(QOBJECT(args)); - visit_start_struct(v, NULL, NULL, 0, &err); - if (err) { + if (!visit_start_struct(v, NULL, NULL, 0, errp)) { goto out; } - visit_type_q_obj_my_command_arg_members(v, &arg, &err); - if (!err) { - visit_check_struct(v, &err); + if (visit_type_q_obj_my_command_arg_members(v, &arg, errp)) { + ok =3D visit_check_struct(v, errp); } visit_end_struct(v, NULL); - if (err) { + if (!ok) { goto out; } =20 retval =3D qmp_my_command(arg.arg1, &err); + error_propagate(errp, err); if (err) { goto out; } =20 - qmp_marshal_output_UserDefOne(retval, ret, &err); + qmp_marshal_output_UserDefOne(retval, ret, errp); =20 out: - error_propagate(errp, err); visit_free(v); v =3D qapi_dealloc_visitor_new(); visit_start_struct(v, NULL, NULL, 0, NULL); @@ -1606,6 +1591,7 @@ Example: visit_end_struct(v, NULL); visit_free(v); } + [Uninteresting stuff omitted...] $ cat qapi-generated/example-qapi-init-commands.h [Uninteresting stuff omitted...] diff --git a/scripts/qapi/commands.py b/scripts/qapi/commands.py index 6809b0fb6e..3cf9e1110b 100644 --- a/scripts/qapi/commands.py +++ b/scripts/qapi/commands.py @@ -47,6 +47,7 @@ def gen_call(name, arg_type, boxed, ret_type): ret =3D mcgen(''' =20 %(lhs)sqmp_%(c_name)s(%(args)s&err); + error_propagate(errp, err); ''', c_name=3Dc_name(name), args=3Dargstr, lhs=3Dlhs) if ret_type: @@ -55,7 +56,7 @@ def gen_call(name, arg_type, boxed, ret_type): goto out; } =20 - qmp_marshal_output_%(c_name)s(retval, ret, &err); + qmp_marshal_output_%(c_name)s(retval, ret, errp); ''', c_name=3Dret_type.c_name()) return ret @@ -66,15 +67,12 @@ def gen_marshal_output(ret_type): =20 static void qmp_marshal_output_%(c_name)s(%(c_type)s ret_in, QObject **ret= _out, Error **errp) { - Error *err =3D NULL; Visitor *v; =20 v =3D qobject_output_visitor_new(ret_out); - visit_type_%(c_name)s(v, "unused", &ret_in, &err); - if (!err) { + if (visit_type_%(c_name)s(v, "unused", &ret_in, errp)) { visit_complete(v, ret_out); } - error_propagate(errp, err); visit_free(v); v =3D qapi_dealloc_visitor_new(); visit_type_%(c_name)s(v, "unused", &ret_in, NULL); @@ -104,6 +102,7 @@ def gen_marshal(name, arg_type, boxed, ret_type): %(proto)s { Error *err =3D NULL; + bool ok =3D false; Visitor *v; ''', proto=3Dbuild_marshal_proto(name)) @@ -123,28 +122,26 @@ def gen_marshal(name, arg_type, boxed, ret_type): ret +=3D mcgen(''' =20 v =3D qobject_input_visitor_new(QOBJECT(args)); - visit_start_struct(v, NULL, NULL, 0, &err); - if (err) { + if (!visit_start_struct(v, NULL, NULL, 0, errp)) { goto out; } ''') =20 if have_args: ret +=3D mcgen(''' - visit_type_%(c_arg_type)s_members(v, &arg, &err); - if (!err) { - visit_check_struct(v, &err); + if (visit_type_%(c_arg_type)s_members(v, &arg, errp)) { + ok =3D visit_check_struct(v, errp); } ''', c_arg_type=3Darg_type.c_name()) else: ret +=3D mcgen(''' - visit_check_struct(v, &err); + ok =3D visit_check_struct(v, errp); ''') =20 ret +=3D mcgen(''' visit_end_struct(v, NULL); - if (err) { + if (!ok) { goto out; } ''') @@ -154,7 +151,6 @@ def gen_marshal(name, arg_type, boxed, ret_type): ret +=3D mcgen(''' =20 out: - error_propagate(errp, err); visit_free(v); ''') =20 diff --git a/scripts/qapi/visit.py b/scripts/qapi/visit.py index ba0cf0b074..3fb2f30510 100644 --- a/scripts/qapi/visit.py +++ b/scripts/qapi/visit.py @@ -41,8 +41,6 @@ def gen_visit_object_members(name, base, members, variant= s): =20 bool visit_type_%(c_name)s_members(Visitor *v, %(c_name)s *obj, Error **er= rp) { - Error *err =3D NULL; - ''', c_name=3Dc_name(name)) =20 @@ -97,8 +95,7 @@ bool visit_type_%(c_name)s_members(Visitor *v, %(c_name)s= *obj, Error **errp) else: ret +=3D mcgen(''' case %(case)s: - visit_type_%(c_type)s_members(v, &obj->u.%(c_name)s, &err); - break; + return visit_type_%(c_type)s_members(v, &obj->u.%(c_name)s, errp); ''', case=3Dcase_str, c_type=3Dvar.type.c_name(), c_name=3Dc_name(v= ar.name)) @@ -111,8 +108,7 @@ bool visit_type_%(c_name)s_members(Visitor *v, %(c_name= )s *obj, Error **errp) ''') =20 ret +=3D mcgen(''' - error_propagate(errp, err); - return !err; + return true; } ''') return ret @@ -123,7 +119,7 @@ def gen_visit_list(name, element_type): =20 bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj,= Error **errp) { - Error *err =3D NULL; + bool ok =3D false; %(c_name)s *tail; size_t size =3D sizeof(**obj); =20 @@ -133,22 +129,19 @@ bool visit_type_%(c_name)s(Visitor *v, const char *na= me, %(c_name)s **obj, Error =20 for (tail =3D *obj; tail; tail =3D (%(c_name)s *)visit_next_list(v, (GenericList *)tail, si= ze)) { - visit_type_%(c_elt_type)s(v, NULL, &tail->value, &err); - if (err) { - break; + if (!visit_type_%(c_elt_type)s(v, NULL, &tail->value, errp)) { + goto out_obj; } } =20 - if (!err) { - visit_check_list(v, &err); - } + ok =3D visit_check_list(v, errp); +out_obj: visit_end_list(v, (void **)obj); - if (err && visit_is_input(v)) { + if (!ok && visit_is_input(v)) { qapi_free_%(c_name)s(*obj); *obj =3D NULL; } - error_propagate(errp, err); - return !err; + return ok; } ''', c_name=3Dc_name(name), c_elt_type=3Delement_type.c_name()) @@ -173,7 +166,7 @@ def gen_visit_alternate(name, variants): =20 bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj,= Error **errp) { - Error *err =3D NULL; + bool ok =3D false; =20 if (!visit_start_alternate(v, name, (GenericAlternate **)obj, sizeof(**obj), errp)) { @@ -182,6 +175,7 @@ bool visit_type_%(c_name)s(Visitor *v, const char *name= , %(c_name)s **obj, Error if (!*obj) { /* incomplete */ assert(visit_is_dealloc(v)); + ok =3D true; goto out_obj; } switch ((*obj)->type) { @@ -196,13 +190,11 @@ bool visit_type_%(c_name)s(Visitor *v, const char *na= me, %(c_name)s **obj, Error case=3Dvar.type.alternate_qtype()) if isinstance(var.type, QAPISchemaObjectType): ret +=3D mcgen(''' - visit_start_struct(v, name, NULL, 0, &err); - if (err) { + if (!visit_start_struct(v, name, NULL, 0, errp)) { break; } - visit_type_%(c_type)s_members(v, &(*obj)->u.%(c_name)s, &err); - if (!err) { - visit_check_struct(v, &err); + if (visit_type_%(c_type)s_members(v, &(*obj)->u.%(c_name)s, errp))= { + ok =3D visit_check_struct(v, errp); } visit_end_struct(v, NULL); ''', @@ -210,7 +202,7 @@ bool visit_type_%(c_name)s(Visitor *v, const char *name= , %(c_name)s **obj, Error c_name=3Dc_name(var.name)) else: ret +=3D mcgen(''' - visit_type_%(c_type)s(v, name, &(*obj)->u.%(c_name)s, &err); + ok =3D visit_type_%(c_type)s(v, name, &(*obj)->u.%(c_name)s, errp); ''', c_type=3Dvar.type.c_name(), c_name=3Dc_name(var.name)) @@ -224,7 +216,7 @@ bool visit_type_%(c_name)s(Visitor *v, const char *name= , %(c_name)s **obj, Error abort(); default: assert(visit_is_input(v)); - error_setg(&err, QERR_INVALID_PARAMETER_TYPE, name ? name : "null", + error_setg(errp, QERR_INVALID_PARAMETER_TYPE, name ? name : "null", "%(name)s"); /* Avoid passing invalid *obj to qapi_free_%(c_name)s() */ g_free(*obj); @@ -232,12 +224,11 @@ bool visit_type_%(c_name)s(Visitor *v, const char *na= me, %(c_name)s **obj, Error } out_obj: visit_end_alternate(v, (void **)obj); - if (err && visit_is_input(v)) { + if (!ok && visit_is_input(v)) { qapi_free_%(c_name)s(*obj); *obj =3D NULL; } - error_propagate(errp, err); - return !err; + return ok; } ''', name=3Dname, c_name=3Dc_name(name)) @@ -250,7 +241,7 @@ def gen_visit_object(name, base, members, variants): =20 bool visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj,= Error **errp) { - Error *err =3D NULL; + bool ok =3D false; =20 if (!visit_start_struct(v, name, (void **)obj, sizeof(%(c_name)s), err= p)) { return false; @@ -260,19 +251,17 @@ bool visit_type_%(c_name)s(Visitor *v, const char *na= me, %(c_name)s **obj, Error assert(visit_is_dealloc(v)); goto out_obj; } - visit_type_%(c_name)s_members(v, *obj, &err); - if (err) { + if (!visit_type_%(c_name)s_members(v, *obj, errp)) { goto out_obj; } - visit_check_struct(v, &err); + ok =3D visit_check_struct(v, errp); out_obj: visit_end_struct(v, (void **)obj); - if (err && visit_is_input(v)) { + if (!ok && visit_is_input(v)) { qapi_free_%(c_name)s(*obj); *obj =3D NULL; } - error_propagate(errp, err); - return !err; + return ok; } ''', c_name=3Dc_name(name)) --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017903; cv=none; d=zohomail.com; s=zohoarc; b=HBqjtZNDN60dL1gnm1SgrVxsa0NAcIaBBAunXCAxt4brcy8XMAyT7sw8azKSuFnK6qogl2ohslLTrQrgUfAb9iXK6YVWXWc0mCWHu8GesjQ4vKJkjUlJXLr92uT+azbSLj/d9eAl7ndDCaUhP9MQxdyePUHdTmXuAdFrnVCWQe0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017903; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xIH0TfRbByiUqWh7uXgafAp1hZZ1j8Oef3yzjexqbPg=; b=OXk8jLH5k+qc/SET8gwmyG1wc5gkomtOwFkiI7y/Wdaehgl86wFOJBbi+FaPuWivwY36F//gKPOF8Sgq2nHHc5n5ygceJYYjWK7GnUe4SNg56+a+r74lsipo57vpmzK09bZESgrnq9J+Hm2uoPrDgJYeQKrtdNmWZ8JluGi3ax8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017903294450.5912501175667; Wed, 24 Jun 2020 09:58:23 -0700 (PDT) Received: from localhost ([::1]:39168 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8j7-0002iu-N6 for importer@patchew.org; Wed, 24 Jun 2020 12:58:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51774) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VS-0003l4-9z for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:14 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:44505 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VB-00056c-Os for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:13 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-242-N_4Me9MGPFqBP4myKVxJuA-1; Wed, 24 Jun 2020 12:43:51 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id C38D02E93; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 64DDA5C66E; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 434CE1138487; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=xIH0TfRbByiUqWh7uXgafAp1hZZ1j8Oef3yzjexqbPg=; b=Hhbptzf756iecvMjfDMAKDaUL2i0MG+Uv0unTqAYFf7vqvCJL6tm+VxFXVqJvAvcXmK0Om BzDTbXujBGT2VnAuxQVDSXZZJ8Fh4NpB5U0QnJkGybMyabNdRtolY4+8xfbJztcECFjnmB LiDt94DoAus6g11Y6+X4TAeRu3nHKR4= X-MC-Unique: N_4Me9MGPFqBP4myKVxJuA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 26/46] qapi: Smooth another visitor error checking pattern Date: Wed, 24 Jun 2020 18:43:24 +0200 Message-Id: <20200624164344.3778251-27-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 03:27:53 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Convert visit_type_FOO(v, ..., &ptr, &err); ... if (err) { ... } to visit_type_FOO(v, ..., &ptr, errp); ... if (!ptr) { ... } for functions that set @ptr to non-null / null on success / error. Eliminate error_propagate() that are now unnecessary. Delete @err that are now unused. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- block/nfs.c | 7 ++----- block/parallels.c | 7 ++----- block/qcow.c | 7 ++----- block/qcow2.c | 7 ++----- block/qed.c | 7 ++----- block/rbd.c | 7 ++----- block/sheepdog.c | 6 ++---- block/ssh.c | 7 ++----- block/vdi.c | 7 ++----- block/vhdx.c | 7 ++----- block/vpc.c | 7 ++----- hw/acpi/core.c | 4 ++-- hw/block/xen-block.c | 6 ++---- hw/core/numa.c | 7 +++---- monitor/monitor.c | 21 +++++++-------------- 15 files changed, 36 insertions(+), 78 deletions(-) diff --git a/block/nfs.c b/block/nfs.c index b1718d125a..61a249a9fc 100644 --- a/block/nfs.c +++ b/block/nfs.c @@ -563,18 +563,15 @@ static BlockdevOptionsNfs *nfs_options_qdict_to_qapi(= QDict *options, BlockdevOptionsNfs *opts =3D NULL; Visitor *v; const QDictEntry *e; - Error *local_err =3D NULL; =20 v =3D qobject_input_visitor_new_flat_confused(options, errp); if (!v) { return NULL; } =20 - visit_type_BlockdevOptionsNfs(v, NULL, &opts, &local_err); + visit_type_BlockdevOptionsNfs(v, NULL, &opts, errp); visit_free(v); - - if (local_err) { - error_propagate(errp, local_err); + if (!opts) { return NULL; } =20 diff --git a/block/parallels.c b/block/parallels.c index 0397f3894f..9e85ab995e 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -625,7 +625,6 @@ static int coroutine_fn parallels_co_create_opts(BlockD= river *drv, Error **errp) { BlockdevCreateOptions *create_options =3D NULL; - Error *local_err =3D NULL; BlockDriverState *bs =3D NULL; QDict *qdict; Visitor *v; @@ -668,11 +667,9 @@ static int coroutine_fn parallels_co_create_opts(Block= Driver *drv, goto done; } =20 - visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err); + visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp); visit_free(v); - - if (local_err) { - error_propagate(errp, local_err); + if (!create_options) { ret =3D -EINVAL; goto done; } diff --git a/block/qcow.c b/block/qcow.c index eefa3b63da..1e134f3445 100644 --- a/block/qcow.c +++ b/block/qcow.c @@ -941,7 +941,6 @@ static int coroutine_fn qcow_co_create_opts(BlockDriver= *drv, QDict *qdict; Visitor *v; const char *val; - Error *local_err =3D NULL; int ret; =20 static const QDictRenames opt_renames[] =3D { @@ -993,11 +992,9 @@ static int coroutine_fn qcow_co_create_opts(BlockDrive= r *drv, goto fail; } =20 - visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err); + visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp); visit_free(v); - - if (local_err) { - error_propagate(errp, local_err); + if (!create_options) { ret =3D -EINVAL; goto fail; } diff --git a/block/qcow2.c b/block/qcow2.c index a9137a535b..9ed2396c88 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -3683,7 +3683,6 @@ static int coroutine_fn qcow2_co_create_opts(BlockDri= ver *drv, Visitor *v; BlockDriverState *bs =3D NULL; BlockDriverState *data_bs =3D NULL; - Error *local_err =3D NULL; const char *val; int ret; =20 @@ -3779,11 +3778,9 @@ static int coroutine_fn qcow2_co_create_opts(BlockDr= iver *drv, goto finish; } =20 - visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err); + visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp); visit_free(v); - - if (local_err) { - error_propagate(errp, local_err); + if (!create_options) { ret =3D -EINVAL; goto finish; } diff --git a/block/qed.c b/block/qed.c index e369fd360a..7fa7f880f6 100644 --- a/block/qed.c +++ b/block/qed.c @@ -729,7 +729,6 @@ static int coroutine_fn bdrv_qed_co_create_opts(BlockDr= iver *drv, QDict *qdict; Visitor *v; BlockDriverState *bs =3D NULL; - Error *local_err =3D NULL; int ret; =20 static const QDictRenames opt_renames[] =3D { @@ -771,11 +770,9 @@ static int coroutine_fn bdrv_qed_co_create_opts(BlockD= river *drv, goto fail; } =20 - visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err); + visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp); visit_free(v); - - if (local_err) { - error_propagate(errp, local_err); + if (!create_options) { ret =3D -EINVAL; goto fail; } diff --git a/block/rbd.c b/block/rbd.c index 617553b022..688074c64b 100644 --- a/block/rbd.c +++ b/block/rbd.c @@ -681,7 +681,6 @@ static int qemu_rbd_convert_options(QDict *options, Blo= ckdevOptionsRbd **opts, Error **errp) { Visitor *v; - Error *local_err =3D NULL; =20 /* Convert the remaining options into a QAPI object */ v =3D qobject_input_visitor_new_flat_confused(options, errp); @@ -689,11 +688,9 @@ static int qemu_rbd_convert_options(QDict *options, Bl= ockdevOptionsRbd **opts, return -EINVAL; } =20 - visit_type_BlockdevOptionsRbd(v, NULL, opts, &local_err); + visit_type_BlockdevOptionsRbd(v, NULL, opts, errp); visit_free(v); - - if (local_err) { - error_propagate(errp, local_err); + if (!opts) { return -EINVAL; } =20 diff --git a/block/sheepdog.c b/block/sheepdog.c index a6a91442c9..6c487c8322 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -2193,11 +2193,9 @@ static int coroutine_fn sd_co_create_opts(BlockDrive= r *drv, goto fail; } =20 - visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err); + visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp); visit_free(v); - - if (local_err) { - error_propagate(errp, local_err); + if (!create_options) { ret =3D -EINVAL; goto fail; } diff --git a/block/ssh.c b/block/ssh.c index f00b89684a..ebe3d8b631 100644 --- a/block/ssh.c +++ b/block/ssh.c @@ -616,7 +616,6 @@ static BlockdevOptionsSsh *ssh_parse_options(QDict *opt= ions, Error **errp) { BlockdevOptionsSsh *result =3D NULL; QemuOpts *opts =3D NULL; - Error *local_err =3D NULL; const QDictEntry *e; Visitor *v; =20 @@ -636,11 +635,9 @@ static BlockdevOptionsSsh *ssh_parse_options(QDict *op= tions, Error **errp) goto fail; } =20 - visit_type_BlockdevOptionsSsh(v, NULL, &result, &local_err); + visit_type_BlockdevOptionsSsh(v, NULL, &result, errp); visit_free(v); - - if (local_err) { - error_propagate(errp, local_err); + if (!result) { goto fail; } =20 diff --git a/block/vdi.c b/block/vdi.c index 5fca67f52d..3a3df45f84 100644 --- a/block/vdi.c +++ b/block/vdi.c @@ -905,7 +905,6 @@ static int coroutine_fn vdi_co_create_opts(BlockDriver = *drv, uint64_t block_size =3D DEFAULT_CLUSTER_SIZE; bool is_static =3D false; Visitor *v; - Error *local_err =3D NULL; int ret; =20 /* Parse options and convert legacy syntax. @@ -956,11 +955,9 @@ static int coroutine_fn vdi_co_create_opts(BlockDriver= *drv, ret =3D -EINVAL; goto done; } - visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err); + visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp); visit_free(v); - - if (local_err) { - error_propagate(errp, local_err); + if (!create_options) { ret =3D -EINVAL; goto done; } diff --git a/block/vhdx.c b/block/vhdx.c index b9ef4ff074..1f9fca837d 100644 --- a/block/vhdx.c +++ b/block/vhdx.c @@ -2066,7 +2066,6 @@ static int coroutine_fn vhdx_co_create_opts(BlockDriv= er *drv, QDict *qdict; Visitor *v; BlockDriverState *bs =3D NULL; - Error *local_err =3D NULL; int ret; =20 static const QDictRenames opt_renames[] =3D { @@ -2107,11 +2106,9 @@ static int coroutine_fn vhdx_co_create_opts(BlockDri= ver *drv, goto fail; } =20 - visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err); + visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp); visit_free(v); - - if (local_err) { - error_propagate(errp, local_err); + if (!create_options) { ret =3D -EINVAL; goto fail; } diff --git a/block/vpc.c b/block/vpc.c index 6d8a43aed9..259d0ad2fe 100644 --- a/block/vpc.c +++ b/block/vpc.c @@ -1095,7 +1095,6 @@ static int coroutine_fn vpc_co_create_opts(BlockDrive= r *drv, QDict *qdict; Visitor *v; BlockDriverState *bs =3D NULL; - Error *local_err =3D NULL; int ret; =20 static const QDictRenames opt_renames[] =3D { @@ -1134,11 +1133,9 @@ static int coroutine_fn vpc_co_create_opts(BlockDriv= er *drv, goto fail; } =20 - visit_type_BlockdevCreateOptions(v, NULL, &create_options, &local_err); + visit_type_BlockdevCreateOptions(v, NULL, &create_options, errp); visit_free(v); - - if (local_err) { - error_propagate(errp, local_err); + if (!create_options) { ret =3D -EINVAL; goto fail; } diff --git a/hw/acpi/core.c b/hw/acpi/core.c index 45cbed49ab..91ae66b806 100644 --- a/hw/acpi/core.c +++ b/hw/acpi/core.c @@ -249,11 +249,11 @@ void acpi_table_add(const QemuOpts *opts, Error **err= p) Visitor *v; =20 v =3D opts_visitor_new(opts); - visit_type_AcpiTableOptions(v, NULL, &hdrs, &err); + visit_type_AcpiTableOptions(v, NULL, &hdrs, errp); visit_free(v); } =20 - if (err) { + if (!hdrs) { goto out; } if (hdrs->has_file =3D=3D hdrs->has_data) { diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c index 6ca6f18c7b..d45758937a 100644 --- a/hw/block/xen-block.c +++ b/hw/block/xen-block.c @@ -682,11 +682,9 @@ static char *xen_block_blockdev_add(const char *id, QD= ict *qdict, trace_xen_block_blockdev_add(node_name); =20 v =3D qobject_input_visitor_new(QOBJECT(qdict)); - visit_type_BlockdevOptions(v, NULL, &options, &local_err); + visit_type_BlockdevOptions(v, NULL, &options, errp); visit_free(v); - - if (local_err) { - error_propagate(errp, local_err); + if (!options) { goto fail; } =20 diff --git a/hw/core/numa.c b/hw/core/numa.c index aa8c6be210..118803a0e8 100644 --- a/hw/core/numa.c +++ b/hw/core/numa.c @@ -509,10 +509,10 @@ static int parse_numa(void *opaque, QemuOpts *opts, E= rror **errp) Error *err =3D NULL; Visitor *v =3D opts_visitor_new(opts); =20 - visit_type_NumaOptions(v, NULL, &object, &err); + visit_type_NumaOptions(v, NULL, &object, errp); visit_free(v); - if (err) { - goto end; + if (!object) { + return -1; } =20 /* Fix up legacy suffix-less format */ @@ -523,7 +523,6 @@ static int parse_numa(void *opaque, QemuOpts *opts, Err= or **errp) =20 set_numa_options(ms, object, &err); =20 -end: qapi_free_NumaOptions(object); if (err) { error_propagate(errp, err); diff --git a/monitor/monitor.c b/monitor/monitor.c index 125494410a..47167ac2a3 100644 --- a/monitor/monitor.c +++ b/monitor/monitor.c @@ -656,25 +656,18 @@ int monitor_init_opts(QemuOpts *opts, Error **errp) { Visitor *v; MonitorOptions *options; - Error *local_err =3D NULL; + int ret; =20 v =3D opts_visitor_new(opts); - visit_type_MonitorOptions(v, NULL, &options, &local_err); + visit_type_MonitorOptions(v, NULL, &options, errp); visit_free(v); - - if (local_err) { - goto out; - } - - monitor_init(options, true, &local_err); - qapi_free_MonitorOptions(options); - -out: - if (local_err) { - error_propagate(errp, local_err); + if (!options) { return -1; } - return 0; + + ret =3D monitor_init(options, true, errp); + qapi_free_MonitorOptions(options); + return ret; } =20 QemuOptsList qemu_mon_opts =3D { --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017618; cv=none; d=zohomail.com; s=zohoarc; b=AkQ6doB3AvIL5UGhn1jdwmg8MkBzz2DnfXqVDf749H0DoAFKwKqfj6baWgXh/yLhY7hxg1fGRENjPB5GScmmPlHrOG5iNFrPxCix2vBVGGe2g87cYvPqTT7el6JUzfP5LvOfstRgBX7Fn0Ol26b9Oyrq9nHaK5LUMZXSnkzIiyE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017618; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=eGOq8fnUQZlei51A7RHg6OWdweGXDeqrTWKxfQptO+A=; b=hOupvoJ0zQMjUdOJwvXEfBN6SHfZZnRvZcGy4mCWZufjsqpxH3iGmhsLjypyu3izDyXZLbHTg2eG8vBdHQWr5nFnEuGVcwb/Kn08P02OjwxIi5DTyyt6qi3+x/2XhMoDQRO0yYmaUEmSbXGhtmAwn0nQ2ushi7aCF3sS1W9drWY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 159301761801066.24746040592777; Wed, 24 Jun 2020 09:53:38 -0700 (PDT) Received: from localhost ([::1]:48118 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8eW-0002q9-IM for importer@patchew.org; Wed, 24 Jun 2020 12:53:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51626) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VM-0003Re-Am for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:08 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:41537 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VA-00055s-RP for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:07 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-145-Os9XWQabMEiyT_G-XxCINA-1; Wed, 24 Jun 2020 12:43:51 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9DD662DA1; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 677BE79317; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 46C4B1138488; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=eGOq8fnUQZlei51A7RHg6OWdweGXDeqrTWKxfQptO+A=; b=Zzwdh7XXTlMkI1cxra8nVGREBbAHzWuZ0leApSfWr/Uv0C5+JFK2ciD9vai0CL88r6Iqcz BZb0FIKmuprjzkQ/KNIn0DgTBzYxzddCsJtcFlXKFGpwPhGC8n67jYryav60imE4JmDQEC +SkgJLFjj2Kq6NCncSGoJ/HkP5+7bQY= X-MC-Unique: Os9XWQabMEiyT_G-XxCINA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 27/46] qapi: Purge error_propagate() from QAPI core Date: Wed, 24 Jun 2020 18:43:25 +0200 Message-Id: <20200624164344.3778251-28-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 02:33:25 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- qapi/qapi-visit-core.c | 40 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/qapi/qapi-visit-core.c b/qapi/qapi-visit-core.c index 5a9c47aabf..7e5f40e7f0 100644 --- a/qapi/qapi-visit-core.c +++ b/qapi/qapi-visit-core.c @@ -39,19 +39,18 @@ void visit_free(Visitor *v) bool visit_start_struct(Visitor *v, const char *name, void **obj, size_t size, Error **errp) { - Error *err =3D NULL; + bool ok; =20 trace_visit_start_struct(v, name, obj, size); if (obj) { assert(size); assert(!(v->type & VISITOR_OUTPUT) || *obj); } - v->start_struct(v, name, obj, size, &err); + ok =3D v->start_struct(v, name, obj, size, errp); if (obj && (v->type & VISITOR_INPUT)) { - assert(!err !=3D !*obj); + assert(ok !=3D !*obj); } - error_propagate(errp, err); - return !err; + return ok; } =20 bool visit_check_struct(Visitor *v, Error **errp) @@ -69,16 +68,15 @@ void visit_end_struct(Visitor *v, void **obj) bool visit_start_list(Visitor *v, const char *name, GenericList **list, size_t size, Error **errp) { - Error *err =3D NULL; + bool ok; =20 assert(!list || size >=3D sizeof(GenericList)); trace_visit_start_list(v, name, list, size); - v->start_list(v, name, list, size, &err); + ok =3D v->start_list(v, name, list, size, errp); if (list && (v->type & VISITOR_INPUT)) { - assert(!(err && *list)); + assert(ok || !*list); } - error_propagate(errp, err); - return !err; + return ok; } =20 GenericList *visit_next_list(Visitor *v, GenericList *tail, size_t size) @@ -104,19 +102,20 @@ bool visit_start_alternate(Visitor *v, const char *na= me, GenericAlternate **obj, size_t size, Error **errp) { - Error *err =3D NULL; + bool ok; =20 assert(obj && size >=3D sizeof(GenericAlternate)); assert(!(v->type & VISITOR_OUTPUT) || *obj); trace_visit_start_alternate(v, name, obj, size); - if (v->start_alternate) { - v->start_alternate(v, name, obj, size, &err); + if (!v->start_alternate) { + assert(!(v->type & VISITOR_INPUT)); + return true; } + ok =3D v->start_alternate(v, name, obj, size, errp); if (v->type & VISITOR_INPUT) { - assert(v->start_alternate && !err !=3D !*obj); + assert(ok !=3D !*obj); } - error_propagate(errp, err); - return !err; + return ok; } =20 void visit_end_alternate(Visitor *v, void **obj) @@ -309,7 +308,7 @@ bool visit_type_bool(Visitor *v, const char *name, bool= *obj, Error **errp) =20 bool visit_type_str(Visitor *v, const char *name, char **obj, Error **errp) { - Error *err =3D NULL; + bool ok; =20 assert(obj); /* TODO: Fix callers to not pass NULL when they mean "", so that we @@ -317,12 +316,11 @@ bool visit_type_str(Visitor *v, const char *name, cha= r **obj, Error **errp) assert(!(v->type & VISITOR_OUTPUT) || *obj); */ trace_visit_type_str(v, name, obj); - v->type_str(v, name, obj, &err); + ok =3D v->type_str(v, name, obj, errp); if (v->type & VISITOR_INPUT) { - assert(!err !=3D !*obj); + assert(ok !=3D !*obj); } - error_propagate(errp, err); - return !err; + return ok; } =20 bool visit_type_number(Visitor *v, const char *name, double *obj, --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018450; cv=none; d=zohomail.com; s=zohoarc; b=RcySKVi7sWlPpnNk+XqZVvE0LnwYtH4pwNQ2QUjCiYHc3BZ+ij4tXLPCkOZkc5Sp3Om0Mb72Fv0lP+mOPipoefNcOH/5MPw4N0F1Rujh3QIodErA7G4MwoOuXinO8TqRar2UNdf+bmk+c5+yJkLfDqa1LTLSNCiwzjLQQdGme18= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018450; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=O+ptEAkpNUOkRf8tvAkjLnW2zglOQ056ea63xd5HRvg=; b=k7f85bXk0o0XKgu/rkLdugF/m5AnLLISOHqxBo+FtEYg9cVfwQNAVMR4gaHt+dMaMDSPCxad1BCbNqnDcakE+0FMdNgX6uUNDE43jaOj6GNsAoHtUTY3D3CzTTsh6T3Ns0lc3K/upBSuOVdJfD4jr5s3EZOjpkoiUTtVKYZDdVg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018450111972.8706795087835; Wed, 24 Jun 2020 10:07:30 -0700 (PDT) Received: from localhost ([::1]:44630 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8rw-0001M7-Ln for importer@patchew.org; Wed, 24 Jun 2020 13:07:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52048) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8Vf-0004IL-JU for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:27 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:23275 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VD-00058H-9u for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:27 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-40--7g_EpuhPTykAZJUnkWvAA-1; Wed, 24 Jun 2020 12:43:51 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9F78B108BD10; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6DE28891E8; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 4A36B1138489; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=O+ptEAkpNUOkRf8tvAkjLnW2zglOQ056ea63xd5HRvg=; b=cj4viWfWQbI2BMue3+QqkAedh7q0Q1H0n5Oir04bhVcUU4HLP6LbmHCXTKecRL5G2pVFyz 6WRelnracD7yxRLoL6TAr3ZV0wIX0Q2VEG1tFEZJuvVRkAUUn+B8W7qL+2kwlrLLQA6BWz rbx4KuxFqY+d3L0lSN4jONplRe9t2Ow= X-MC-Unique: -7g_EpuhPTykAZJUnkWvAA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 28/46] block/parallels: Simplify parallels_open() after previous commit Date: Wed, 24 Jun 2020 18:43:26 +0200 Message-Id: <20200624164344.3778251-29-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=armbru@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 00:34:35 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- block/parallels.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index 9e85ab995e..3c22dfdc9d 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -839,6 +839,7 @@ static int parallels_open(BlockDriverState *bs, QDict *= options, int flags, &local_err); g_free(buf); if (local_err !=3D NULL) { + error_propagate(errp, local_err); goto fail_options; } =20 @@ -868,15 +869,11 @@ static int parallels_open(BlockDriverState *bs, QDict= *options, int flags, =20 fail_format: error_setg(errp, "Image not in Parallels format"); +fail_options: ret =3D -EINVAL; fail: qemu_vfree(s->header); return ret; - -fail_options: - error_propagate(errp, local_err); - ret =3D -EINVAL; - goto fail; } =20 =20 --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018267; cv=none; d=zohomail.com; s=zohoarc; b=K4EZ3dpIAA+TtC7AHhn4wn9kUwfcoCDhwMVaTiA9W5k3QkkuK6Amb3LZjQCqtDSvjGMzAU54pxXK4yfV0xXU7ZC/8AdAepZ9kEQV7CcuyxSRorMOCrNRfrfz1O8kPQse051JqBkn66BkIPf84lkkPW/eFhH931NFdtNBcCjluz0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018267; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=swXcdoc9eRaX4Yp+R8VG5EV9jVN+Os9mXktWkr3z+Rk=; b=cUwE4XZsAIVnwIReUpvTuH2iwzT3nUWu083AhC8oSfle/0/UgNUx9TdMUtUjORlEC5uyX6o0wLBbJKShG37yPDsewd7798fXonSzWhP0ZDshwbnsQ7l+sgMY2yGQdV4YwFdDLY2gQ2v8EpTF9KjxnSqHShs6F8/rmMMBav/v5bs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 15930182679826.602150548121131; Wed, 24 Jun 2020 10:04:27 -0700 (PDT) Received: from localhost ([::1]:60916 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8p0-0004Rl-Li for importer@patchew.org; Wed, 24 Jun 2020 13:04:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52164) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8Vj-0004P0-6E for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:31 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:26277 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VD-00058e-KN for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:30 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-445-6u4Os1XwPlSU7zFIQRE70Q-1; Wed, 24 Jun 2020 12:43:52 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id DD32B10059A3; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id AB8407931F; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 4DC1A113848A; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=swXcdoc9eRaX4Yp+R8VG5EV9jVN+Os9mXktWkr3z+Rk=; b=ULUnykvsqu3L7mU+sDP/xesEIw6HzT2AxGBa/BQYS71cK69HDcwiJtcBKHda52eEpuuilL P+Yc4Qsor8XsmIrbtBmkmsAiZOrmhoSRU1HxkF/xDMSQynnQlLS6gj2A/EBQO4ahgrOZEY 300q82LnbSuv0pvDSGbJDNWGIdmcvsU= X-MC-Unique: 6u4Os1XwPlSU7zFIQRE70Q-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 29/46] acpi: Avoid unnecessary error_propagate() after error_setg() Date: Wed, 24 Jun 2020 18:43:27 +0200 Message-Id: <20200624164344.3778251-30-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 02:33:25 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The commit before previous enables another round of the transformation from recent commit "error: Avoid unnecessary error_propagate() after error_setg()". Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- hw/acpi/core.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/hw/acpi/core.c b/hw/acpi/core.c index 91ae66b806..f6d9ec4f13 100644 --- a/hw/acpi/core.c +++ b/hw/acpi/core.c @@ -239,7 +239,6 @@ static void acpi_table_install(const char unsigned *blo= b, size_t bloblen, void acpi_table_add(const QemuOpts *opts, Error **errp) { AcpiTableOptions *hdrs =3D NULL; - Error *err =3D NULL; char **pathnames =3D NULL; char **cur; size_t bloblen =3D 0; @@ -257,13 +256,13 @@ void acpi_table_add(const QemuOpts *opts, Error **err= p) goto out; } if (hdrs->has_file =3D=3D hdrs->has_data) { - error_setg(&err, "'-acpitable' requires one of 'data' or 'file'"); + error_setg(errp, "'-acpitable' requires one of 'data' or 'file'"); goto out; } =20 pathnames =3D g_strsplit(hdrs->has_file ? hdrs->file : hdrs->data, ":"= , 0); if (pathnames =3D=3D NULL || pathnames[0] =3D=3D NULL) { - error_setg(&err, "'-acpitable' requires at least one pathname"); + error_setg(errp, "'-acpitable' requires at least one pathname"); goto out; } =20 @@ -272,7 +271,7 @@ void acpi_table_add(const QemuOpts *opts, Error **errp) int fd =3D open(*cur, O_RDONLY | O_BINARY); =20 if (fd < 0) { - error_setg(&err, "can't open file %s: %s", *cur, strerror(errn= o)); + error_setg(errp, "can't open file %s: %s", *cur, strerror(errn= o)); goto out; } =20 @@ -288,8 +287,8 @@ void acpi_table_add(const QemuOpts *opts, Error **errp) memcpy(blob + bloblen, data, r); bloblen +=3D r; } else if (errno !=3D EINTR) { - error_setg(&err, "can't read file %s: %s", - *cur, strerror(errno)); + error_setg(errp, "can't read file %s: %s", *cur, + strerror(errno)); close(fd); goto out; } @@ -298,14 +297,12 @@ void acpi_table_add(const QemuOpts *opts, Error **err= p) close(fd); } =20 - acpi_table_install(blob, bloblen, hdrs->has_file, hdrs, &err); + acpi_table_install(blob, bloblen, hdrs->has_file, hdrs, errp); =20 out: g_free(blob); g_strfreev(pathnames); qapi_free_AcpiTableOptions(hdrs); - - error_propagate(errp, err); } =20 unsigned acpi_table_len(void *current) --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017755; cv=none; d=zohomail.com; s=zohoarc; b=VATdUpRGQxs+tnehKQDJbJnV2AQ9zzBBk2LUYBR2gMEcuS03bLQpRwbQSdeoxzgBYQ/2tA1fTTb5g/FfKkXnBSqNMtA6fNHScOobueYkR8dqzuQJQRQBjSKfUPZ+vkGcKOanrTyAor/zttXGaDkCtvLeRELmyeXjKfkK5le9+hM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017755; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FPq2iv74dsQvgHFb01XzjeadwCrO+anYdxmLICI4q2c=; b=XjU6gTdaHw98dqBRMlLtgOff8aa3pj/FhjhlOCcZY1LHJJEME8vRHv8dP9JfCIbzhTNUcrNRphH5lI29zoznECO/SYTdwQcGXYObfm7zjdcvyPjPuxR1KmnmGfR9saLtc97R5KVWfXJQ7s+pI2s7BCtrGiqtLtGjfd+8HGraUes= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017755753169.27786726819102; Wed, 24 Jun 2020 09:55:55 -0700 (PDT) Received: from localhost ([::1]:58502 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8gk-00077N-8U for importer@patchew.org; Wed, 24 Jun 2020 12:55:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51712) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VP-0003c7-DL for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:11 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:34036 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VB-00056M-Fk for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:11 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-295-UbMIj7PNPTaFFiR9Ed4m7A-1; Wed, 24 Jun 2020 12:43:52 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id E39F4804006; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B0FD55D9C5; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 5136D113848B; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FPq2iv74dsQvgHFb01XzjeadwCrO+anYdxmLICI4q2c=; b=i/kuv/EO+7RKgKHgUtFHifV4Mt2R2MFlcvJKQ86SDQBhVE+ZjmVOm5g8ZgFLjiNIvUm/qN PZ8zq4Ors4lPB6IqosD/Piz9BMoo0QLrCYlZufxPDztIt/p3oRb7DET6jPtyn5WeyDzXry DtyF7E68H2aS3TgDmjbw8IbztqfIfKk= X-MC-Unique: UbMIj7PNPTaFFiR9Ed4m7A-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 30/46] s390x/pci: Fix harmless mistake in zpci's property fid's setter Date: Wed, 24 Jun 2020 18:43:28 +0200 Message-Id: <20200624164344.3778251-31-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 01:59:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, Cornelia Huck , pbonzini@redhat.com, Matthew Rosato Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" s390_pci_set_fid() sets zpci->fid_defined to true even when visit_type_uint32() failed. Reproducer: "-device zpci,fid=3Djunk". Harmless in practice, because qdev_device_add() then fails, throwing away @zpci. Fix it anyway. Cc: Matthew Rosato Cc: Cornelia Huck Signed-off-by: Markus Armbruster Reviewed-by: Cornelia Huck Reviewed-by: Matthew Rosato --- hw/s390x/s390-pci-bus.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index be8535304e..2e0eab1c69 100644 --- a/hw/s390x/s390-pci-bus.c +++ b/hw/s390x/s390-pci-bus.c @@ -1265,7 +1265,9 @@ static void s390_pci_set_fid(Object *obj, Visitor *v,= const char *name, return; } =20 - visit_type_uint32(v, name, ptr, errp); + if (!visit_type_uint32(v, name, ptr, errp)) { + return; + } zpci->fid_defined =3D true; } =20 --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017427; cv=none; d=zohomail.com; s=zohoarc; b=lUD2+cxZkdQVw05D8iqABidT8tyf7w+E/xfN0d3/eEAf/5+/H+HvovFFYcvLBYGdEotRn7cvXc7LJoABQ/kPUPhAV5L6Edn4WhYGpMnxQkSqX9bJ0J08jqXN0lbYYqGdKO+ViIXNMdsROzeA/FOGr3a8pJuEQJu77c415XKaVNM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017427; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=P0AHVl1NXCoWOD9ba4irxaJ4QkaxyeIhpI2MHx+auEo=; b=FhmQnMgnPgEy5JGoyFwRrX1vtD4WnXGKar4YePiyN2SepBfucGTsQuNbwRIluMq/Gm3pMx1VXxlZTKK3U2Hcw9Kj2Ma2gPMfe8RwhKWMWDvJqWbUEzqGJmU+97B611iPnVy32ZxlegeQFm/0u2Xmz2fNkrQVJN/qt2jhje6SruU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017427571363.9669475182902; Wed, 24 Jun 2020 09:50:27 -0700 (PDT) Received: from localhost ([::1]:36364 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8bS-0005Vi-3E for importer@patchew.org; Wed, 24 Jun 2020 12:50:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51558) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VJ-0003JC-RO for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:05 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:33270 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8V9-00055U-M6 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:05 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-307-WiyeQZgGOO29BZW6JMsDJg-1; Wed, 24 Jun 2020 12:43:52 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id EBD8C18585A5; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B6C6B60F8A; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 54953113848C; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=P0AHVl1NXCoWOD9ba4irxaJ4QkaxyeIhpI2MHx+auEo=; b=jTBGDimJlDIrL9X4SjzUDLOe0SjxZe0Cr9kk7MuUcUMeaAVWey5ecGEBufnm55M7TvLu/P eQlFQK3OzoyVs3UAjfyFWRFiMdMYsUsR4uq+TtuBuS2/pebHbxNhX2r1nDXh1TqAD/h3RR eLRyJ6FZP7ssyhQD1q+w/Jpwoy3zuhc= X-MC-Unique: WiyeQZgGOO29BZW6JMsDJg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 31/46] qom: Use error_reportf_err() instead of g_printerr() in examples Date: Wed, 24 Jun 2020 18:43:29 +0200 Message-Id: <20200624164344.3778251-32-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 01:59:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- include/qom/object.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index 94a61ccc3f..b70edd8cd9 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -671,8 +671,7 @@ Object *object_new(const char *typename); * NULL); * * if (!obj) { - * g_printerr("Cannot create memory backend: %s\n", - * error_get_pretty(err)); + * error_reportf_err(err, "Cannot create memory backend: "); * } * * @@ -739,8 +738,7 @@ void object_apply_compat_props(Object *obj); * NULL); * * if (!obj) { - * g_printerr("Cannot set properties: %s\n", - * error_get_pretty(err)); + * error_reportf_err(err, "Cannot set properties: "); * } * * --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018596; cv=none; d=zohomail.com; s=zohoarc; b=VshLs9n5ex3gECCDB2cysr4FAS4Le0hO09qZrA8OhiNyYBcws0xcExs4eXyuA+PrNSKnJPbqd2MxTpCDAYRwFQil0RRkqboQXzkZDKEQrTSVB0f7t5chfKMh8EyH3CmNLQ3pluFG7Gb6nFhCMhaBDnlwHqybP8oshvgSprAY8ro= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018596; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=fyOrQXF65hyfyQ8tp79aXLLHb3DkZ3DgTCZOrqgfpI4=; b=WdKnn3b8MmH2PSqzeVPbT98iZs1gGU32qdraUt4U4oZUbFGmDdcapn7uyCWg3AakfBvj4SfM4HQFl1RB82iLvvmSQUDUJ38lPrJKUHGr39sSAS/HGw5R1B7nkPBnne2ez7TIe5xsRZGWKMKrIOKWXizlA4htZv0cQNWN+OjpQno= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018596634517.346271079497; Wed, 24 Jun 2020 10:09:56 -0700 (PDT) Received: from localhost ([::1]:54644 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8uI-0005Wp-8u for importer@patchew.org; Wed, 24 Jun 2020 13:09:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52200) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8Vk-0004Sv-OB for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:32 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:33645 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VD-000592-Ns for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:32 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-432-dV0d0y0gOgKyQ2Os3GyI9g-1; Wed, 24 Jun 2020 12:43:52 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id F036F18585A8; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BED22891E8; Wed, 24 Jun 2020 16:43:50 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 580EE113848D; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fyOrQXF65hyfyQ8tp79aXLLHb3DkZ3DgTCZOrqgfpI4=; b=hk1emvPE1Rl5Q2b0RSFdsE6pdIFP+QQsilhVgjzDUBG9ybaKsjeWBnRibvNxE8ST/kz4K/ 65P9DWblExKLzoLo6fCdAAo/bNWWxC6Ve9Qysc5xJRhZy0gOFwyX4W8L5oSkiQojzK/kgw KFYcgOCIpbvQoXlw2GWElW7vXgEdWSU= X-MC-Unique: dV0d0y0gOgKyQ2Os3GyI9g-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 32/46] qom: Rename qdev_get_type() to object_get_type() Date: Wed, 24 Jun 2020 18:43:30 +0200 Message-Id: <20200624164344.3778251-33-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 03:27:53 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Commit 2f262e06f0 lifted qdev_get_type() from qdev to object without renaming it accordingly. Do that now. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- qom/object.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qom/object.c b/qom/object.c index b8aac074c2..f6e9f0e413 100644 --- a/qom/object.c +++ b/qom/object.c @@ -2359,7 +2359,7 @@ object_class_property_add_tm(ObjectClass *klass, cons= t char *name, NULL, NULL, prop); } =20 -static char *qdev_get_type(Object *obj, Error **errp) +static char *object_get_type(Object *obj, Error **errp) { return g_strdup(object_get_typename(obj)); } @@ -2702,7 +2702,7 @@ void object_class_property_set_description(ObjectClas= s *klass, =20 static void object_class_init(ObjectClass *klass, void *data) { - object_class_property_add_str(klass, "type", qdev_get_type, + object_class_property_add_str(klass, "type", object_get_type, NULL); } =20 --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017707; cv=none; d=zohomail.com; s=zohoarc; b=jZUl62FFRqQYU36LRxbyqcrMR/OrTPXDUqLdIUU/4Ol2O5YIXqfvmDctbgCTHUhITBGcbl7U8GEBcHAYcT4gUruNCEP86LbqghZCkrnq4TLgbUBq/bgy2u5nDd11teeO4YZresthgnwh7Xy1r5yYMECQLCmEZsCA9ePf1k3pNo8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017707; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=llJpMUzvWW20uociDU4J65diVE7S1pkbg91SWigNGH0=; b=mYUhExhrOyT0hEhTkAA4L6KjItAbaldS4Gv9oJxkG2XHOxyxG+wFifAi9tSR2z1RgsUW8XcrrBTQGR379IzgUvycu10Gdvw+ZZmL/v4JFBoVpETDAKVyXNlwVMb6XjwMvaxcKlDkxrsJAkYbv4EoOZmOrbufVmjqzHJPlaBXDYw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017707705464.10431893704936; Wed, 24 Jun 2020 09:55:07 -0700 (PDT) Received: from localhost ([::1]:54226 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8fy-0005KV-DN for importer@patchew.org; Wed, 24 Jun 2020 12:55:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51670) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VN-0003WK-Lp for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:09 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:52490 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VB-00056O-7J for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:09 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-31-23J10o4jPI2Q5aoCPfY7qg-1; Wed, 24 Jun 2020 12:43:53 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 080B318585A6; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A3D597A01A; Wed, 24 Jun 2020 16:43:51 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 5B943113848E; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=llJpMUzvWW20uociDU4J65diVE7S1pkbg91SWigNGH0=; b=TP621wNxwxHb9NMox+AqgFo/tfGGFEF6NEuuM+vyLgU0Az1dJeyOm7soX/TBbKLrPv+uw8 AMtqOrUcq32hjVx+49MNc9fWDFlHVqTyHY1oRYfF5d3czHrGLZrCdUGGSpqiGn3iUE9vd8 OnNc7hDoKiUll9R5y7uQv01SCP2O08k= X-MC-Unique: 23J10o4jPI2Q5aoCPfY7qg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 33/46] qom: Crash more nicely on object_property_get_link() failure Date: Wed, 24 Jun 2020 18:43:31 +0200 Message-Id: <20200624164344.3778251-34-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=armbru@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 02:33:25 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Pass &error_abort instead of NULL where the returned value is dereferenced or asserted to be non-null. Signed-off-by: Markus Armbruster --- hw/core/platform-bus.c | 5 +++-- hw/ppc/spapr_drc.c | 3 ++- hw/ppc/spapr_hcall.c | 3 ++- hw/ppc/spapr_pci_nvlink2.c | 8 +++++--- ui/vnc.c | 2 +- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/hw/core/platform-bus.c b/hw/core/platform-bus.c index d494e5cec1..b700ff45fe 100644 --- a/hw/core/platform-bus.c +++ b/hw/core/platform-bus.c @@ -22,6 +22,7 @@ #include "qemu/osdep.h" #include "hw/platform-bus.h" #include "hw/qdev-properties.h" +#include "qapi/error.h" #include "qemu/error-report.h" #include "qemu/module.h" =20 @@ -63,8 +64,8 @@ hwaddr platform_bus_get_mmio_addr(PlatformBusDevice *pbus= , SysBusDevice *sbdev, return -1; } =20 - parent_mr =3D object_property_get_link(OBJECT(sbdev_mr), "container", = NULL); - + parent_mr =3D object_property_get_link(OBJECT(sbdev_mr), "container", + &error_abort); assert(parent_mr); if (parent_mr !=3D pbus_mr_obj) { /* MMIO region is not mapped on platform bus */ diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c index c8e8ba2ee8..43d12bc33a 100644 --- a/hw/ppc/spapr_drc.c +++ b/hw/ppc/spapr_drc.c @@ -867,7 +867,8 @@ int spapr_dt_drc(void *fdt, int offset, Object *owner, = uint32_t drc_type_mask) continue; } =20 - obj =3D object_property_get_link(root_container, prop->name, NULL); + obj =3D object_property_get_link(root_container, prop->name, + &error_abort); drc =3D SPAPR_DR_CONNECTOR(obj); drck =3D SPAPR_DR_CONNECTOR_GET_CLASS(drc); =20 diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c index 0f54988f2e..c1d01228c6 100644 --- a/hw/ppc/spapr_hcall.c +++ b/hw/ppc/spapr_hcall.c @@ -1655,7 +1655,8 @@ static void spapr_handle_transient_dev_before_cas(Spa= prMachineState *spapr) continue; } drc =3D SPAPR_DR_CONNECTOR(object_property_get_link(drc_container, - prop->name, NULL= )); + prop->name, + &error_abort)); =20 if (spapr_drc_transient(drc)) { spapr_drc_reset(drc); diff --git a/hw/ppc/spapr_pci_nvlink2.c b/hw/ppc/spapr_pci_nvlink2.c index 8332d5694e..e4e09a93e6 100644 --- a/hw/ppc/spapr_pci_nvlink2.c +++ b/hw/ppc/spapr_pci_nvlink2.c @@ -141,9 +141,10 @@ static void spapr_phb_pci_collect_nvgpu(PCIBus *bus, P= CIDevice *pdev, if (tgt) { Error *local_err =3D NULL; SpaprPhbPciNvGpuConfig *nvgpus =3D opaque; - Object *mr_gpu =3D object_property_get_link(po, "nvlink2-mr[0]", N= ULL); + Object *mr_gpu =3D object_property_get_link(po, "nvlink2-mr[0]", + &error_abort); Object *mr_npu =3D object_property_get_link(po, "nvlink2-atsd-mr[0= ]", - NULL); + &error_abort); =20 g_assert(mr_gpu || mr_npu); if (mr_gpu) { @@ -358,7 +359,8 @@ void spapr_phb_nvgpu_ram_populate_dt(SpaprPhbState *sph= b, void *fdt) for (i =3D 0; i < sphb->nvgpus->num; ++i) { SpaprPhbPciNvGpuSlot *nvslot =3D &sphb->nvgpus->slots[i]; Object *nv_mrobj =3D object_property_get_link(OBJECT(nvslot->gpdev= ), - "nvlink2-mr[0]", NULL); + "nvlink2-mr[0]", + &error_abort); uint32_t associativity[] =3D { cpu_to_be32(0x4), SPAPR_GPU_NUMA_ID, diff --git a/ui/vnc.c b/ui/vnc.c index 527ad25124..f006aa1afd 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -568,7 +568,7 @@ VncInfo2List *qmp_query_vnc_servers(Error **errp) &info->vencrypt, &info->has_vencrypt); if (vd->dcl.con) { dev =3D DEVICE(object_property_get_link(OBJECT(vd->dcl.con), - "device", NULL)); + "device", &error_abort)); info->has_display =3D true; info->display =3D g_strdup(dev->id); } --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018076; cv=none; d=zohomail.com; s=zohoarc; b=k8GiY90g/WQk55lrRi3wa5tmPBLPW8yeyVznwAcH9B+TExIHOKalJB7ZyqI74sJ74dRZbZw7MmVabL+rv5zemg/l5Q7JhPs6eXnz9XydqHR2iZWASoyPuqRBgQUaCY3w8JYsap/Yns0TZAMHM7eMZimbXUDIIo3gFdXHsqv5fMc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018076; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=enTkFSOQASjvAyg+vQlaDie7X92R4sXChIaRoalejTk=; b=GLsuOFwWB3oJNjypBGxjj3ZhSuQnovKRlgozEHAibKbk6zST/KyhVwBvLMAKSHHP5x2leAoWpoKJ5fqZ95gklLqexf14owncsboV7SswZTPA+O6mURelx4VMR/JD86OMoaJ7CRx6of01QJlsG7TmQ6mIevlpfedRqGsH91BaRfc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018076662635.0333943862263; Wed, 24 Jun 2020 10:01:16 -0700 (PDT) Received: from localhost ([::1]:47968 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8lI-0006tM-A3 for importer@patchew.org; Wed, 24 Jun 2020 13:00:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52038) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8Vf-0004H0-6p for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:27 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:29438 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VD-00058m-6E for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:26 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-488-BCPW0Bu6M6OU5onFkBdGSA-1; Wed, 24 Jun 2020 12:43:53 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3EEF313E6; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id DA8E4891E8; Wed, 24 Jun 2020 16:43:51 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 5F648113848F; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=enTkFSOQASjvAyg+vQlaDie7X92R4sXChIaRoalejTk=; b=ORsTPLPWQjVuBD5x5SVWZbt6EVbXVk4EXz7Prpq3mMIBXJF89h1M2wI/JGraJKyO3FRn41 zOhyEvZqdUEHpKiS9hP1J2xcKTREMuu5Omyuqdhb7S7NJHfNxeJaj+0QB6wfYbRRKUAqmp JZf9sV00V0vQoIIdBFiw02su5bgxSxI= X-MC-Unique: BCPW0Bu6M6OU5onFkBdGSA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 34/46] qom: Don't handle impossible object_property_get_link() failure Date: Wed, 24 Jun 2020 18:43:32 +0200 Message-Id: <20200624164344.3778251-35-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 00:34:35 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Don't handle object_property_get_link() failure that can't happen unless the programmer screwed up, pass &error_abort. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/bcm2835_peripherals.c | 7 +------ hw/arm/bcm2836.c | 7 +------ hw/display/bcm2835_fb.c | 8 +------- hw/dma/bcm2835_dma.c | 9 +-------- hw/gpio/bcm2835_gpio.c | 15 ++------------- hw/intc/nios2_iic.c | 8 +------- hw/misc/bcm2835_mbox.c | 9 +-------- hw/misc/bcm2835_property.c | 17 ++--------------- hw/usb/hcd-dwc2.c | 9 +-------- 9 files changed, 11 insertions(+), 78 deletions(-) diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index 8313410ffe..3c40bda91e 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -134,12 +134,7 @@ static void bcm2835_peripherals_realize(DeviceState *d= ev, Error **errp) uint64_t ram_size, vcram_size; int n; =20 - obj =3D object_property_get_link(OBJECT(dev), "ram", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required ram link not found: %s", - __func__, error_get_pretty(err)); - return; - } + obj =3D object_property_get_link(OBJECT(dev), "ram", &error_abort); =20 ram =3D MEMORY_REGION(obj); ram_size =3D memory_region_size(ram); diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index 51d156f0c5..35281df8c3 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -77,12 +77,7 @@ static void bcm2836_realize(DeviceState *dev, Error **er= rp) =20 /* common peripherals from bcm2835 */ =20 - obj =3D object_property_get_link(OBJECT(dev), "ram", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required ram link not found: %s", - __func__, error_get_pretty(err)); - return; - } + obj =3D object_property_get_link(OBJECT(dev), "ram", &error_abort); =20 object_property_add_const_link(OBJECT(&s->peripherals), "ram", obj); =20 diff --git a/hw/display/bcm2835_fb.c b/hw/display/bcm2835_fb.c index c6263808a2..c4bfed2740 100644 --- a/hw/display/bcm2835_fb.c +++ b/hw/display/bcm2835_fb.c @@ -401,7 +401,6 @@ static void bcm2835_fb_reset(DeviceState *dev) static void bcm2835_fb_realize(DeviceState *dev, Error **errp) { BCM2835FBState *s =3D BCM2835_FB(dev); - Error *err =3D NULL; Object *obj; =20 if (s->vcram_base =3D=3D 0) { @@ -409,12 +408,7 @@ static void bcm2835_fb_realize(DeviceState *dev, Error= **errp) return; } =20 - obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required dma-mr link not found: %s", - __func__, error_get_pretty(err)); - return; - } + obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &error_abort); =20 /* Fill in the parts of initial_config that are not set by QOM propert= ies */ s->initial_config.xres_virtual =3D s->initial_config.xres; diff --git a/hw/dma/bcm2835_dma.c b/hw/dma/bcm2835_dma.c index 4cd9dab745..eb0002a2b9 100644 --- a/hw/dma/bcm2835_dma.c +++ b/hw/dma/bcm2835_dma.c @@ -376,16 +376,9 @@ static void bcm2835_dma_reset(DeviceState *dev) static void bcm2835_dma_realize(DeviceState *dev, Error **errp) { BCM2835DMAState *s =3D BCM2835_DMA(dev); - Error *err =3D NULL; Object *obj; =20 - obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required dma-mr link not found: %s", - __func__, error_get_pretty(err)); - return; - } - + obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &error_abort); s->dma_mr =3D MEMORY_REGION(obj); address_space_init(&s->dma_as, s->dma_mr, TYPE_BCM2835_DMA "-memory"); =20 diff --git a/hw/gpio/bcm2835_gpio.c b/hw/gpio/bcm2835_gpio.c index 91ce3d10cc..abdddbc67c 100644 --- a/hw/gpio/bcm2835_gpio.c +++ b/hw/gpio/bcm2835_gpio.c @@ -312,22 +312,11 @@ static void bcm2835_gpio_realize(DeviceState *dev, Er= ror **errp) { BCM2835GpioState *s =3D BCM2835_GPIO(dev); Object *obj; - Error *err =3D NULL; =20 - obj =3D object_property_get_link(OBJECT(dev), "sdbus-sdhci", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required sdhci link not found: %s", - __func__, error_get_pretty(err)); - return; - } + obj =3D object_property_get_link(OBJECT(dev), "sdbus-sdhci", &error_ab= ort); s->sdbus_sdhci =3D SD_BUS(obj); =20 - obj =3D object_property_get_link(OBJECT(dev), "sdbus-sdhost", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required sdhost link not found: %s", - __func__, error_get_pretty(err)); - return; - } + obj =3D object_property_get_link(OBJECT(dev), "sdbus-sdhost", &error_a= bort); s->sdbus_sdhost =3D SD_BUS(obj); } =20 diff --git a/hw/intc/nios2_iic.c b/hw/intc/nios2_iic.c index 3a5d86c2a4..1a5df8c89a 100644 --- a/hw/intc/nios2_iic.c +++ b/hw/intc/nios2_iic.c @@ -66,14 +66,8 @@ static void altera_iic_init(Object *obj) static void altera_iic_realize(DeviceState *dev, Error **errp) { struct AlteraIIC *pv =3D ALTERA_IIC(dev); - Error *err =3D NULL; =20 - pv->cpu =3D object_property_get_link(OBJECT(dev), "cpu", &err); - if (!pv->cpu) { - error_setg(errp, "altera,iic: CPU link not found: %s", - error_get_pretty(err)); - return; - } + pv->cpu =3D object_property_get_link(OBJECT(dev), "cpu", &error_abort); } =20 static void altera_iic_class_init(ObjectClass *klass, void *data) diff --git a/hw/misc/bcm2835_mbox.c b/hw/misc/bcm2835_mbox.c index 2afa06a746..9f73cbd5e4 100644 --- a/hw/misc/bcm2835_mbox.c +++ b/hw/misc/bcm2835_mbox.c @@ -308,15 +308,8 @@ static void bcm2835_mbox_realize(DeviceState *dev, Err= or **errp) { BCM2835MboxState *s =3D BCM2835_MBOX(dev); Object *obj; - Error *err =3D NULL; - - obj =3D object_property_get_link(OBJECT(dev), "mbox-mr", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required mbox-mr link not found: %s", - __func__, error_get_pretty(err)); - return; - } =20 + obj =3D object_property_get_link(OBJECT(dev), "mbox-mr", &error_abort); s->mbox_mr =3D MEMORY_REGION(obj); address_space_init(&s->mbox_as, s->mbox_mr, TYPE_BCM2835_MBOX "-memory= "); bcm2835_mbox_reset(dev); diff --git a/hw/misc/bcm2835_property.c b/hw/misc/bcm2835_property.c index 3e228ca0ae..73941bdae9 100644 --- a/hw/misc/bcm2835_property.c +++ b/hw/misc/bcm2835_property.c @@ -392,24 +392,11 @@ static void bcm2835_property_realize(DeviceState *dev= , Error **errp) { BCM2835PropertyState *s =3D BCM2835_PROPERTY(dev); Object *obj; - Error *err =3D NULL; - - obj =3D object_property_get_link(OBJECT(dev), "fb", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required fb link not found: %s", - __func__, error_get_pretty(err)); - return; - } =20 + obj =3D object_property_get_link(OBJECT(dev), "fb", &error_abort); s->fbdev =3D BCM2835_FB(obj); =20 - obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required dma-mr link not found: %s", - __func__, error_get_pretty(err)); - return; - } - + obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &error_abort); s->dma_mr =3D MEMORY_REGION(obj); address_space_init(&s->dma_as, s->dma_mr, TYPE_BCM2835_PROPERTY "-memo= ry"); =20 diff --git a/hw/usb/hcd-dwc2.c b/hw/usb/hcd-dwc2.c index 72cbd051f3..56f91f6bee 100644 --- a/hw/usb/hcd-dwc2.c +++ b/hw/usb/hcd-dwc2.c @@ -1274,15 +1274,8 @@ static void dwc2_realize(DeviceState *dev, Error **e= rrp) SysBusDevice *sbd =3D SYS_BUS_DEVICE(dev); DWC2State *s =3D DWC2_USB(dev); Object *obj; - Error *err =3D NULL; =20 - obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &err); - if (err) { - error_setg(errp, "dwc2: required dma-mr link not found: %s", - error_get_pretty(err)); - return; - } - assert(obj !=3D NULL); + obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &error_abort); =20 s->dma_mr =3D MEMORY_REGION(obj); address_space_init(&s->dma_as, s->dma_mr, "dwc2"); --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017733; cv=none; d=zohomail.com; s=zohoarc; b=NXf0G2wz/JHTs7SrdsUeO83XfNZqAXfI0l5h7ncS/Q6G0x490waVZi3iNj9Cz8OsGxOt1WiQoPydLKJUv8aOibAyLxp895YFbXKW9KmAc+wwiQ8aHCG4OsMhEPyXDtBvshipD4bFqPDyquURk8YSko6CoTTH6zY0mojglATBPfc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017733; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zH34zgMpegMl42K06K+C/gWszx2iMgiSY6U+axlkSV0=; b=TmA4XWg9uBoBRUEyKb8fmrCvA3sSBVB6N3VRjsEqoxOBiuA9XTpc/JAc/ncfDleGpLQWFZQi3/6uuqHGraHvM9IAWgDerKxjnKRM5+xE7lXDBWALTT2UHGZN1XafMHq3CkM5cY/xWEutZUssjpzA2TSBKBLchBrBvAFDU+uQRwg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017733302786.0175293740738; Wed, 24 Jun 2020 09:55:33 -0700 (PDT) Received: from localhost ([::1]:56460 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8gN-0006Ds-VT for importer@patchew.org; Wed, 24 Jun 2020 12:55:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51664) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VN-0003W1-IN for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:09 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:22882 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VB-00056E-6R for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:09 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-250-U9FnKZ_wP1GzXtALRcfqIA-1; Wed, 24 Jun 2020 12:43:53 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 16D94804003; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D906F7CADB; Wed, 24 Jun 2020 16:43:51 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 62CE11138490; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zH34zgMpegMl42K06K+C/gWszx2iMgiSY6U+axlkSV0=; b=I5oF3ZgLURMqDrrpCG5ZGlpMBCQR59oiiSnidaKt+dLgamN0MFINxL1C0RmaLUBnFs3T1c d5/ratpEQjktTcV/d4/Q7wDAnDftU4tsonTpX7dsN87OBs/fKH9dvrLCp5IqbICcIOtdaH r4i7eizAqH8lTxevwEQmKYquYdCYupo= X-MC-Unique: U9FnKZ_wP1GzXtALRcfqIA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 35/46] qom: Use return values to check for error where that's simpler Date: Wed, 24 Jun 2020 18:43:33 +0200 Message-Id: <20200624164344.3778251-36-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 03:27:53 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" When using the Error object to check for error, we need to receive it into a local variable, then propagate() it to @errp. Using the return value permits allows receiving it straight to @errp. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- qom/object.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/qom/object.c b/qom/object.c index f6e9f0e413..326a8de91e 100644 --- a/qom/object.c +++ b/qom/object.c @@ -549,8 +549,7 @@ void object_initialize_child_with_propsv(Object *parent= obj, object_initialize(childobj, size, type); obj =3D OBJECT(childobj); =20 - object_set_propv(obj, &local_err, vargs); - if (local_err) { + if (object_set_propv(obj, errp, vargs) < 0) { goto out; } =20 @@ -743,7 +742,7 @@ Object *object_new_with_propv(const char *typename, } obj =3D object_new_with_type(klass->type); =20 - if (object_set_propv(obj, &local_err, vargs) < 0) { + if (object_set_propv(obj, errp, vargs) < 0) { goto error; } =20 @@ -1771,12 +1770,11 @@ static void object_set_link_property(Object *obj, V= isitor *v, } =20 if (strcmp(path, "") !=3D 0) { - new_target =3D object_resolve_link(obj, name, path, &local_err); + new_target =3D object_resolve_link(obj, name, path, errp); } =20 g_free(path); - if (local_err) { - error_propagate(errp, local_err); + if (!new_target) { return; } =20 --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018792; cv=none; d=zohomail.com; s=zohoarc; b=Zk3asQJ0o85C9GiNMcyAp/1nyr8vDG0T1ZWU+dVzNsxowK+fgibaUERFGMVcY7MT3RTsUoz/MBrOtTgZCCvyQEmy1E5B5i7Roit8dVhOR5Uvr/45Jxw5lcBMcTadV8vXgxTlSZnW38QUJhpFWC4SC30Pv4QcCVf1ceUFvJQAlcU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018792; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ovE80AwoQ4sHfhPMaYjAWVKsKA714elap0TsoQRqriU=; b=kpM7xNgd/cHVrh3lQFaNEt4QB07rqTrIG19Akv5NPPhKpgTAjtAyV2b7P4uZEarzog58HmI4aEitKHvcLCEZnyEipPAaepoa3mD4YaV5cBWLoPCAASAWPGUf87UlZBtekZeVFXLdT32UzMctgVjM15lXMStZ4z1r0JysWov7isM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018792384119.70267003076401; Wed, 24 Jun 2020 10:13:12 -0700 (PDT) Received: from localhost ([::1]:39700 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8xS-00044B-Qk for importer@patchew.org; Wed, 24 Jun 2020 13:13:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52352) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8Vr-0004la-VI for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:40 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:50072 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VH-0005B1-1G for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:39 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-263-0dUfTB61NFCGONRNl0V_iw-1; Wed, 24 Jun 2020 12:43:54 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id F1CF880400B; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E55685C6BD; Wed, 24 Jun 2020 16:43:51 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 6B2061138491; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ovE80AwoQ4sHfhPMaYjAWVKsKA714elap0TsoQRqriU=; b=EHDHariRAvl8dajjLAPFF+tsT5Mfa1c3x7p/UylNyATXbOkw891ayn8lV6KXmN7FYmkeLQ g2WEw0sxFzPlcHPPNzyQ0JXqKQsnqzKpyVxPFxBFvhDS9o/jsYAfUvc4YWMQZsCRE5v9IG 2KcxszbSZXlzOFrMNrTGIrZbGEZXOys= X-MC-Unique: 0dUfTB61NFCGONRNl0V_iw-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 36/46] qom: Put name parameter before value / visitor parameter Date: Wed, 24 Jun 2020 18:43:34 +0200 Message-Id: <20200624164344.3778251-37-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 01:59:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The object_property_set_FOO() setters take property name and value in an unusual order: void object_property_set_FOO(Object *obj, FOO_TYPE value, const char *name, Error **errp) Having to pass value before name feels grating. Swap them. Same for object_property_set(), object_property_get(), and object_property_parse(). Convert callers with this Coccinelle script: @@ identifier fun =3D {object_property_get, object_property_parse, object_= property_set_str, object_property_set_link, object_property_set_bool, objec= t_property_set_int, object_property_set_uint, object_property_set, object_p= roperty_set_qobject}; expression obj, v, name, errp; @@ - fun(obj, v, name, errp) + fun(obj, name, v, errp) Chokes on hw/arm/musicpal.c's lcd_refresh() with the unhelpful error message "no position information". Convert that one manually. Fails to convert hw/arm/armsse.c, because Coccinelle gets confused by ARMSSE being used both as typedef and function-like macro there. Convert manually. Fails to convert hw/rx/rx-gdbsim.c, because Coccinelle gets confused by RXCPU being used both as typedef and function-like macro there. Convert manually. Convert that one manually. The other files using RXCPU that way don't need conversion. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- include/hw/audio/pcspk.h | 2 +- include/qom/object.h | 45 ++++----- include/qom/qom-qobject.h | 7 +- backends/cryptodev.c | 2 +- backends/rng.c | 2 +- bootdevice.c | 2 +- crypto/secret.c | 2 +- crypto/secret_keyring.c | 2 +- crypto/tlscredsanon.c | 2 +- crypto/tlscredspsk.c | 2 +- crypto/tlscredsx509.c | 2 +- hw/acpi/cpu_hotplug.c | 4 +- hw/acpi/ich9.c | 2 +- hw/acpi/piix4.c | 2 +- hw/arm/allwinner-a10.c | 6 +- hw/arm/armsse.c | 76 +++++++-------- hw/arm/armv7m.c | 24 +++-- hw/arm/aspeed.c | 24 ++--- hw/arm/aspeed_ast2600.c | 54 +++++------ hw/arm/aspeed_soc.c | 23 +++-- hw/arm/bcm2835_peripherals.c | 12 +-- hw/arm/bcm2836.c | 9 +- hw/arm/cubieboard.c | 6 +- hw/arm/digic.c | 2 +- hw/arm/exynos4210.c | 13 +-- hw/arm/fsl-imx25.c | 14 ++- hw/arm/fsl-imx31.c | 2 +- hw/arm/fsl-imx6.c | 37 ++++--- hw/arm/fsl-imx6ul.c | 24 +++-- hw/arm/fsl-imx7.c | 31 +++--- hw/arm/highbank.c | 12 +-- hw/arm/integratorcp.c | 2 +- hw/arm/microbit.c | 4 +- hw/arm/mps2-tz.c | 31 +++--- hw/arm/mps2.c | 10 +- hw/arm/msf2-soc.c | 8 +- hw/arm/musca.c | 18 ++-- hw/arm/musicpal.c | 4 +- hw/arm/nrf51_soc.c | 6 +- hw/arm/orangepi.c | 13 ++- hw/arm/raspi.c | 2 +- hw/arm/realview.c | 6 +- hw/arm/sbsa-ref.c | 16 +-- hw/arm/stellaris.c | 4 +- hw/arm/stm32f205_soc.c | 8 +- hw/arm/stm32f405_soc.c | 8 +- hw/arm/versatilepb.c | 4 +- hw/arm/vexpress.c | 8 +- hw/arm/virt.c | 35 +++---- hw/arm/xilinx_zynq.c | 6 +- hw/arm/xlnx-versal-virt.c | 8 +- hw/arm/xlnx-versal.c | 30 +++--- hw/arm/xlnx-zcu102.c | 8 +- hw/arm/xlnx-zynqmp.c | 46 ++++----- hw/block/xen-block.c | 9 +- hw/core/bus.c | 8 +- hw/core/numa.c | 4 +- hw/core/qdev-properties-system.c | 10 +- hw/core/qdev-properties.c | 20 ++-- hw/core/qdev.c | 8 +- hw/display/virtio-gpu-pci.c | 5 +- hw/display/virtio-vga.c | 5 +- hw/dma/sparc32_dma.c | 6 +- hw/dma/xilinx_axidma.c | 4 +- hw/i386/pc.c | 8 +- hw/i386/pc_piix.c | 4 +- hw/i386/pc_q35.c | 28 +++--- hw/i386/x86.c | 2 +- hw/ide/qdev.c | 2 +- hw/intc/pnv_xive.c | 9 +- hw/intc/spapr_xive.c | 9 +- hw/intc/xics.c | 4 +- hw/intc/xive.c | 4 +- hw/m68k/q800.c | 4 +- hw/mem/pc-dimm.c | 4 +- hw/microblaze/petalogix_ml605_mmu.c | 24 ++--- hw/microblaze/petalogix_s3adsp1800_mmu.c | 2 +- hw/microblaze/xlnx-zynqmp-pmu.c | 30 +++--- hw/mips/boston.c | 4 +- hw/mips/cps.c | 24 ++--- hw/mips/jazz.c | 4 +- hw/mips/malta.c | 4 +- hw/misc/iotkit-sysctl.c | 2 +- hw/misc/macio/macio.c | 6 +- hw/net/ne2000-isa.c | 2 +- hw/net/xilinx_axienet.c | 4 +- hw/pci-host/pnv_phb3.c | 20 ++-- hw/pci-host/pnv_phb4.c | 4 +- hw/pci-host/pnv_phb4_pec.c | 4 +- hw/pci-host/prep.c | 4 +- hw/ppc/mac_newworld.c | 10 +- hw/ppc/mac_oldworld.c | 4 +- hw/ppc/pnv.c | 118 +++++++++++------------ hw/ppc/pnv_psi.c | 9 +- hw/ppc/spapr.c | 4 +- hw/ppc/spapr_irq.c | 6 +- hw/ppc/spapr_pci.c | 2 +- hw/riscv/opentitan.c | 4 +- hw/riscv/sifive_e.c | 4 +- hw/riscv/sifive_u.c | 6 +- hw/riscv/spike.c | 4 +- hw/riscv/virt.c | 4 +- hw/rx/rx-gdbsim.c | 12 +-- hw/s390x/ipl.c | 4 +- hw/s390x/s390-pci-bus.c | 2 +- hw/s390x/s390-skeys.c | 2 +- hw/s390x/s390-stattrib.c | 2 +- hw/s390x/s390-virtio-ccw.c | 6 +- hw/s390x/virtio-ccw-crypto.c | 5 +- hw/s390x/virtio-ccw-rng.c | 3 +- hw/scsi/scsi-bus.c | 4 +- hw/sd/aspeed_sdhci.c | 6 +- hw/sd/ssi-sd.c | 2 +- hw/sparc/sun4m.c | 2 +- hw/sparc64/sun4u.c | 2 +- hw/usb/dev-storage.c | 4 +- hw/virtio/virtio-crypto-pci.c | 5 +- hw/virtio/virtio-iommu-pci.c | 4 +- hw/virtio/virtio-pmem-pci.c | 2 +- hw/virtio/virtio-rng-pci.c | 3 +- hw/virtio/virtio-rng.c | 4 +- linux-user/syscall.c | 2 +- net/filter.c | 2 +- net/net.c | 2 +- qdev-monitor.c | 2 +- qom/object.c | 53 +++++----- qom/object_interfaces.c | 2 +- qom/qom-hmp-cmds.c | 2 +- qom/qom-qmp-cmds.c | 2 +- qom/qom-qobject.c | 9 +- softmmu/vl.c | 12 +-- target/arm/monitor.c | 2 +- target/i386/cpu.c | 57 ++++++----- target/ppc/translate_init.inc.c | 2 +- target/s390x/cpu_models.c | 2 +- ui/console.c | 4 +- 136 files changed, 702 insertions(+), 729 deletions(-) diff --git a/include/hw/audio/pcspk.h b/include/hw/audio/pcspk.h index 7e7f5f49dc..6386491288 100644 --- a/include/hw/audio/pcspk.h +++ b/include/hw/audio/pcspk.h @@ -39,7 +39,7 @@ static inline ISADevice *pcspk_init(ISABus *bus, ISADevic= e *pit) isadev =3D isa_new(TYPE_PC_SPEAKER); dev =3D DEVICE(isadev); qdev_prop_set_uint32(dev, "iobase", 0x61); - object_property_set_link(OBJECT(dev), OBJECT(pit), "pit", NULL); + object_property_set_link(OBJECT(dev), "pit", OBJECT(pit), NULL); isa_realize_and_unref(isadev, bus, &error_fatal); =20 return isadev; diff --git a/include/qom/object.h b/include/qom/object.h index b70edd8cd9..7ef9c8d0cc 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -1191,26 +1191,27 @@ void object_unparent(Object *obj); /** * object_property_get: * @obj: the object + * @name: the name of the property * @v: the visitor that will receive the property value. This should be an * Output visitor and the data will be written with @name as the name. - * @name: the name of the property * @errp: returns an error if this function fails * * Reads a property from a object. */ -void object_property_get(Object *obj, Visitor *v, const char *name, +void object_property_get(Object *obj, const char *name, Visitor *v, Error **errp); =20 /** * object_property_set_str: - * @value: the value to be written to the property * @name: the name of the property + * @value: the value to be written to the property * @errp: returns an error if this function fails * * Writes a string value to a property. */ -void object_property_set_str(Object *obj, const char *value, - const char *name, Error **errp); +void object_property_set_str(Object *obj, + const char *name, const char *value, + Error **errp); =20 /** * object_property_get_str: @@ -1227,8 +1228,8 @@ char *object_property_get_str(Object *obj, const char= *name, =20 /** * object_property_set_link: - * @value: the value to be written to the property * @name: the name of the property + * @value: the value to be written to the property * @errp: returns an error if this function fails * * Writes an object's canonical path to a property. @@ -1238,8 +1239,8 @@ char *object_property_get_str(Object *obj, const char= *name, * unreferenced, and a reference is added to the new target object. * */ -void object_property_set_link(Object *obj, Object *value, - const char *name, Error **errp); +void object_property_set_link(Object *obj, const char *name, Object *value, + Error **errp); =20 /** * object_property_get_link: @@ -1256,14 +1257,14 @@ Object *object_property_get_link(Object *obj, const= char *name, =20 /** * object_property_set_bool: - * @value: the value to be written to the property * @name: the name of the property + * @value: the value to be written to the property * @errp: returns an error if this function fails * * Writes a bool value to a property. */ -void object_property_set_bool(Object *obj, bool value, - const char *name, Error **errp); +void object_property_set_bool(Object *obj, const char *name, bool value, + Error **errp); =20 /** * object_property_get_bool: @@ -1279,14 +1280,14 @@ bool object_property_get_bool(Object *obj, const ch= ar *name, =20 /** * object_property_set_int: - * @value: the value to be written to the property * @name: the name of the property + * @value: the value to be written to the property * @errp: returns an error if this function fails * * Writes an integer value to a property. */ -void object_property_set_int(Object *obj, int64_t value, - const char *name, Error **errp); +void object_property_set_int(Object *obj, const char *name, int64_t value, + Error **errp); =20 /** * object_property_get_int: @@ -1302,14 +1303,14 @@ int64_t object_property_get_int(Object *obj, const = char *name, =20 /** * object_property_set_uint: - * @value: the value to be written to the property * @name: the name of the property + * @value: the value to be written to the property * @errp: returns an error if this function fails * * Writes an unsigned integer value to a property. */ -void object_property_set_uint(Object *obj, uint64_t value, - const char *name, Error **errp); +void object_property_set_uint(Object *obj, const char *name, uint64_t valu= e, + Error **errp); =20 /** * object_property_get_uint: @@ -1340,28 +1341,28 @@ int object_property_get_enum(Object *obj, const cha= r *name, /** * object_property_set: * @obj: the object + * @name: the name of the property * @v: the visitor that will be used to write the property value. This sh= ould * be an Input visitor and the data will be first read with @name as the * name and then written as the property value. - * @name: the name of the property * @errp: returns an error if this function fails * * Writes a property to a object. */ -void object_property_set(Object *obj, Visitor *v, const char *name, +void object_property_set(Object *obj, const char *name, Visitor *v, Error **errp); =20 /** * object_property_parse: * @obj: the object - * @string: the string that will be used to parse the property value. * @name: the name of the property + * @string: the string that will be used to parse the property value. * @errp: returns an error if this function fails * * Parses a string and writes the result into a property of an object. */ -void object_property_parse(Object *obj, const char *string, - const char *name, Error **errp); +void object_property_parse(Object *obj, const char *name, + const char *string, Error **errp); =20 /** * object_property_print: diff --git a/include/qom/qom-qobject.h b/include/qom/qom-qobject.h index 82136e6e80..ad9a98dd62 100644 --- a/include/qom/qom-qobject.h +++ b/include/qom/qom-qobject.h @@ -28,13 +28,14 @@ struct QObject *object_property_get_qobject(Object *obj= , const char *name, /** * object_property_set_qobject: * @obj: the object - * @ret: The value that will be written to the property. * @name: the name of the property + * @value: The value that will be written to the property. * @errp: returns an error if this function fails * * Writes a property to a object. */ -void object_property_set_qobject(Object *obj, struct QObject *qobj, - const char *name, struct Error **errp); +void object_property_set_qobject(Object *obj, + const char *name, struct QObject *value, + struct Error **errp); =20 #endif diff --git a/backends/cryptodev.c b/backends/cryptodev.c index 17ee76a61e..ada4ebe78b 100644 --- a/backends/cryptodev.c +++ b/backends/cryptodev.c @@ -211,7 +211,7 @@ static void cryptodev_backend_instance_init(Object *obj) cryptodev_backend_set_queues, NULL, NULL); /* Initialize devices' queues property to 1 */ - object_property_set_int(obj, 1, "queues", NULL); + object_property_set_int(obj, "queues", 1, NULL); } =20 static void cryptodev_backend_finalize(Object *obj) diff --git a/backends/rng.c b/backends/rng.c index 597f0ec268..484f04e891 100644 --- a/backends/rng.c +++ b/backends/rng.c @@ -48,7 +48,7 @@ static bool rng_backend_prop_get_opened(Object *obj, Erro= r **errp) =20 static void rng_backend_complete(UserCreatable *uc, Error **errp) { - object_property_set_bool(OBJECT(uc), true, "opened", errp); + object_property_set_bool(OBJECT(uc), "opened", true, errp); } =20 static void rng_backend_prop_set_opened(Object *obj, bool value, Error **e= rrp) diff --git a/bootdevice.c b/bootdevice.c index 769f40c77d..8185402a5a 100644 --- a/bootdevice.c +++ b/bootdevice.c @@ -341,7 +341,7 @@ void device_add_bootindex_property(Object *obj, int32_t= *bootindex, prop); =20 /* initialize devices' bootindex property to -1 */ - object_property_set_int(obj, -1, name, NULL); + object_property_set_int(obj, name, -1, NULL); } =20 typedef struct FWLCHSEntry FWLCHSEntry; diff --git a/crypto/secret.c b/crypto/secret.c index 3447e2f64b..281cb81f0f 100644 --- a/crypto/secret.c +++ b/crypto/secret.c @@ -110,7 +110,7 @@ qcrypto_secret_prop_get_file(Object *obj, static void qcrypto_secret_complete(UserCreatable *uc, Error **errp) { - object_property_set_bool(OBJECT(uc), true, "loaded", errp); + object_property_set_bool(OBJECT(uc), "loaded", true, errp); } =20 =20 diff --git a/crypto/secret_keyring.c b/crypto/secret_keyring.c index 4f132d6370..8bfc58ebf4 100644 --- a/crypto/secret_keyring.c +++ b/crypto/secret_keyring.c @@ -105,7 +105,7 @@ qcrypto_secret_prop_get_key(Object *obj, Visitor *v, static void qcrypto_secret_keyring_complete(UserCreatable *uc, Error **errp) { - object_property_set_bool(OBJECT(uc), true, "loaded", errp); + object_property_set_bool(OBJECT(uc), "loaded", true, errp); } =20 =20 diff --git a/crypto/tlscredsanon.c b/crypto/tlscredsanon.c index fc078d5b97..30275b6847 100644 --- a/crypto/tlscredsanon.c +++ b/crypto/tlscredsanon.c @@ -165,7 +165,7 @@ qcrypto_tls_creds_anon_prop_get_loaded(Object *obj G_GN= UC_UNUSED, static void qcrypto_tls_creds_anon_complete(UserCreatable *uc, Error **errp) { - object_property_set_bool(OBJECT(uc), true, "loaded", errp); + object_property_set_bool(OBJECT(uc), "loaded", true, errp); } =20 =20 diff --git a/crypto/tlscredspsk.c b/crypto/tlscredspsk.c index f01b64d8bc..e26807b899 100644 --- a/crypto/tlscredspsk.c +++ b/crypto/tlscredspsk.c @@ -234,7 +234,7 @@ qcrypto_tls_creds_psk_prop_get_loaded(Object *obj G_GNU= C_UNUSED, static void qcrypto_tls_creds_psk_complete(UserCreatable *uc, Error **errp) { - object_property_set_bool(OBJECT(uc), true, "loaded", errp); + object_property_set_bool(OBJECT(uc), "loaded", true, errp); } =20 =20 diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c index e337d68c4f..dd7267ccdb 100644 --- a/crypto/tlscredsx509.c +++ b/crypto/tlscredsx509.c @@ -774,7 +774,7 @@ qcrypto_tls_creds_x509_prop_get_sanity(Object *obj, static void qcrypto_tls_creds_x509_complete(UserCreatable *uc, Error **errp) { - object_property_set_bool(OBJECT(uc), true, "loaded", errp); + object_property_set_bool(OBJECT(uc), "loaded", true, errp); } =20 =20 diff --git a/hw/acpi/cpu_hotplug.c b/hw/acpi/cpu_hotplug.c index 3e687d227a..53654f8638 100644 --- a/hw/acpi/cpu_hotplug.c +++ b/hw/acpi/cpu_hotplug.c @@ -41,7 +41,7 @@ static void cpu_status_write(void *opaque, hwaddr addr, u= int64_t data, */ if (addr =3D=3D 0 && data =3D=3D 0) { AcpiCpuHotplug *cpus =3D opaque; - object_property_set_bool(cpus->device, false, "cpu-hotplug-legacy", + object_property_set_bool(cpus->device, "cpu-hotplug-legacy", false, &error_abort); } } @@ -63,7 +63,7 @@ static void acpi_set_cpu_present_bit(AcpiCpuHotplug *g, C= PUState *cpu) =20 cpu_id =3D k->get_arch_id(cpu); if ((cpu_id / 8) >=3D ACPI_GPE_PROC_LEN) { - object_property_set_bool(g->device, false, "cpu-hotplug-legacy", + object_property_set_bool(g->device, "cpu-hotplug-legacy", false, &error_abort); return; } diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c index 2d204babc6..6a19070cec 100644 --- a/hw/acpi/ich9.c +++ b/hw/acpi/ich9.c @@ -201,7 +201,7 @@ static int vmstate_cpuhp_pre_load(void *opaque) { ICH9LPCPMRegs *s =3D opaque; Object *obj =3D OBJECT(s->gpe_cpu.device); - object_property_set_bool(obj, false, "cpu-hotplug-legacy", &error_abor= t); + object_property_set_bool(obj, "cpu-hotplug-legacy", false, &error_abor= t); return 0; } =20 diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c index 52bcbd6414..b8c5387c33 100644 --- a/hw/acpi/piix4.c +++ b/hw/acpi/piix4.c @@ -243,7 +243,7 @@ static bool vmstate_test_use_cpuhp(void *opaque) static int vmstate_cpuhp_pre_load(void *opaque) { Object *obj =3D OBJECT(opaque); - object_property_set_bool(obj, false, "cpu-hotplug-legacy", &error_abor= t); + object_property_set_bool(obj, "cpu-hotplug-legacy", false, &error_abor= t); return 0; } =20 diff --git a/hw/arm/allwinner-a10.c b/hw/arm/allwinner-a10.c index 3e45aa4141..e258463747 100644 --- a/hw/arm/allwinner-a10.c +++ b/hw/arm/allwinner-a10.c @@ -136,15 +136,15 @@ static void aw_a10_realize(DeviceState *dev, Error **= errp) =20 sprintf(bus, "usb-bus.%d", i); =20 - object_property_set_bool(OBJECT(&s->ehci[i]), true, - "companion-enable", &error_fatal); + object_property_set_bool(OBJECT(&s->ehci[i]), "companion-enabl= e", + true, &error_fatal); sysbus_realize(SYS_BUS_DEVICE(&s->ehci[i]), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(&s->ehci[i]), 0, AW_A10_EHCI_BASE + i * 0x8000); sysbus_connect_irq(SYS_BUS_DEVICE(&s->ehci[i]), 0, qdev_get_gpio_in(dev, 39 + i)); =20 - object_property_set_str(OBJECT(&s->ohci[i]), bus, "masterbus", + object_property_set_str(OBJECT(&s->ohci[i]), "masterbus", bus, &error_fatal); sysbus_realize(SYS_BUS_DEVICE(&s->ohci[i]), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(&s->ohci[i]), 0, diff --git a/hw/arm/armsse.c b/hw/arm/armsse.c index b306d95538..8af599cb13 100644 --- a/hw/arm/armsse.c +++ b/hw/arm/armsse.c @@ -535,21 +535,21 @@ static void armsse_realize(DeviceState *dev, Error **= errp) * later if necessary. */ if (extract32(info->cpuwait_rst, i, 1)) { - object_property_set_bool(cpuobj, true, "start-powered-off", &e= rr); + object_property_set_bool(cpuobj, "start-powered-off", true, &e= rr); if (err) { error_propagate(errp, err); return; } } if (!s->cpu_fpu[i]) { - object_property_set_bool(cpuobj, false, "vfp", &err); + object_property_set_bool(cpuobj, "vfp", false, &err); if (err) { error_propagate(errp, err); return; } } if (!s->cpu_dsp[i]) { - object_property_set_bool(cpuobj, false, "dsp", &err); + object_property_set_bool(cpuobj, "dsp", false, &err); if (err) { error_propagate(errp, err); return; @@ -563,9 +563,9 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) memory_region_add_subregion_overlap(&s->cpu_container[i], 0, &s->container, -1); } - object_property_set_link(cpuobj, OBJECT(&s->cpu_container[i]), - "memory", &error_abort); - object_property_set_link(cpuobj, OBJECT(s), "idau", &error_abort); + object_property_set_link(cpuobj, "memory", + OBJECT(&s->cpu_container[i]), &error_abor= t); + object_property_set_link(cpuobj, "idau", OBJECT(s), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(cpuobj), errp)) { return; } @@ -603,8 +603,8 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) DeviceState *devs =3D DEVICE(splitter); int cpunum; =20 - object_property_set_int(splitter, info->num_cpus, - "num-lines", &err); + object_property_set_int(splitter, "num-lines", info->num_c= pus, + &err); if (err) { error_propagate(errp, err); return; @@ -655,8 +655,8 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) * multiple lines, one for each of the PPCs within the ARMSSE and one * that will be an output from the ARMSSE to the system. */ - object_property_set_int(OBJECT(&s->sec_resp_splitter), 3, - "num-lines", &err); + object_property_set_int(OBJECT(&s->sec_resp_splitter), "num-lines", 3, + &err); if (err) { error_propagate(errp, err); return; @@ -681,8 +681,8 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) error_propagate(errp, err); return; } - object_property_set_link(OBJECT(&s->mpc[i]), OBJECT(&s->sram[i]), - "downstream", &error_abort); + object_property_set_link(OBJECT(&s->mpc[i]), "downstream", + OBJECT(&s->sram[i]), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->mpc[i]), errp)) { return; } @@ -697,9 +697,8 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) } =20 /* We must OR together lines from the MPC splitters to go to the NVIC = */ - object_property_set_int(OBJECT(&s->mpc_irq_orgate), - IOTS_NUM_EXP_MPC + info->sram_banks, - "num-lines", &err); + object_property_set_int(OBJECT(&s->mpc_irq_orgate), "num-lines", + IOTS_NUM_EXP_MPC + info->sram_banks, &err); if (err) { error_propagate(errp, err); return; @@ -727,7 +726,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) sysbus_connect_irq(SYS_BUS_DEVICE(&s->timer0), 0, armsse_get_common_irq_in(s, 3)); mr =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->timer0), 0); - object_property_set_link(OBJECT(&s->apb_ppc0), OBJECT(mr), "port[0]", + object_property_set_link(OBJECT(&s->apb_ppc0), "port[0]", OBJECT(mr), &error_abort); =20 qdev_prop_set_uint32(DEVICE(&s->timer1), "pclk-frq", s->mainclk_frq); @@ -737,7 +736,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) sysbus_connect_irq(SYS_BUS_DEVICE(&s->timer1), 0, armsse_get_common_irq_in(s, 4)); mr =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->timer1), 0); - object_property_set_link(OBJECT(&s->apb_ppc0), OBJECT(mr), "port[1]", + object_property_set_link(OBJECT(&s->apb_ppc0), "port[1]", OBJECT(mr), &error_abort); =20 qdev_prop_set_uint32(DEVICE(&s->dualtimer), "pclk-frq", s->mainclk_frq= ); @@ -747,7 +746,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) sysbus_connect_irq(SYS_BUS_DEVICE(&s->dualtimer), 0, armsse_get_common_irq_in(s, 5)); mr =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->dualtimer), 0); - object_property_set_link(OBJECT(&s->apb_ppc0), OBJECT(mr), "port[2]", + object_property_set_link(OBJECT(&s->apb_ppc0), "port[2]", OBJECT(mr), &error_abort); =20 if (info->has_mhus) { @@ -770,8 +769,8 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) } port =3D g_strdup_printf("port[%d]", i + 3); mr =3D sysbus_mmio_get_region(mhu_sbd, 0); - object_property_set_link(OBJECT(&s->apb_ppc0), OBJECT(mr), - port, &error_abort); + object_property_set_link(OBJECT(&s->apb_ppc0), port, OBJECT(mr= ), + &error_abort); g_free(port); =20 /* @@ -831,8 +830,8 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) * ones) are sent individually to the security controller, and also * ORed together to give a single combined PPC interrupt to the NVIC. */ - object_property_set_int(OBJECT(&s->ppc_irq_orgate), - NUM_PPCS, "num-lines", &err); + object_property_set_int(OBJECT(&s->ppc_irq_orgate), "num-lines", NUM_P= PCS, + &err); if (err) { error_propagate(errp, err); return; @@ -907,7 +906,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) sysbus_connect_irq(SYS_BUS_DEVICE(&s->s32ktimer), 0, armsse_get_common_irq_in(s, 2)); mr =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->s32ktimer), 0); - object_property_set_link(OBJECT(&s->apb_ppc1), OBJECT(mr), "port[0]", + object_property_set_link(OBJECT(&s->apb_ppc1), "port[0]", OBJECT(mr), &error_abort); =20 if (!sysbus_realize(SYS_BUS_DEVICE(&s->apb_ppc1), errp)) { @@ -933,15 +932,14 @@ static void armsse_realize(DeviceState *dev, Error **= errp) qdev_get_gpio_in_named(dev_apb_ppc1, "cfg_sec_resp", 0)); =20 - object_property_set_int(OBJECT(&s->sysinfo), info->sys_version, - "SYS_VERSION", &err); + object_property_set_int(OBJECT(&s->sysinfo), "SYS_VERSION", + info->sys_version, &err); if (err) { error_propagate(errp, err); return; } - object_property_set_int(OBJECT(&s->sysinfo), - armsse_sys_config_value(s, info), - "SYS_CONFIG", &err); + object_property_set_int(OBJECT(&s->sysinfo), "SYS_CONFIG", + armsse_sys_config_value(s, info), &err); if (err) { error_propagate(errp, err); return; @@ -952,14 +950,14 @@ static void armsse_realize(DeviceState *dev, Error **= errp) /* System information registers */ sysbus_mmio_map(SYS_BUS_DEVICE(&s->sysinfo), 0, 0x40020000); /* System control registers */ - object_property_set_int(OBJECT(&s->sysctl), info->sys_version, - "SYS_VERSION", &error_abort); - object_property_set_int(OBJECT(&s->sysctl), info->cpuwait_rst, - "CPUWAIT_RST", &error_abort); - object_property_set_int(OBJECT(&s->sysctl), s->init_svtor, - "INITSVTOR0_RST", &error_abort); - object_property_set_int(OBJECT(&s->sysctl), s->init_svtor, - "INITSVTOR1_RST", &error_abort); + object_property_set_int(OBJECT(&s->sysctl), "SYS_VERSION", + info->sys_version, &error_abort); + object_property_set_int(OBJECT(&s->sysctl), "CPUWAIT_RST", + info->cpuwait_rst, &error_abort); + object_property_set_int(OBJECT(&s->sysctl), "INITSVTOR0_RST", + s->init_svtor, &error_abort); + object_property_set_int(OBJECT(&s->sysctl), "INITSVTOR1_RST", + s->init_svtor, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->sysctl), errp)) { return; } @@ -988,7 +986,7 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) } =20 /* This OR gate wires together outputs from the secure watchdogs to NM= I */ - object_property_set_int(OBJECT(&s->nmi_orgate), 2, "num-lines", &err); + object_property_set_int(OBJECT(&s->nmi_orgate), "num-lines", 2, &err); if (err) { error_propagate(errp, err); return; @@ -1028,7 +1026,7 @@ static void armsse_realize(DeviceState *dev, Error **= errp) for (i =3D 0; i < ARRAY_SIZE(s->ppc_irq_splitter); i++) { Object *splitter =3D OBJECT(&s->ppc_irq_splitter[i]); =20 - object_property_set_int(splitter, 2, "num-lines", &err); + object_property_set_int(splitter, "num-lines", 2, &err); if (err) { error_propagate(errp, err); return; @@ -1073,7 +1071,7 @@ static void armsse_realize(DeviceState *dev, Error **= errp) SplitIRQ *splitter =3D &s->mpc_irq_splitter[i]; DeviceState *dev_splitter =3D DEVICE(splitter); =20 - object_property_set_int(OBJECT(splitter), 2, "num-lines", &err); + object_property_set_int(OBJECT(splitter), "num-lines", 2, &err); if (err) { error_propagate(errp, err); return; diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c index 5d6bded386..c42baeecbb 100644 --- a/hw/arm/armv7m.c +++ b/hw/arm/armv7m.c @@ -167,39 +167,37 @@ static void armv7m_realize(DeviceState *dev, Error **= errp) return; } =20 - object_property_set_link(OBJECT(s->cpu), OBJECT(&s->container), "memor= y", + object_property_set_link(OBJECT(s->cpu), "memory", OBJECT(&s->containe= r), &error_abort); if (object_property_find(OBJECT(s->cpu), "idau", NULL)) { - object_property_set_link(OBJECT(s->cpu), s->idau, "idau", + object_property_set_link(OBJECT(s->cpu), "idau", s->idau, &error_abort); } if (object_property_find(OBJECT(s->cpu), "init-svtor", NULL)) { - object_property_set_uint(OBJECT(s->cpu), s->init_svtor, - "init-svtor", &err); + object_property_set_uint(OBJECT(s->cpu), "init-svtor", s->init_svt= or, + &err); if (err !=3D NULL) { error_propagate(errp, err); return; } } if (object_property_find(OBJECT(s->cpu), "start-powered-off", NULL)) { - object_property_set_bool(OBJECT(s->cpu), s->start_powered_off, - "start-powered-off", &err); + object_property_set_bool(OBJECT(s->cpu), "start-powered-off", + s->start_powered_off, &err); if (err !=3D NULL) { error_propagate(errp, err); return; } } if (object_property_find(OBJECT(s->cpu), "vfp", NULL)) { - object_property_set_bool(OBJECT(s->cpu), s->vfp, - "vfp", &err); + object_property_set_bool(OBJECT(s->cpu), "vfp", s->vfp, &err); if (err !=3D NULL) { error_propagate(errp, err); return; } } if (object_property_find(OBJECT(s->cpu), "dsp", NULL)) { - object_property_set_bool(OBJECT(s->cpu), s->dsp, - "dsp", &err); + object_property_set_bool(OBJECT(s->cpu), "dsp", s->dsp, &err); if (err !=3D NULL) { error_propagate(errp, err); return; @@ -243,13 +241,13 @@ static void armv7m_realize(DeviceState *dev, Error **= errp) Object *obj =3D OBJECT(&s->bitband[i]); SysBusDevice *sbd =3D SYS_BUS_DEVICE(&s->bitband[i]); =20 - object_property_set_int(obj, bitband_input_addr[i], "base", &e= rr); + object_property_set_int(obj, "base", bitband_input_addr[i], &e= rr); if (err !=3D NULL) { error_propagate(errp, err); return; } - object_property_set_link(obj, OBJECT(s->board_memory), - "source-memory", &error_abort); + object_property_set_link(obj, "source-memory", + OBJECT(s->board_memory), &error_abort= ); if (!sysbus_realize(SYS_BUS_DEVICE(obj), errp)) { return; } diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c index 863757e1f0..d60690af75 100644 --- a/hw/arm/aspeed.c +++ b/hw/arm/aspeed.c @@ -274,7 +274,7 @@ static void aspeed_machine_init(MachineState *machine) /* * This will error out if isize is not supported by memory controller. */ - object_property_set_uint(OBJECT(&bmc->soc), ram_size, "ram-size", + object_property_set_uint(OBJECT(&bmc->soc), "ram-size", ram_size, &error_fatal); =20 for (i =3D 0; i < sc->macs_num; i++) { @@ -285,22 +285,22 @@ static void aspeed_machine_init(MachineState *machine) } } =20 - object_property_set_int(OBJECT(&bmc->soc), amc->hw_strap1, "hw-strap1", + object_property_set_int(OBJECT(&bmc->soc), "hw-strap1", amc->hw_strap1, &error_abort); - object_property_set_int(OBJECT(&bmc->soc), amc->hw_strap2, "hw-strap2", + object_property_set_int(OBJECT(&bmc->soc), "hw-strap2", amc->hw_strap2, &error_abort); - object_property_set_int(OBJECT(&bmc->soc), amc->num_cs, "num-cs", + object_property_set_int(OBJECT(&bmc->soc), "num-cs", amc->num_cs, &error_abort); - object_property_set_link(OBJECT(&bmc->soc), OBJECT(&bmc->ram_container= ), - "dram", &error_abort); + object_property_set_link(OBJECT(&bmc->soc), "dram", + OBJECT(&bmc->ram_container), &error_abort); if (machine->kernel_filename) { /* * When booting with a -kernel command line there is no u-boot * that runs to unlock the SCU. In this case set the default to * be unlocked as the kernel expects */ - object_property_set_int(OBJECT(&bmc->soc), ASPEED_SCU_PROT_KEY, - "hw-prot-key", &error_abort); + object_property_set_int(OBJECT(&bmc->soc), "hw-prot-key", + ASPEED_SCU_PROT_KEY, &error_abort); } qdev_realize(DEVICE(&bmc->soc), NULL, &error_abort); =20 @@ -390,10 +390,10 @@ static void palmetto_bmc_i2c_init(AspeedBoardState *b= mc) /* add a TMP423 temperature sensor */ dev =3D i2c_create_slave(aspeed_i2c_get_bus(DEVICE(&soc->i2c), 2), "tmp423", 0x4c); - object_property_set_int(OBJECT(dev), 31000, "temperature0", &error_abo= rt); - object_property_set_int(OBJECT(dev), 28000, "temperature1", &error_abo= rt); - object_property_set_int(OBJECT(dev), 20000, "temperature2", &error_abo= rt); - object_property_set_int(OBJECT(dev), 110000, "temperature3", &error_ab= ort); + object_property_set_int(OBJECT(dev), "temperature0", 31000, &error_abo= rt); + object_property_set_int(OBJECT(dev), "temperature1", 28000, &error_abo= rt); + object_property_set_int(OBJECT(dev), "temperature2", 20000, &error_abo= rt); + object_property_set_int(OBJECT(dev), "temperature3", 110000, &error_ab= ort); } =20 static void ast2500_evb_i2c_init(AspeedBoardState *bmc) diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c index aa02755d3f..4d25d550c5 100644 --- a/hw/arm/aspeed_ast2600.c +++ b/hw/arm/aspeed_ast2600.c @@ -196,7 +196,7 @@ static void aspeed_soc_ast2600_init(Object *obj) object_initialize_child(obj, "sd-controller", &s->sdhci, TYPE_ASPEED_SDHCI); =20 - object_property_set_int(OBJECT(&s->sdhci), 2, "num-slots", &error_abor= t); + object_property_set_int(OBJECT(&s->sdhci), "num-slots", 2, &error_abor= t); =20 /* Init sd card slot class here so that they're under the correct pare= nt */ for (i =3D 0; i < ASPEED_SDHCI_NUM_SLOTS; ++i) { @@ -207,7 +207,7 @@ static void aspeed_soc_ast2600_init(Object *obj) object_initialize_child(obj, "emmc-controller", &s->emmc, TYPE_ASPEED_SDHCI); =20 - object_property_set_int(OBJECT(&s->emmc), 1, "num-slots", &error_abort= ); + object_property_set_int(OBJECT(&s->emmc), "num-slots", 1, &error_abort= ); =20 object_initialize_child(obj, "emmc-controller.sdhci", &s->emmc.slots[0= ], TYPE_SYSBUS_SDHCI); @@ -241,17 +241,16 @@ static void aspeed_soc_ast2600_realize(DeviceState *d= ev, Error **errp) =20 /* CPU */ for (i =3D 0; i < sc->num_cpus; i++) { - object_property_set_int(OBJECT(&s->cpu[i]), QEMU_PSCI_CONDUIT_SMC, - "psci-conduit", &error_abort); + object_property_set_int(OBJECT(&s->cpu[i]), "psci-conduit", + QEMU_PSCI_CONDUIT_SMC, &error_abort); if (sc->num_cpus > 1) { - object_property_set_int(OBJECT(&s->cpu[i]), - ASPEED_A7MPCORE_ADDR, - "reset-cbar", &error_abort); + object_property_set_int(OBJECT(&s->cpu[i]), "reset-cbar", + ASPEED_A7MPCORE_ADDR, &error_abort); } - object_property_set_int(OBJECT(&s->cpu[i]), aspeed_calc_affinity(i= ), - "mp-affinity", &error_abort); + object_property_set_int(OBJECT(&s->cpu[i]), "mp-affinity", + aspeed_calc_affinity(i), &error_abort); =20 - object_property_set_int(OBJECT(&s->cpu[i]), 1125000000, "cntfrq", + object_property_set_int(OBJECT(&s->cpu[i]), "cntfrq", 1125000000, &error_abort); =20 /* @@ -265,11 +264,11 @@ static void aspeed_soc_ast2600_realize(DeviceState *d= ev, Error **errp) } =20 /* A7MPCORE */ - object_property_set_int(OBJECT(&s->a7mpcore), sc->num_cpus, "num-cpu", + object_property_set_int(OBJECT(&s->a7mpcore), "num-cpu", sc->num_cpus, &error_abort); - object_property_set_int(OBJECT(&s->a7mpcore), + object_property_set_int(OBJECT(&s->a7mpcore), "num-irq", ASPEED_SOC_AST2600_MAX_IRQ + GIC_INTERNAL, - "num-irq", &error_abort); + &error_abort); =20 sysbus_realize(SYS_BUS_DEVICE(&s->a7mpcore), &error_abort); sysbus_mmio_map(SYS_BUS_DEVICE(&s->a7mpcore), 0, ASPEED_A7MPCORE_ADDR); @@ -313,8 +312,8 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) aspeed_soc_get_irq(s, ASPEED_RTC)); =20 /* Timer */ - object_property_set_link(OBJECT(&s->timerctrl), - OBJECT(&s->scu), "scu", &error_abort); + object_property_set_link(OBJECT(&s->timerctrl), "scu", OBJECT(&s->scu), + &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->timerctrl), errp)) { return; } @@ -333,7 +332,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) } =20 /* I2C */ - object_property_set_link(OBJECT(&s->i2c), OBJECT(s->dram_mr), "dram", + object_property_set_link(OBJECT(&s->i2c), "dram", OBJECT(s->dram_mr), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->i2c), errp)) { return; @@ -350,10 +349,10 @@ static void aspeed_soc_ast2600_realize(DeviceState *d= ev, Error **errp) } =20 /* FMC, The number of CS is set at the board level */ - object_property_set_link(OBJECT(&s->fmc), OBJECT(s->dram_mr), "dram", + object_property_set_link(OBJECT(&s->fmc), "dram", OBJECT(s->dram_mr), &error_abort); - object_property_set_int(OBJECT(&s->fmc), sc->memmap[ASPEED_SDRAM], - "sdram-base", &err); + object_property_set_int(OBJECT(&s->fmc), "sdram-base", + sc->memmap[ASPEED_SDRAM], &err); if (err) { error_propagate(errp, err); return; @@ -369,10 +368,9 @@ static void aspeed_soc_ast2600_realize(DeviceState *de= v, Error **errp) =20 /* SPI */ for (i =3D 0; i < sc->spis_num; i++) { - object_property_set_link(OBJECT(&s->spi[i]), OBJECT(s->dram_mr), - "dram", &error_abort); - object_property_set_int(OBJECT(&s->spi[i]), 1, "num-cs", - &error_abort); + object_property_set_link(OBJECT(&s->spi[i]), "dram", + OBJECT(s->dram_mr), &error_abort); + object_property_set_int(OBJECT(&s->spi[i]), "num-cs", 1, &error_ab= ort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), errp)) { return; } @@ -403,8 +401,8 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) for (i =3D 0; i < sc->wdts_num; i++) { AspeedWDTClass *awc =3D ASPEED_WDT_GET_CLASS(&s->wdt[i]); =20 - object_property_set_link(OBJECT(&s->wdt[i]), - OBJECT(&s->scu), "scu", &error_abort); + object_property_set_link(OBJECT(&s->wdt[i]), "scu", OBJECT(&s->scu= ), + &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), errp)) { return; } @@ -414,7 +412,7 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) =20 /* Net */ for (i =3D 0; i < sc->macs_num; i++) { - object_property_set_bool(OBJECT(&s->ftgmac100[i]), true, "aspeed", + object_property_set_bool(OBJECT(&s->ftgmac100[i]), "aspeed", true, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->ftgmac100[i]), errp)) { return; @@ -424,8 +422,8 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev= , Error **errp) sysbus_connect_irq(SYS_BUS_DEVICE(&s->ftgmac100[i]), 0, aspeed_soc_get_irq(s, ASPEED_ETH1 + i)); =20 - object_property_set_link(OBJECT(&s->mii[i]), OBJECT(&s->ftgmac100[= i]), - "nic", &error_abort); + object_property_set_link(OBJECT(&s->mii[i]), "nic", + OBJECT(&s->ftgmac100[i]), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->mii[i]), errp)) { return; } diff --git a/hw/arm/aspeed_soc.c b/hw/arm/aspeed_soc.c index 6faffc13cc..8d2cbf3715 100644 --- a/hw/arm/aspeed_soc.c +++ b/hw/arm/aspeed_soc.c @@ -204,7 +204,7 @@ static void aspeed_soc_init(Object *obj) =20 object_initialize_child(obj, "sdc", &s->sdhci, TYPE_ASPEED_SDHCI); =20 - object_property_set_int(OBJECT(&s->sdhci), 2, "num-slots", &error_abor= t); + object_property_set_int(OBJECT(&s->sdhci), "num-slots", 2, &error_abor= t); =20 /* Init sd card slot class here so that they're under the correct pare= nt */ for (i =3D 0; i < ASPEED_SDHCI_NUM_SLOTS; ++i) { @@ -270,8 +270,8 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) aspeed_soc_get_irq(s, ASPEED_RTC)); =20 /* Timer */ - object_property_set_link(OBJECT(&s->timerctrl), - OBJECT(&s->scu), "scu", &error_abort); + object_property_set_link(OBJECT(&s->timerctrl), "scu", OBJECT(&s->scu), + &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->timerctrl), errp)) { return; } @@ -290,7 +290,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) } =20 /* I2C */ - object_property_set_link(OBJECT(&s->i2c), OBJECT(s->dram_mr), "dram", + object_property_set_link(OBJECT(&s->i2c), "dram", OBJECT(s->dram_mr), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->i2c), errp)) { return; @@ -300,10 +300,10 @@ static void aspeed_soc_realize(DeviceState *dev, Erro= r **errp) aspeed_soc_get_irq(s, ASPEED_I2C)); =20 /* FMC, The number of CS is set at the board level */ - object_property_set_link(OBJECT(&s->fmc), OBJECT(s->dram_mr), "dram", + object_property_set_link(OBJECT(&s->fmc), "dram", OBJECT(s->dram_mr), &error_abort); - object_property_set_int(OBJECT(&s->fmc), sc->memmap[ASPEED_SDRAM], - "sdram-base", &err); + object_property_set_int(OBJECT(&s->fmc), "sdram-base", + sc->memmap[ASPEED_SDRAM], &err); if (err) { error_propagate(errp, err); return; @@ -319,8 +319,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) =20 /* SPI */ for (i =3D 0; i < sc->spis_num; i++) { - object_property_set_int(OBJECT(&s->spi[i]), 1, "num-cs", - &error_abort); + object_property_set_int(OBJECT(&s->spi[i]), "num-cs", 1, &error_ab= ort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->spi[i]), errp)) { return; } @@ -351,8 +350,8 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) for (i =3D 0; i < sc->wdts_num; i++) { AspeedWDTClass *awc =3D ASPEED_WDT_GET_CLASS(&s->wdt[i]); =20 - object_property_set_link(OBJECT(&s->wdt[i]), - OBJECT(&s->scu), "scu", &error_abort); + object_property_set_link(OBJECT(&s->wdt[i]), "scu", OBJECT(&s->scu= ), + &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), errp)) { return; } @@ -362,7 +361,7 @@ static void aspeed_soc_realize(DeviceState *dev, Error = **errp) =20 /* Net */ for (i =3D 0; i < sc->macs_num; i++) { - object_property_set_bool(OBJECT(&s->ftgmac100[i]), true, "aspeed", + object_property_set_bool(OBJECT(&s->ftgmac100[i]), "aspeed", true, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->ftgmac100[i]), errp)) { return; diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index 3c40bda91e..b2a939a100 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -217,8 +217,8 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) return; } =20 - object_property_set_uint(OBJECT(&s->fb), ram_size - vcram_size, - "vcram-base", &err); + object_property_set_uint(OBJECT(&s->fb), "vcram-base", + ram_size - vcram_size, &err); if (err) { error_propagate(errp, err); return; @@ -262,11 +262,11 @@ static void bcm2835_peripherals_realize(DeviceState *= dev, Error **errp) * For the exact details please refer to the Arasan documentation: * SD3.0_Host_AHB_eMMC4.4_Usersguide_ver5.9_jan11_10.pdf */ - object_property_set_uint(OBJECT(&s->sdhci), 3, "sd-spec-version", + object_property_set_uint(OBJECT(&s->sdhci), "sd-spec-version", 3, &error_abort); - object_property_set_uint(OBJECT(&s->sdhci), BCM2835_SDHC_CAPAREG, "cap= areg", - &error_abort); - object_property_set_bool(OBJECT(&s->sdhci), true, "pending-insert-quir= k", + object_property_set_uint(OBJECT(&s->sdhci), "capareg", + BCM2835_SDHC_CAPAREG, &error_abort); + object_property_set_bool(OBJECT(&s->sdhci), "pending-insert-quirk", tr= ue, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->sdhci), errp)) { return; diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index 35281df8c3..5008037395 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -108,17 +108,16 @@ static void bcm2836_realize(DeviceState *dev, Error *= *errp) s->cpu[n].core.mp_affinity =3D (info->clusterid << 8) | n; =20 /* set periphbase/CBAR value for CPU-local registers */ - object_property_set_int(OBJECT(&s->cpu[n].core), - info->peri_base, - "reset-cbar", &err); + object_property_set_int(OBJECT(&s->cpu[n].core), "reset-cbar", + info->peri_base, &err); if (err) { error_propagate(errp, err); return; } =20 /* start powered off if not enabled */ - object_property_set_bool(OBJECT(&s->cpu[n].core), n >=3D s->enable= d_cpus, - "start-powered-off", &err); + object_property_set_bool(OBJECT(&s->cpu[n].core), "start-powered-o= ff", + n >=3D s->enabled_cpus, &err); if (err) { error_propagate(errp, err); return; diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index c720e24ced..302919246b 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -62,19 +62,19 @@ static void cubieboard_init(MachineState *machine) object_property_add_child(OBJECT(machine), "soc", OBJECT(a10)); object_unref(OBJECT(a10)); =20 - object_property_set_int(OBJECT(&a10->emac), 1, "phy-addr", &err); + object_property_set_int(OBJECT(&a10->emac), "phy-addr", 1, &err); if (err !=3D NULL) { error_reportf_err(err, "Couldn't set phy address: "); exit(1); } =20 - object_property_set_int(OBJECT(&a10->timer), 32768, "clk0-freq", &err); + object_property_set_int(OBJECT(&a10->timer), "clk0-freq", 32768, &err); if (err !=3D NULL) { error_reportf_err(err, "Couldn't set clk0 frequency: "); exit(1); } =20 - object_property_set_int(OBJECT(&a10->timer), 24000000, "clk1-freq", &e= rr); + object_property_set_int(OBJECT(&a10->timer), "clk1-freq", 24000000, &e= rr); if (err !=3D NULL) { error_reportf_err(err, "Couldn't set clk1 frequency: "); exit(1); diff --git a/hw/arm/digic.c b/hw/arm/digic.c index 9fbb2258c9..d5109ab938 100644 --- a/hw/arm/digic.c +++ b/hw/arm/digic.c @@ -56,7 +56,7 @@ static void digic_realize(DeviceState *dev, Error **errp) SysBusDevice *sbd; int i; =20 - object_property_set_bool(OBJECT(&s->cpu), true, "reset-hivecs", &err); + object_property_set_bool(OBJECT(&s->cpu), "reset-hivecs", true, &err); if (err !=3D NULL) { error_propagate(errp, err); return; diff --git a/hw/arm/exynos4210.c b/hw/arm/exynos4210.c index fa639806ec..081bbff317 100644 --- a/hw/arm/exynos4210.c +++ b/hw/arm/exynos4210.c @@ -188,7 +188,7 @@ static DeviceState *pl330_create(uint32_t base, qemu_or= _irq *orgate, sysbus_realize_and_unref(busdev, &error_fatal); sysbus_mmio_map(busdev, 0, base); =20 - object_property_set_int(OBJECT(orgate), nevents + 1, "num-lines", + object_property_set_int(OBJECT(orgate), "num-lines", nevents + 1, &error_abort); qdev_realize(DEVICE(orgate), NULL, &error_abort); =20 @@ -215,14 +215,15 @@ static void exynos4210_realize(DeviceState *socdev, E= rror **errp) * support EL3 so the CPU EL3 property is disabled before realizat= ion. */ if (object_property_find(cpuobj, "has_el3", NULL)) { - object_property_set_bool(cpuobj, false, "has_el3", &error_fata= l); + object_property_set_bool(cpuobj, "has_el3", false, &error_fata= l); } =20 s->cpu[n] =3D ARM_CPU(cpuobj); - object_property_set_int(cpuobj, exynos4210_calc_affinity(n), - "mp-affinity", &error_abort); - object_property_set_int(cpuobj, EXYNOS4210_SMP_PRIVATE_BASE_ADDR, - "reset-cbar", &error_abort); + object_property_set_int(cpuobj, "mp-affinity", + exynos4210_calc_affinity(n), &error_abort); + object_property_set_int(cpuobj, "reset-cbar", + EXYNOS4210_SMP_PRIVATE_BASE_ADDR, + &error_abort); qdev_realize(DEVICE(cpuobj), NULL, &error_fatal); } =20 diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c index f5418c8c12..b4ddceae45 100644 --- a/hw/arm/fsl-imx25.c +++ b/hw/arm/fsl-imx25.c @@ -239,14 +239,12 @@ static void fsl_imx25_realize(DeviceState *dev, Error= **errp) { FSL_IMX25_ESDHC2_ADDR, FSL_IMX25_ESDHC2_IRQ }, }; =20 - object_property_set_uint(OBJECT(&s->esdhc[i]), 2, "sd-spec-version= ", - &error_abort); - object_property_set_uint(OBJECT(&s->esdhc[i]), IMX25_ESDHC_CAPABIL= ITIES, - "capareg", - &error_abort); - object_property_set_uint(OBJECT(&s->esdhc[i]), SDHCI_VENDOR_IMX, - "vendor", + object_property_set_uint(OBJECT(&s->esdhc[i]), "sd-spec-version", = 2, &error_abort); + object_property_set_uint(OBJECT(&s->esdhc[i]), "capareg", + IMX25_ESDHC_CAPABILITIES, &error_abort); + object_property_set_uint(OBJECT(&s->esdhc[i]), "vendor", + SDHCI_VENDOR_IMX, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), errp)) { return; } @@ -274,7 +272,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error *= *errp) } =20 /* Watchdog */ - object_property_set_bool(OBJECT(&s->wdt), true, "pretimeout-support", + object_property_set_bool(OBJECT(&s->wdt), "pretimeout-support", true, &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->wdt), &error_abort); sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt), 0, FSL_IMX25_WDT_ADDR); diff --git a/hw/arm/fsl-imx31.c b/hw/arm/fsl-imx31.c index 8326f5ff81..0983998bb4 100644 --- a/hw/arm/fsl-imx31.c +++ b/hw/arm/fsl-imx31.c @@ -172,7 +172,7 @@ static void fsl_imx31_realize(DeviceState *dev, Error *= *errp) { FSL_IMX31_GPIO3_ADDR, FSL_IMX31_GPIO3_IRQ } }; =20 - object_property_set_bool(OBJECT(&s->gpio[i]), false, "has-edge-sel= ", + object_property_set_bool(OBJECT(&s->gpio[i]), "has-edge-sel", fals= e, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), errp)) { return; diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c index 4c2da277ec..0bc9f0b60d 100644 --- a/hw/arm/fsl-imx6.c +++ b/hw/arm/fsl-imx6.c @@ -120,14 +120,14 @@ static void fsl_imx6_realize(DeviceState *dev, Error = **errp) =20 /* On uniprocessor, the CBAR is set to 0 */ if (smp_cpus > 1) { - object_property_set_int(OBJECT(&s->cpu[i]), FSL_IMX6_A9MPCORE_= ADDR, - "reset-cbar", &error_abort); + object_property_set_int(OBJECT(&s->cpu[i]), "reset-cbar", + FSL_IMX6_A9MPCORE_ADDR, &error_abort); } =20 /* All CPU but CPU 0 start in power off mode */ if (i) { - object_property_set_bool(OBJECT(&s->cpu[i]), true, - "start-powered-off", &error_abort); + object_property_set_bool(OBJECT(&s->cpu[i]), "start-powered-of= f", + true, &error_abort); } =20 if (!qdev_realize(DEVICE(&s->cpu[i]), NULL, errp)) { @@ -135,12 +135,11 @@ static void fsl_imx6_realize(DeviceState *dev, Error = **errp) } } =20 - object_property_set_int(OBJECT(&s->a9mpcore), smp_cpus, "num-cpu", + object_property_set_int(OBJECT(&s->a9mpcore), "num-cpu", smp_cpus, &error_abort); =20 - object_property_set_int(OBJECT(&s->a9mpcore), - FSL_IMX6_MAX_IRQ + GIC_INTERNAL, "num-irq", - &error_abort); + object_property_set_int(OBJECT(&s->a9mpcore), "num-irq", + FSL_IMX6_MAX_IRQ + GIC_INTERNAL, &error_abort); =20 if (!sysbus_realize(SYS_BUS_DEVICE(&s->a9mpcore), errp)) { return; @@ -287,10 +286,10 @@ static void fsl_imx6_realize(DeviceState *dev, Error = **errp) }, }; =20 - object_property_set_bool(OBJECT(&s->gpio[i]), true, "has-edge-sel", - &error_abort); - object_property_set_bool(OBJECT(&s->gpio[i]), true, "has-upper-pin= -irq", + object_property_set_bool(OBJECT(&s->gpio[i]), "has-edge-sel", true, &error_abort); + object_property_set_bool(OBJECT(&s->gpio[i]), "has-upper-pin-irq", + true, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->gpio[i]), errp)) { return; } @@ -317,14 +316,12 @@ static void fsl_imx6_realize(DeviceState *dev, Error = **errp) }; =20 /* UHS-I SDIO3.0 SDR104 1.8V ADMA */ - object_property_set_uint(OBJECT(&s->esdhc[i]), 3, "sd-spec-version= ", - &error_abort); - object_property_set_uint(OBJECT(&s->esdhc[i]), IMX6_ESDHC_CAPABILI= TIES, - "capareg", - &error_abort); - object_property_set_uint(OBJECT(&s->esdhc[i]), SDHCI_VENDOR_IMX, - "vendor", + object_property_set_uint(OBJECT(&s->esdhc[i]), "sd-spec-version", = 3, &error_abort); + object_property_set_uint(OBJECT(&s->esdhc[i]), "capareg", + IMX6_ESDHC_CAPABILITIES, &error_abort); + object_property_set_uint(OBJECT(&s->esdhc[i]), "vendor", + SDHCI_VENDOR_IMX, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->esdhc[i]), errp)) { return; } @@ -405,8 +402,8 @@ static void fsl_imx6_realize(DeviceState *dev, Error **= errp) FSL_IMX6_WDOG2_IRQ, }; =20 - object_property_set_bool(OBJECT(&s->wdt[i]), true, "pretimeout-sup= port", - &error_abort); + object_property_set_bool(OBJECT(&s->wdt[i]), "pretimeout-support", + true, &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), &error_abort); =20 sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt[i]), 0, FSL_IMX6_WDOGn_ADDR= [i]); diff --git a/hw/arm/fsl-imx6ul.c b/hw/arm/fsl-imx6ul.c index 6446034711..12493c125b 100644 --- a/hw/arm/fsl-imx6ul.c +++ b/hw/arm/fsl-imx6ul.c @@ -166,17 +166,16 @@ static void fsl_imx6ul_realize(DeviceState *dev, Erro= r **errp) return; } =20 - object_property_set_int(OBJECT(&s->cpu), QEMU_PSCI_CONDUIT_SMC, - "psci-conduit", &error_abort); + object_property_set_int(OBJECT(&s->cpu), "psci-conduit", + QEMU_PSCI_CONDUIT_SMC, &error_abort); qdev_realize(DEVICE(&s->cpu), NULL, &error_abort); =20 /* * A7MPCORE */ - object_property_set_int(OBJECT(&s->a7mpcore), 1, "num-cpu", &error_abo= rt); - object_property_set_int(OBJECT(&s->a7mpcore), - FSL_IMX6UL_MAX_IRQ + GIC_INTERNAL, - "num-irq", &error_abort); + object_property_set_int(OBJECT(&s->a7mpcore), "num-cpu", 1, &error_abo= rt); + object_property_set_int(OBJECT(&s->a7mpcore), "num-irq", + FSL_IMX6UL_MAX_IRQ + GIC_INTERNAL, &error_abor= t); sysbus_realize(SYS_BUS_DEVICE(&s->a7mpcore), &error_abort); sysbus_mmio_map(SYS_BUS_DEVICE(&s->a7mpcore), 0, FSL_IMX6UL_A7MPCORE_A= DDR); =20 @@ -427,9 +426,8 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error = **errp) FSL_IMX6UL_ENET2_TIMER_IRQ, }; =20 - object_property_set_uint(OBJECT(&s->eth[i]), - FSL_IMX6UL_ETH_NUM_TX_RINGS, - "tx-ring-num", &error_abort); + object_property_set_uint(OBJECT(&s->eth[i]), "tx-ring-num", + FSL_IMX6UL_ETH_NUM_TX_RINGS, &error_abort= ); qdev_set_nic_properties(DEVICE(&s->eth[i]), &nd_table[i]); sysbus_realize(SYS_BUS_DEVICE(&s->eth[i]), &error_abort); =20 @@ -479,8 +477,8 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error = **errp) FSL_IMX6UL_USDHC2_IRQ, }; =20 - object_property_set_uint(OBJECT(&s->usdhc[i]), SDHCI_VENDOR_IMX, - "vendor", &error_abort); + object_property_set_uint(OBJECT(&s->usdhc[i]), "vendor", + SDHCI_VENDOR_IMX, &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->usdhc[i]), &error_abort); =20 sysbus_mmio_map(SYS_BUS_DEVICE(&s->usdhc[i]), 0, @@ -512,8 +510,8 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error = **errp) FSL_IMX6UL_WDOG3_IRQ, }; =20 - object_property_set_bool(OBJECT(&s->wdt[i]), true, "pretimeout-sup= port", - &error_abort); + object_property_set_bool(OBJECT(&s->wdt[i]), "pretimeout-support", + true, &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), &error_abort); =20 sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt[i]), 0, diff --git a/hw/arm/fsl-imx7.c b/hw/arm/fsl-imx7.c index b49d895a41..fad637d328 100644 --- a/hw/arm/fsl-imx7.c +++ b/hw/arm/fsl-imx7.c @@ -159,19 +159,19 @@ static void fsl_imx7_realize(DeviceState *dev, Error = **errp) for (i =3D 0; i < smp_cpus; i++) { o =3D OBJECT(&s->cpu[i]); =20 - object_property_set_int(o, QEMU_PSCI_CONDUIT_SMC, - "psci-conduit", &error_abort); + object_property_set_int(o, "psci-conduit", QEMU_PSCI_CONDUIT_SMC, + &error_abort); =20 /* On uniprocessor, the CBAR is set to 0 */ if (smp_cpus > 1) { - object_property_set_int(o, FSL_IMX7_A7MPCORE_ADDR, - "reset-cbar", &error_abort); + object_property_set_int(o, "reset-cbar", FSL_IMX7_A7MPCORE_ADD= R, + &error_abort); } =20 if (i) { /* Secondary CPUs start in PSCI powered-down state */ - object_property_set_bool(o, true, - "start-powered-off", &error_abort); + object_property_set_bool(o, "start-powered-off", true, + &error_abort); } =20 qdev_realize(DEVICE(o), NULL, &error_abort); @@ -180,11 +180,10 @@ static void fsl_imx7_realize(DeviceState *dev, Error = **errp) /* * A7MPCORE */ - object_property_set_int(OBJECT(&s->a7mpcore), smp_cpus, "num-cpu", + object_property_set_int(OBJECT(&s->a7mpcore), "num-cpu", smp_cpus, &error_abort); - object_property_set_int(OBJECT(&s->a7mpcore), - FSL_IMX7_MAX_IRQ + GIC_INTERNAL, - "num-irq", &error_abort); + object_property_set_int(OBJECT(&s->a7mpcore), "num-irq", + FSL_IMX7_MAX_IRQ + GIC_INTERNAL, &error_abort); =20 sysbus_realize(SYS_BUS_DEVICE(&s->a7mpcore), &error_abort); sysbus_mmio_map(SYS_BUS_DEVICE(&s->a7mpcore), 0, FSL_IMX7_A7MPCORE_ADD= R); @@ -364,8 +363,8 @@ static void fsl_imx7_realize(DeviceState *dev, Error **= errp) FSL_IMX7_ENET2_ADDR, }; =20 - object_property_set_uint(OBJECT(&s->eth[i]), FSL_IMX7_ETH_NUM_TX_R= INGS, - "tx-ring-num", &error_abort); + object_property_set_uint(OBJECT(&s->eth[i]), "tx-ring-num", + FSL_IMX7_ETH_NUM_TX_RINGS, &error_abort); qdev_set_nic_properties(DEVICE(&s->eth[i]), &nd_table[i]); sysbus_realize(SYS_BUS_DEVICE(&s->eth[i]), &error_abort); =20 @@ -393,8 +392,8 @@ static void fsl_imx7_realize(DeviceState *dev, Error **= errp) FSL_IMX7_USDHC3_IRQ, }; =20 - object_property_set_uint(OBJECT(&s->usdhc[i]), SDHCI_VENDOR_IMX, - "vendor", &error_abort); + object_property_set_uint(OBJECT(&s->usdhc[i]), "vendor", + SDHCI_VENDOR_IMX, &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->usdhc[i]), &error_abort); =20 sysbus_mmio_map(SYS_BUS_DEVICE(&s->usdhc[i]), 0, @@ -432,8 +431,8 @@ static void fsl_imx7_realize(DeviceState *dev, Error **= errp) FSL_IMX7_WDOG4_IRQ, }; =20 - object_property_set_bool(OBJECT(&s->wdt[i]), true, "pretimeout-sup= port", - &error_abort); + object_property_set_bool(OBJECT(&s->wdt[i]), "pretimeout-support", + true, &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), &error_abort); =20 sysbus_mmio_map(SYS_BUS_DEVICE(&s->wdt[i]), 0, FSL_IMX7_WDOGn_ADDR= [i]); diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c index c7ef48ecde..c96f2ab9cf 100644 --- a/hw/arm/highbank.c +++ b/hw/arm/highbank.c @@ -267,18 +267,18 @@ static void calxeda_init(MachineState *machine, enum = cxmachines machine_id) cpuobj =3D object_new(machine->cpu_type); cpu =3D ARM_CPU(cpuobj); =20 - object_property_set_int(cpuobj, QEMU_PSCI_CONDUIT_SMC, - "psci-conduit", &error_abort); + object_property_set_int(cpuobj, "psci-conduit", QEMU_PSCI_CONDUIT_= SMC, + &error_abort); =20 if (n) { /* Secondary CPUs start in PSCI powered-down state */ - object_property_set_bool(cpuobj, true, - "start-powered-off", &error_abort); + object_property_set_bool(cpuobj, "start-powered-off", true, + &error_abort); } =20 if (object_property_find(cpuobj, "reset-cbar", NULL)) { - object_property_set_int(cpuobj, MPCORE_PERIPHBASE, - "reset-cbar", &error_abort); + object_property_set_int(cpuobj, "reset-cbar", MPCORE_PERIPHBAS= E, + &error_abort); } qdev_realize(DEVICE(cpuobj), NULL, &error_fatal); cpu_irq[n] =3D qdev_get_gpio_in(DEVICE(cpu), ARM_CPU_IRQ); diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c index b11a846355..f304c2b4f0 100644 --- a/hw/arm/integratorcp.c +++ b/hw/arm/integratorcp.c @@ -604,7 +604,7 @@ static void integratorcp_init(MachineState *machine) * realization. */ if (object_property_find(cpuobj, "has_el3", NULL)) { - object_property_set_bool(cpuobj, false, "has_el3", &error_fatal); + object_property_set_bool(cpuobj, "has_el3", false, &error_fatal); } =20 qdev_realize(DEVICE(cpuobj), NULL, &error_fatal); diff --git a/hw/arm/microbit.c b/hw/arm/microbit.c index 8fe42c9d6a..a91acab1cb 100644 --- a/hw/arm/microbit.c +++ b/hw/arm/microbit.c @@ -40,8 +40,8 @@ static void microbit_init(MachineState *machine) object_initialize_child(OBJECT(machine), "nrf51", &s->nrf51, TYPE_NRF51_SOC); qdev_prop_set_chr(DEVICE(&s->nrf51), "serial0", serial_hd(0)); - object_property_set_link(OBJECT(&s->nrf51), OBJECT(system_memory), - "memory", &error_fatal); + object_property_set_link(OBJECT(&s->nrf51), "memory", + OBJECT(system_memory), &error_fatal); sysbus_realize(SYS_BUS_DEVICE(&s->nrf51), &error_fatal); =20 /* diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c index 8155c35418..79c17fce96 100644 --- a/hw/arm/mps2-tz.c +++ b/hw/arm/mps2-tz.c @@ -264,8 +264,8 @@ static MemoryRegion *make_mpc(MPS2TZMachineState *mms, = void *opaque, memory_region_init_ram(ssram, NULL, name, ramsize[i], &error_fatal); =20 object_initialize_child(OBJECT(mms), mpcname, mpc, TYPE_TZ_MPC); - object_property_set_link(OBJECT(mpc), OBJECT(ssram), - "downstream", &error_fatal); + object_property_set_link(OBJECT(mpc), "downstream", OBJECT(ssram), + &error_fatal); sysbus_realize(SYS_BUS_DEVICE(mpc), &error_fatal); /* Map the upstream end of the MPC into system memory */ upstream =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(mpc), 1); @@ -307,10 +307,9 @@ static MemoryRegion *make_dma(MPS2TZMachineState *mms,= void *opaque, */ object_initialize_child(OBJECT(mms), mscname, msc, TYPE_TZ_MSC); msc_downstream =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(&mms->iotkit)= , 0); - object_property_set_link(OBJECT(msc), OBJECT(msc_downstream), - "downstream", &error_fatal); - object_property_set_link(OBJECT(msc), OBJECT(mms), - "idau", &error_fatal); + object_property_set_link(OBJECT(msc), "downstream", + OBJECT(msc_downstream), &error_fatal); + object_property_set_link(OBJECT(msc), "idau", OBJECT(mms), &error_fata= l); sysbus_realize(SYS_BUS_DEVICE(msc), &error_fatal); =20 qdev_connect_gpio_out_named(DEVICE(msc), "irq", 0, @@ -329,8 +328,8 @@ static MemoryRegion *make_dma(MPS2TZMachineState *mms, = void *opaque, msc_upstream =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(msc), 0); =20 object_initialize_child(OBJECT(mms), name, dma, TYPE_PL081); - object_property_set_link(OBJECT(dma), OBJECT(msc_upstream), - "downstream", &error_fatal); + object_property_set_link(OBJECT(dma), "downstream", OBJECT(msc_upstrea= m), + &error_fatal); sysbus_realize(SYS_BUS_DEVICE(dma), &error_fatal); =20 s =3D SYS_BUS_DEVICE(dma); @@ -391,8 +390,8 @@ static void mps2tz_common_init(MachineState *machine) object_initialize_child(OBJECT(machine), TYPE_IOTKIT, &mms->iotkit, mmc->armsse_type); iotkitdev =3D DEVICE(&mms->iotkit); - object_property_set_link(OBJECT(&mms->iotkit), OBJECT(system_memory), - "memory", &error_abort); + object_property_set_link(OBJECT(&mms->iotkit), "memory", + OBJECT(system_memory), &error_abort); qdev_prop_set_uint32(iotkitdev, "EXP_NUMIRQ", MPS2TZ_NUMIRQ); qdev_prop_set_uint32(iotkitdev, "MAINCLK", SYSCLK_FRQ); sysbus_realize(SYS_BUS_DEVICE(&mms->iotkit), &error_fatal); @@ -412,7 +411,7 @@ static void mps2tz_common_init(MachineState *machine) NULL); g_free(name); =20 - object_property_set_int(OBJECT(splitter), 2, "num-lines", + object_property_set_int(OBJECT(splitter), "num-lines", 2, &error_fatal); qdev_realize(DEVICE(splitter), NULL, &error_fatal); qdev_connect_gpio_out(DEVICE(splitter), 0, @@ -429,9 +428,9 @@ static void mps2tz_common_init(MachineState *machine) */ object_initialize_child(OBJECT(machine), "sec-resp-splitter", &mms->sec_resp_splitter, TYPE_SPLIT_IRQ); - object_property_set_int(OBJECT(&mms->sec_resp_splitter), + object_property_set_int(OBJECT(&mms->sec_resp_splitter), "num-lines", ARRAY_SIZE(mms->ppc) + ARRAY_SIZE(mms->msc), - "num-lines", &error_fatal); + &error_fatal); qdev_realize(DEVICE(&mms->sec_resp_splitter), NULL, &error_fatal); dev_splitter =3D DEVICE(&mms->sec_resp_splitter); qdev_connect_gpio_out_named(iotkitdev, "sec_resp_cfg", 0, @@ -462,7 +461,7 @@ static void mps2tz_common_init(MachineState *machine) */ object_initialize_child(OBJECT(mms), "uart-irq-orgate", &mms->uart_irq_orgate, TYPE_OR_IRQ); - object_property_set_int(OBJECT(&mms->uart_irq_orgate), 10, "num-lines", + object_property_set_int(OBJECT(&mms->uart_irq_orgate), "num-lines", 10, &error_fatal); qdev_realize(DEVICE(&mms->uart_irq_orgate), NULL, &error_fatal); qdev_connect_gpio_out(DEVICE(&mms->uart_irq_orgate), 0, @@ -555,8 +554,8 @@ static void mps2tz_common_init(MachineState *machine) =20 mr =3D pinfo->devfn(mms, pinfo->opaque, pinfo->name, pinfo->si= ze); portname =3D g_strdup_printf("port[%d]", port); - object_property_set_link(OBJECT(ppc), OBJECT(mr), - portname, &error_fatal); + object_property_set_link(OBJECT(ppc), portname, OBJECT(mr), + &error_fatal); g_free(portname); } =20 diff --git a/hw/arm/mps2.c b/hw/arm/mps2.c index daa55f730b..467244a9c4 100644 --- a/hw/arm/mps2.c +++ b/hw/arm/mps2.c @@ -194,8 +194,8 @@ static void mps2_common_init(MachineState *machine) } qdev_prop_set_string(armv7m, "cpu-type", machine->cpu_type); qdev_prop_set_bit(armv7m, "enable-bitband", true); - object_property_set_link(OBJECT(&mms->armv7m), OBJECT(system_memory), - "memory", &error_abort); + object_property_set_link(OBJECT(&mms->armv7m), "memory", + OBJECT(system_memory), &error_abort); sysbus_realize(SYS_BUS_DEVICE(&mms->armv7m), &error_fatal); =20 create_unimplemented_device("zbtsmram mirror", 0x00400000, 0x00400000); @@ -228,7 +228,7 @@ static void mps2_common_init(MachineState *machine) int i; =20 orgate =3D object_new(TYPE_OR_IRQ); - object_property_set_int(orgate, 6, "num-lines", &error_fatal); + object_property_set_int(orgate, "num-lines", 6, &error_fatal); qdev_realize(DEVICE(orgate), NULL, &error_fatal); orgate_dev =3D DEVICE(orgate); qdev_connect_gpio_out(orgate_dev, 0, qdev_get_gpio_in(armv7m, 12)); @@ -265,7 +265,7 @@ static void mps2_common_init(MachineState *machine) int i; =20 orgate =3D object_new(TYPE_OR_IRQ); - object_property_set_int(orgate, 10, "num-lines", &error_fatal); + object_property_set_int(orgate, "num-lines", 10, &error_fatal); qdev_realize(DEVICE(orgate), NULL, &error_fatal); orgate_dev =3D DEVICE(orgate); qdev_connect_gpio_out(orgate_dev, 0, qdev_get_gpio_in(armv7m, 12)); @@ -280,7 +280,7 @@ static void mps2_common_init(MachineState *machine) DeviceState *txrx_orgate_dev; =20 txrx_orgate =3D object_new(TYPE_OR_IRQ); - object_property_set_int(txrx_orgate, 2, "num-lines", &error_fa= tal); + object_property_set_int(txrx_orgate, "num-lines", 2, &error_fa= tal); qdev_realize(DEVICE(txrx_orgate), NULL, &error_fatal); txrx_orgate_dev =3D DEVICE(txrx_orgate); qdev_connect_gpio_out(txrx_orgate_dev, 0, diff --git a/hw/arm/msf2-soc.c b/hw/arm/msf2-soc.c index b6143fba92..16bb7c9916 100644 --- a/hw/arm/msf2-soc.c +++ b/hw/arm/msf2-soc.c @@ -122,8 +122,8 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Er= ror **errp) qdev_prop_set_uint32(armv7m, "num-irq", 81); qdev_prop_set_string(armv7m, "cpu-type", s->cpu_type); qdev_prop_set_bit(armv7m, "enable-bitband", true); - object_property_set_link(OBJECT(&s->armv7m), OBJECT(get_system_memory(= )), - "memory", &error_abort); + object_property_set_link(OBJECT(&s->armv7m), "memory", + OBJECT(get_system_memory()), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), errp)) { return; } @@ -188,8 +188,8 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Er= ror **errp) } =20 dev =3D DEVICE(&s->emac); - object_property_set_link(OBJECT(&s->emac), OBJECT(get_system_memory()), - "ahb-bus", &error_abort); + object_property_set_link(OBJECT(&s->emac), "ahb-bus", + OBJECT(get_system_memory()), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->emac), errp)) { return; } diff --git a/hw/arm/musca.c b/hw/arm/musca.c index 34376328fc..4bc737f93b 100644 --- a/hw/arm/musca.c +++ b/hw/arm/musca.c @@ -256,8 +256,8 @@ static MemoryRegion *make_mpc(MuscaMachineState *mms, v= oid *opaque, } =20 object_initialize_child(OBJECT(mms), mpcname, mpc, TYPE_TZ_MPC); - object_property_set_link(OBJECT(mpc), OBJECT(downstream), - "downstream", &error_fatal); + object_property_set_link(OBJECT(mpc), "downstream", OBJECT(downstream), + &error_fatal); sysbus_realize(SYS_BUS_DEVICE(mpc), &error_fatal); /* Map the upstream end of the MPC into system memory */ upstream =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(mpc), 1); @@ -374,8 +374,8 @@ static void musca_init(MachineState *machine) object_initialize_child(OBJECT(machine), "sse-200", &mms->sse, TYPE_SSE200); ssedev =3D DEVICE(&mms->sse); - object_property_set_link(OBJECT(&mms->sse), OBJECT(system_memory), - "memory", &error_fatal); + object_property_set_link(OBJECT(&mms->sse), "memory", + OBJECT(system_memory), &error_fatal); qdev_prop_set_uint32(ssedev, "EXP_NUMIRQ", mmc->num_irqs); qdev_prop_set_uint32(ssedev, "init-svtor", mmc->init_svtor); qdev_prop_set_uint32(ssedev, "SRAM_ADDR_WIDTH", mmc->sram_addr_width); @@ -403,7 +403,7 @@ static void musca_init(MachineState *machine) &error_fatal, NULL); g_free(name); =20 - object_property_set_int(OBJECT(splitter), 2, "num-lines", + object_property_set_int(OBJECT(splitter), "num-lines", 2, &error_fatal); qdev_realize(DEVICE(splitter), NULL, &error_fatal); qdev_connect_gpio_out(DEVICE(splitter), 0, @@ -422,8 +422,8 @@ static void musca_init(MachineState *machine) sizeof(mms->sec_resp_splitter), TYPE_SPLIT_IRQ, &error_fatal, NULL); =20 - object_property_set_int(OBJECT(&mms->sec_resp_splitter), - ARRAY_SIZE(mms->ppc), "num-lines", &error_fata= l); + object_property_set_int(OBJECT(&mms->sec_resp_splitter), "num-lines", + ARRAY_SIZE(mms->ppc), &error_fatal); qdev_realize(DEVICE(&mms->sec_resp_splitter), NULL, &error_fatal); dev_splitter =3D DEVICE(&mms->sec_resp_splitter); qdev_connect_gpio_out_named(ssedev, "sec_resp_cfg", 0, @@ -541,8 +541,8 @@ static void musca_init(MachineState *machine) =20 mr =3D pinfo->devfn(mms, pinfo->opaque, pinfo->name, pinfo->si= ze); portname =3D g_strdup_printf("port[%d]", port); - object_property_set_link(OBJECT(ppc), OBJECT(mr), - portname, &error_fatal); + object_property_set_link(OBJECT(ppc), portname, OBJECT(mr), + &error_fatal); g_free(portname); } =20 diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c index 394a3345bd..ff9a7c8cc6 100644 --- a/hw/arm/musicpal.c +++ b/hw/arm/musicpal.c @@ -1690,8 +1690,8 @@ static void musicpal_init(MachineState *machine) wm8750_dev =3D i2c_create_slave(i2c, TYPE_WM8750, MP_WM_ADDR); dev =3D qdev_new(TYPE_MV88W8618_AUDIO); s =3D SYS_BUS_DEVICE(dev); - object_property_set_link(OBJECT(dev), OBJECT(wm8750_dev), - "wm8750", NULL); + object_property_set_link(OBJECT(dev), "wm8750", OBJECT(wm8750_dev), + NULL); sysbus_realize_and_unref(s, &error_fatal); sysbus_mmio_map(s, 0, MP_AUDIO_BASE); sysbus_connect_irq(s, 0, pic[MP_AUDIO_IRQ]); diff --git a/hw/arm/nrf51_soc.c b/hw/arm/nrf51_soc.c index a398bdfab8..a5f8806577 100644 --- a/hw/arm/nrf51_soc.c +++ b/hw/arm/nrf51_soc.c @@ -65,7 +65,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Error= **errp) return; } =20 - object_property_set_link(OBJECT(&s->cpu), OBJECT(&s->container), "memo= ry", + object_property_set_link(OBJECT(&s->cpu), "memory", OBJECT(&s->contain= er), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->cpu), errp)) { return; @@ -103,7 +103,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Err= or **errp) BASE_TO_IRQ(NRF51_RNG_BASE))); =20 /* UICR, FICR, NVMC, FLASH */ - object_property_set_uint(OBJECT(&s->nvm), s->flash_size, "flash-size", + object_property_set_uint(OBJECT(&s->nvm), "flash-size", s->flash_size, &err); if (err) { error_propagate(errp, err); @@ -136,7 +136,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Err= or **errp) =20 /* TIMER */ for (i =3D 0; i < NRF51_NUM_TIMERS; i++) { - object_property_set_uint(OBJECT(&s->timer[i]), i, "id", &err); + object_property_set_uint(OBJECT(&s->timer[i]), "id", i, &err); if (err) { error_propagate(errp, err); return; diff --git a/hw/arm/orangepi.c b/hw/arm/orangepi.c index 843dcbbd62..1679468232 100644 --- a/hw/arm/orangepi.c +++ b/hw/arm/orangepi.c @@ -63,9 +63,8 @@ static void orangepi_init(MachineState *machine) object_unref(OBJECT(h3)); =20 /* Setup timer properties */ - object_property_set_int(OBJECT(h3), 32768, "clk0-freq", - &error_abort); - object_property_set_int(OBJECT(h3), 24 * 1000 * 1000, "clk1-freq", + object_property_set_int(OBJECT(h3), "clk0-freq", 32768, &error_abort); + object_property_set_int(OBJECT(h3), "clk1-freq", 24 * 1000 * 1000, &error_abort); =20 /* Setup SID properties. Currently using a default fixed SID identifie= r. */ @@ -77,12 +76,12 @@ static void orangepi_init(MachineState *machine) } =20 /* Setup EMAC properties */ - object_property_set_int(OBJECT(&h3->emac), 1, "phy-addr", &error_abort= ); + object_property_set_int(OBJECT(&h3->emac), "phy-addr", 1, &error_abort= ); =20 /* DRAMC */ - object_property_set_uint(OBJECT(h3), h3->memmap[AW_H3_SDRAM], - "ram-addr", &error_abort); - object_property_set_int(OBJECT(h3), machine->ram_size / MiB, "ram-size= ", + object_property_set_uint(OBJECT(h3), "ram-addr", h3->memmap[AW_H3_SDRA= M], + &error_abort); + object_property_set_int(OBJECT(h3), "ram-size", machine->ram_size / Mi= B, &error_abort); =20 /* Mark H3 object realized */ diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index 09bf02ec9c..b2d6c9688f 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -285,7 +285,7 @@ static void raspi_machine_init(MachineState *machine) object_initialize_child(OBJECT(machine), "soc", &s->soc, board_soc_type(board_rev)); object_property_add_const_link(OBJECT(&s->soc), "ram", OBJECT(machine-= >ram)); - object_property_set_int(OBJECT(&s->soc), board_rev, "board-rev", + object_property_set_int(OBJECT(&s->soc), "board-rev", board_rev, &error_abort); qdev_realize(DEVICE(&s->soc), NULL, &error_abort); =20 diff --git a/hw/arm/realview.c b/hw/arm/realview.c index f3c00fe00c..1a80c47ea7 100644 --- a/hw/arm/realview.c +++ b/hw/arm/realview.c @@ -106,11 +106,11 @@ static void realview_init(MachineState *machine, * before realization. */ if (object_property_find(cpuobj, "has_el3", NULL)) { - object_property_set_bool(cpuobj, false, "has_el3", &error_fata= l); + object_property_set_bool(cpuobj, "has_el3", false, &error_fata= l); } =20 if (is_pb && is_mpcore) { - object_property_set_int(cpuobj, periphbase, "reset-cbar", + object_property_set_int(cpuobj, "reset-cbar", periphbase, &error_fatal); } =20 @@ -204,7 +204,7 @@ static void realview_init(MachineState *machine, =20 /* DMA controller is optional, apparently. */ dev =3D qdev_new("pl081"); - object_property_set_link(OBJECT(dev), OBJECT(sysmem), "downstream", + object_property_set_link(OBJECT(dev), "downstream", OBJECT(sysmem), &error_fatal); busdev =3D SYS_BUS_DEVICE(dev); sysbus_realize_and_unref(busdev, &error_fatal); diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c index e40c868a82..f030a416fd 100644 --- a/hw/arm/sbsa-ref.c +++ b/hw/arm/sbsa-ref.c @@ -499,7 +499,7 @@ static void create_smmu(const SBSAMachineState *sms, PC= IBus *bus) =20 dev =3D qdev_new("arm-smmuv3"); =20 - object_property_set_link(OBJECT(dev), OBJECT(bus), "primary-bus", + object_property_set_link(OBJECT(dev), "primary-bus", OBJECT(bus), &error_abort); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base); @@ -659,8 +659,8 @@ static void sbsa_ref_init(MachineState *machine) } =20 cpuobj =3D object_new(possible_cpus->cpus[n].type); - object_property_set_int(cpuobj, possible_cpus->cpus[n].arch_id, - "mp-affinity", NULL); + object_property_set_int(cpuobj, "mp-affinity", + possible_cpus->cpus[n].arch_id, NULL); =20 cs =3D CPU(cpuobj); cs->cpu_index =3D n; @@ -669,16 +669,16 @@ static void sbsa_ref_init(MachineState *machine) &error_fatal); =20 if (object_property_find(cpuobj, "reset-cbar", NULL)) { - object_property_set_int(cpuobj, + object_property_set_int(cpuobj, "reset-cbar", sbsa_ref_memmap[SBSA_CPUPERIPHS].base, - "reset-cbar", &error_abort); + &error_abort); } =20 - object_property_set_link(cpuobj, OBJECT(sysmem), "memory", + object_property_set_link(cpuobj, "memory", OBJECT(sysmem), &error_abort); =20 - object_property_set_link(cpuobj, OBJECT(secure_sysmem), - "secure-memory", &error_abort); + object_property_set_link(cpuobj, "secure-memory", + OBJECT(secure_sysmem), &error_abort); =20 qdev_realize(DEVICE(cpuobj), NULL, &error_fatal); object_unref(cpuobj); diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c index 97ef566c12..7156fb3ece 100644 --- a/hw/arm/stellaris.c +++ b/hw/arm/stellaris.c @@ -1312,8 +1312,8 @@ static void stellaris_init(MachineState *ms, stellari= s_board_info *board) qdev_prop_set_uint32(nvic, "num-irq", NUM_IRQ_LINES); qdev_prop_set_string(nvic, "cpu-type", ms->cpu_type); qdev_prop_set_bit(nvic, "enable-bitband", true); - object_property_set_link(OBJECT(nvic), OBJECT(get_system_memory()), - "memory", &error_abort); + object_property_set_link(OBJECT(nvic), "memory", + OBJECT(get_system_memory()), &error_abort); /* This will exit with an error if the user passed us a bad cpu_type */ sysbus_realize_and_unref(SYS_BUS_DEVICE(nvic), &error_fatal); =20 diff --git a/hw/arm/stm32f205_soc.c b/hw/arm/stm32f205_soc.c index 5b008722e5..a4f3344db2 100644 --- a/hw/arm/stm32f205_soc.c +++ b/hw/arm/stm32f205_soc.c @@ -104,8 +104,8 @@ static void stm32f205_soc_realize(DeviceState *dev_soc,= Error **errp) qdev_prop_set_uint32(armv7m, "num-irq", 96); qdev_prop_set_string(armv7m, "cpu-type", s->cpu_type); qdev_prop_set_bit(armv7m, "enable-bitband", true); - object_property_set_link(OBJECT(&s->armv7m), OBJECT(get_system_memory(= )), - "memory", &error_abort); + object_property_set_link(OBJECT(&s->armv7m), "memory", + OBJECT(get_system_memory()), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), errp)) { return; } @@ -144,8 +144,8 @@ static void stm32f205_soc_realize(DeviceState *dev_soc,= Error **errp) } =20 /* ADC 1 to 3 */ - object_property_set_int(OBJECT(s->adc_irqs), STM_NUM_ADCS, - "num-lines", &error_abort); + object_property_set_int(OBJECT(s->adc_irqs), "num-lines", STM_NUM_ADCS, + &error_abort); if (!qdev_realize(DEVICE(s->adc_irqs), NULL, errp)) { return; } diff --git a/hw/arm/stm32f405_soc.c b/hw/arm/stm32f405_soc.c index 48b7181665..282bc6f36c 100644 --- a/hw/arm/stm32f405_soc.c +++ b/hw/arm/stm32f405_soc.c @@ -116,8 +116,8 @@ static void stm32f405_soc_realize(DeviceState *dev_soc,= Error **errp) qdev_prop_set_uint32(armv7m, "num-irq", 96); qdev_prop_set_string(armv7m, "cpu-type", s->cpu_type); qdev_prop_set_bit(armv7m, "enable-bitband", true); - object_property_set_link(OBJECT(&s->armv7m), OBJECT(system_memory), - "memory", &error_abort); + object_property_set_link(OBJECT(&s->armv7m), "memory", + OBJECT(system_memory), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->armv7m), errp)) { return; } @@ -163,8 +163,8 @@ static void stm32f405_soc_realize(DeviceState *dev_soc,= Error **errp) error_propagate(errp, err); return; } - object_property_set_int(OBJECT(&s->adc_irqs), STM_NUM_ADCS, - "num-lines", &error_abort); + object_property_set_int(OBJECT(&s->adc_irqs), "num-lines", STM_NUM_ADC= S, + &error_abort); if (!qdev_realize(DEVICE(&s->adc_irqs), NULL, errp)) { return; } diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c index 2ebdcbd8ac..cccb8b14bc 100644 --- a/hw/arm/versatilepb.c +++ b/hw/arm/versatilepb.c @@ -212,7 +212,7 @@ static void versatile_init(MachineState *machine, int b= oard_id) * realization. */ if (object_property_find(cpuobj, "has_el3", NULL)) { - object_property_set_bool(cpuobj, false, "has_el3", &error_fatal); + object_property_set_bool(cpuobj, "has_el3", false, &error_fatal); } =20 qdev_realize(DEVICE(cpuobj), NULL, &error_fatal); @@ -287,7 +287,7 @@ static void versatile_init(MachineState *machine, int b= oard_id) pl011_create(0x10009000, sic[6], serial_hd(3)); =20 dev =3D qdev_new("pl080"); - object_property_set_link(OBJECT(dev), OBJECT(sysmem), "downstream", + object_property_set_link(OBJECT(dev), "downstream", OBJECT(sysmem), &error_fatal); busdev =3D SYS_BUS_DEVICE(dev); sysbus_realize_and_unref(busdev, &error_fatal); diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c index 725d024c91..fe31b171a9 100644 --- a/hw/arm/vexpress.c +++ b/hw/arm/vexpress.c @@ -217,17 +217,17 @@ static void init_cpus(MachineState *ms, const char *c= pu_type, Object *cpuobj =3D object_new(cpu_type); =20 if (!secure) { - object_property_set_bool(cpuobj, false, "has_el3", NULL); + object_property_set_bool(cpuobj, "has_el3", false, NULL); } if (!virt) { if (object_property_find(cpuobj, "has_el2", NULL)) { - object_property_set_bool(cpuobj, false, "has_el2", NULL); + object_property_set_bool(cpuobj, "has_el2", false, NULL); } } =20 if (object_property_find(cpuobj, "reset-cbar", NULL)) { - object_property_set_int(cpuobj, periphbase, - "reset-cbar", &error_abort); + object_property_set_int(cpuobj, "reset-cbar", periphbase, + &error_abort); } qdev_realize(DEVICE(cpuobj), NULL, &error_fatal); } diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 29b9d5b2e6..7d23f6e99d 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -594,7 +594,7 @@ static void create_its(VirtMachineState *vms) =20 dev =3D qdev_new(itsclass); =20 - object_property_set_link(OBJECT(dev), OBJECT(vms->gic), "parent-gicv3", + object_property_set_link(OBJECT(dev), "parent-gicv3", OBJECT(vms->gic), &error_abort); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, vms->memmap[VIRT_GIC_ITS].base= ); @@ -1173,7 +1173,7 @@ static void create_smmu(const VirtMachineState *vms, =20 dev =3D qdev_new("arm-smmuv3"); =20 - object_property_set_link(OBJECT(dev), OBJECT(bus), "primary-bus", + object_property_set_link(OBJECT(dev), "primary-bus", OBJECT(bus), &error_abort); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base); @@ -1766,8 +1766,8 @@ static void machvirt_init(MachineState *machine) } =20 cpuobj =3D object_new(possible_cpus->cpus[n].type); - object_property_set_int(cpuobj, possible_cpus->cpus[n].arch_id, - "mp-affinity", NULL); + object_property_set_int(cpuobj, "mp-affinity", + possible_cpus->cpus[n].arch_id, NULL); =20 cs =3D CPU(cpuobj); cs->cpu_index =3D n; @@ -1778,43 +1778,44 @@ static void machvirt_init(MachineState *machine) aarch64 &=3D object_property_get_bool(cpuobj, "aarch64", NULL); =20 if (!vms->secure) { - object_property_set_bool(cpuobj, false, "has_el3", NULL); + object_property_set_bool(cpuobj, "has_el3", false, NULL); } =20 if (!vms->virt && object_property_find(cpuobj, "has_el2", NULL)) { - object_property_set_bool(cpuobj, false, "has_el2", NULL); + object_property_set_bool(cpuobj, "has_el2", false, NULL); } =20 if (vms->psci_conduit !=3D QEMU_PSCI_CONDUIT_DISABLED) { - object_property_set_int(cpuobj, vms->psci_conduit, - "psci-conduit", NULL); + object_property_set_int(cpuobj, "psci-conduit", vms->psci_cond= uit, + NULL); =20 /* Secondary CPUs start in PSCI powered-down state */ if (n > 0) { - object_property_set_bool(cpuobj, true, - "start-powered-off", NULL); + object_property_set_bool(cpuobj, "start-powered-off", true, + NULL); } } =20 if (vmc->kvm_no_adjvtime && object_property_find(cpuobj, "kvm-no-adjvtime", NULL)) { - object_property_set_bool(cpuobj, true, "kvm-no-adjvtime", NULL= ); + object_property_set_bool(cpuobj, "kvm-no-adjvtime", true, NULL= ); } =20 if (vmc->no_pmu && object_property_find(cpuobj, "pmu", NULL)) { - object_property_set_bool(cpuobj, false, "pmu", NULL); + object_property_set_bool(cpuobj, "pmu", false, NULL); } =20 if (object_property_find(cpuobj, "reset-cbar", NULL)) { - object_property_set_int(cpuobj, vms->memmap[VIRT_CPUPERIPHS].b= ase, - "reset-cbar", &error_abort); + object_property_set_int(cpuobj, "reset-cbar", + vms->memmap[VIRT_CPUPERIPHS].base, + &error_abort); } =20 - object_property_set_link(cpuobj, OBJECT(sysmem), "memory", + object_property_set_link(cpuobj, "memory", OBJECT(sysmem), &error_abort); if (vms->secure) { - object_property_set_link(cpuobj, OBJECT(secure_sysmem), - "secure-memory", &error_abort); + object_property_set_link(cpuobj, "secure-memory", + OBJECT(secure_sysmem), &error_abort); } =20 qdev_realize(DEVICE(cpuobj), NULL, &error_fatal); diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c index ed970273f3..32aa7323d9 100644 --- a/hw/arm/xilinx_zynq.c +++ b/hw/arm/xilinx_zynq.c @@ -196,12 +196,12 @@ static void zynq_init(MachineState *machine) * realization. */ if (object_property_find(OBJECT(cpu), "has_el3", NULL)) { - object_property_set_bool(OBJECT(cpu), false, "has_el3", &error_fat= al); + object_property_set_bool(OBJECT(cpu), "has_el3", false, &error_fat= al); } =20 - object_property_set_int(OBJECT(cpu), ZYNQ_BOARD_MIDR, "midr", + object_property_set_int(OBJECT(cpu), "midr", ZYNQ_BOARD_MIDR, &error_fatal); - object_property_set_int(OBJECT(cpu), MPCORE_PERIPHBASE, "reset-cbar", + object_property_set_int(OBJECT(cpu), "reset-cbar", MPCORE_PERIPHBASE, &error_fatal); qdev_realize(DEVICE(cpu), NULL, &error_fatal); =20 diff --git a/hw/arm/xlnx-versal-virt.c b/hw/arm/xlnx-versal-virt.c index a3b1ce9c7c..4b3152ee77 100644 --- a/hw/arm/xlnx-versal-virt.c +++ b/hw/arm/xlnx-versal-virt.c @@ -502,10 +502,10 @@ static void versal_virt_init(MachineState *machine) =20 object_initialize_child(OBJECT(machine), "xlnx-versal", &s->soc, TYPE_XLNX_VERSAL); - object_property_set_link(OBJECT(&s->soc), OBJECT(machine->ram), - "ddr", &error_abort); - object_property_set_int(OBJECT(&s->soc), psci_conduit, - "psci-conduit", &error_abort); + object_property_set_link(OBJECT(&s->soc), "ddr", OBJECT(machine->ram), + &error_abort); + object_property_set_int(OBJECT(&s->soc), "psci-conduit", psci_conduit, + &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->soc), &error_fatal); =20 fdt_create(s); diff --git a/hw/arm/xlnx-versal.c b/hw/arm/xlnx-versal.c index fed9d07ca2..ead038b971 100644 --- a/hw/arm/xlnx-versal.c +++ b/hw/arm/xlnx-versal.c @@ -35,17 +35,17 @@ static void versal_create_apu_cpus(Versal *s) object_initialize_child(OBJECT(s), "apu-cpu[*]", &s->fpd.apu.cpu[i= ], XLNX_VERSAL_ACPU_TYPE); obj =3D OBJECT(&s->fpd.apu.cpu[i]); - object_property_set_int(obj, s->cfg.psci_conduit, - "psci-conduit", &error_abort); + object_property_set_int(obj, "psci-conduit", s->cfg.psci_conduit, + &error_abort); if (i) { /* Secondary CPUs start in PSCI powered-down state */ - object_property_set_bool(obj, true, - "start-powered-off", &error_abort); + object_property_set_bool(obj, "start-powered-off", true, + &error_abort); } =20 - object_property_set_int(obj, ARRAY_SIZE(s->fpd.apu.cpu), - "core-count", &error_abort); - object_property_set_link(obj, OBJECT(&s->fpd.apu.mr), "memory", + object_property_set_int(obj, "core-count", ARRAY_SIZE(s->fpd.apu.c= pu), + &error_abort); + object_property_set_link(obj, "memory", OBJECT(&s->fpd.apu.mr), &error_abort); qdev_realize(DEVICE(obj), NULL, &error_fatal); } @@ -164,11 +164,9 @@ static void versal_create_gems(Versal *s, qemu_irq *pi= c) qemu_check_nic_model(nd, "cadence_gem"); qdev_set_nic_properties(dev, nd); } - object_property_set_int(OBJECT(dev), - 2, "num-priority-queues", + object_property_set_int(OBJECT(dev), "num-priority-queues", 2, &error_abort); - object_property_set_link(OBJECT(dev), - OBJECT(&s->mr_ps), "dma", + object_property_set_link(OBJECT(dev), "dma", OBJECT(&s->mr_ps), &error_abort); sysbus_realize(SYS_BUS_DEVICE(dev), &error_fatal); =20 @@ -192,7 +190,7 @@ static void versal_create_admas(Versal *s, qemu_irq *pi= c) object_initialize_child(OBJECT(s), name, &s->lpd.iou.adma[i], TYPE_XLNX_ZDMA); dev =3D DEVICE(&s->lpd.iou.adma[i]); - object_property_set_int(OBJECT(dev), 128, "bus-width", &error_abor= t); + object_property_set_int(OBJECT(dev), "bus-width", 128, &error_abor= t); sysbus_realize(SYS_BUS_DEVICE(dev), &error_fatal); =20 mr =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0); @@ -217,11 +215,11 @@ static void versal_create_sds(Versal *s, qemu_irq *pi= c) TYPE_SYSBUS_SDHCI); dev =3D DEVICE(&s->pmc.iou.sd[i]); =20 - object_property_set_uint(OBJECT(dev), - 3, "sd-spec-version", &error_fatal); - object_property_set_uint(OBJECT(dev), SDHCI_CAPABILITIES, "capareg= ", + object_property_set_uint(OBJECT(dev), "sd-spec-version", 3, &error_fatal); - object_property_set_uint(OBJECT(dev), UHS_I, "uhs", &error_fatal); + object_property_set_uint(OBJECT(dev), "capareg", SDHCI_CAPABILITIE= S, + &error_fatal); + object_property_set_uint(OBJECT(dev), "uhs", UHS_I, &error_fatal); sysbus_realize(SYS_BUS_DEVICE(dev), &error_fatal); =20 mr =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0); diff --git a/hw/arm/xlnx-zcu102.c b/hw/arm/xlnx-zcu102.c index 77449759c6..5997262459 100644 --- a/hw/arm/xlnx-zcu102.c +++ b/hw/arm/xlnx-zcu102.c @@ -118,11 +118,11 @@ static void xlnx_zcu102_init(MachineState *machine) =20 object_initialize_child(OBJECT(machine), "soc", &s->soc, TYPE_XLNX_ZYN= QMP); =20 - object_property_set_link(OBJECT(&s->soc), OBJECT(machine->ram), - "ddr-ram", &error_abort); - object_property_set_bool(OBJECT(&s->soc), s->secure, "secure", + object_property_set_link(OBJECT(&s->soc), "ddr-ram", OBJECT(machine->r= am), + &error_abort); + object_property_set_bool(OBJECT(&s->soc), "secure", s->secure, &error_fatal); - object_property_set_bool(OBJECT(&s->soc), s->virt, "virtualization", + object_property_set_bool(OBJECT(&s->soc), "virtualization", s->virt, &error_fatal); =20 qdev_realize(DEVICE(&s->soc), NULL, &error_fatal); diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c index 33e63a2c4e..48bbb5066e 100644 --- a/hw/arm/xlnx-zynqmp.c +++ b/hw/arm/xlnx-zynqmp.c @@ -199,14 +199,14 @@ static void xlnx_zynqmp_create_rpu(MachineState *ms, = XlnxZynqMPState *s, name =3D object_get_canonical_path_component(OBJECT(&s->rpu_cpu[i]= )); if (strcmp(name, boot_cpu)) { /* Secondary CPUs start in PSCI powered-down state */ - object_property_set_bool(OBJECT(&s->rpu_cpu[i]), true, - "start-powered-off", &error_abort); + object_property_set_bool(OBJECT(&s->rpu_cpu[i]), + "start-powered-off", true, &error_abo= rt); } else { s->boot_cpu_ptr =3D &s->rpu_cpu[i]; } g_free(name); =20 - object_property_set_bool(OBJECT(&s->rpu_cpu[i]), true, "reset-hive= cs", + object_property_set_bool(OBJECT(&s->rpu_cpu[i]), "reset-hivecs", t= rue, &error_abort); if (!qdev_realize(DEVICE(&s->rpu_cpu[i]), NULL, errp)) { return; @@ -343,27 +343,27 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Err= or **errp) for (i =3D 0; i < num_apus; i++) { char *name; =20 - object_property_set_int(OBJECT(&s->apu_cpu[i]), QEMU_PSCI_CONDUIT_= SMC, - "psci-conduit", &error_abort); + object_property_set_int(OBJECT(&s->apu_cpu[i]), "psci-conduit", + QEMU_PSCI_CONDUIT_SMC, &error_abort); =20 name =3D object_get_canonical_path_component(OBJECT(&s->apu_cpu[i]= )); if (strcmp(name, boot_cpu)) { /* Secondary CPUs start in PSCI powered-down state */ - object_property_set_bool(OBJECT(&s->apu_cpu[i]), true, - "start-powered-off", &error_abort); + object_property_set_bool(OBJECT(&s->apu_cpu[i]), + "start-powered-off", true, &error_abo= rt); } else { s->boot_cpu_ptr =3D &s->apu_cpu[i]; } g_free(name); =20 - object_property_set_bool(OBJECT(&s->apu_cpu[i]), - s->secure, "has_el3", NULL); - object_property_set_bool(OBJECT(&s->apu_cpu[i]), - s->virt, "has_el2", NULL); - object_property_set_int(OBJECT(&s->apu_cpu[i]), GIC_BASE_ADDR, - "reset-cbar", &error_abort); - object_property_set_int(OBJECT(&s->apu_cpu[i]), num_apus, - "core-count", &error_abort); + object_property_set_bool(OBJECT(&s->apu_cpu[i]), "has_el3", s->sec= ure, + NULL); + object_property_set_bool(OBJECT(&s->apu_cpu[i]), "has_el2", s->vir= t, + NULL); + object_property_set_int(OBJECT(&s->apu_cpu[i]), "reset-cbar", + GIC_BASE_ADDR, &error_abort); + object_property_set_int(OBJECT(&s->apu_cpu[i]), "core-count", + num_apus, &error_abort); if (!qdev_realize(DEVICE(&s->apu_cpu[i]), NULL, errp)) { return; } @@ -459,9 +459,9 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) qemu_check_nic_model(nd, TYPE_CADENCE_GEM); qdev_set_nic_properties(DEVICE(&s->gem[i]), nd); } - object_property_set_int(OBJECT(&s->gem[i]), GEM_REVISION, "revisio= n", + object_property_set_int(OBJECT(&s->gem[i]), "revision", GEM_REVISI= ON, &error_abort); - object_property_set_int(OBJECT(&s->gem[i]), 2, "num-priority-queue= s", + object_property_set_int(OBJECT(&s->gem[i]), "num-priority-queues",= 2, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->gem[i]), errp)) { return; @@ -481,7 +481,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) gic_spi[uart_intr[i]]); } =20 - object_property_set_int(OBJECT(&s->sata), SATA_NUM_PORTS, "num-ports", + object_property_set_int(OBJECT(&s->sata), "num-ports", SATA_NUM_PORTS, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->sata), errp)) { return; @@ -500,17 +500,17 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Err= or **errp) * - SDIO Specification Version 3.0 * - eMMC Specification Version 4.51 */ - object_property_set_uint(sdhci, 3, "sd-spec-version", &err); + object_property_set_uint(sdhci, "sd-spec-version", 3, &err); if (err) { error_propagate(errp, err); return; } - object_property_set_uint(sdhci, SDHCI_CAPABILITIES, "capareg", &er= r); + object_property_set_uint(sdhci, "capareg", SDHCI_CAPABILITIES, &er= r); if (err) { error_propagate(errp, err); return; } - object_property_set_uint(sdhci, UHS_I, "uhs", &err); + object_property_set_uint(sdhci, "uhs", UHS_I, &err); if (err) { error_propagate(errp, err); return; @@ -574,7 +574,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) if (!sysbus_realize(SYS_BUS_DEVICE(&s->dpdma), errp)) { return; } - object_property_set_link(OBJECT(&s->dp), OBJECT(&s->dpdma), "dpdma", + object_property_set_link(OBJECT(&s->dp), "dpdma", OBJECT(&s->dpdma), &error_abort); sysbus_mmio_map(SYS_BUS_DEVICE(&s->dpdma), 0, DPDMA_ADDR); sysbus_connect_irq(SYS_BUS_DEVICE(&s->dpdma), 0, gic_spi[DPDMA_IRQ]); @@ -592,7 +592,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) sysbus_connect_irq(SYS_BUS_DEVICE(&s->rtc), 0, gic_spi[RTC_IRQ]); =20 for (i =3D 0; i < XLNX_ZYNQMP_NUM_GDMA_CH; i++) { - object_property_set_uint(OBJECT(&s->gdma[i]), 128, "bus-width", &e= rr); + object_property_set_uint(OBJECT(&s->gdma[i]), "bus-width", 128, &e= rr); if (err) { error_propagate(errp, err); return; diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c index d45758937a..1b323b44d9 100644 --- a/hw/block/xen-block.c +++ b/hw/block/xen-block.c @@ -931,21 +931,20 @@ static void xen_block_device_create(XenBackendInstanc= e *backend, xendev =3D XEN_DEVICE(qdev_new(type)); blockdev =3D XEN_BLOCK_DEVICE(xendev); =20 - object_property_set_str(OBJECT(xendev), vdev, "vdev", &local_err); + object_property_set_str(OBJECT(xendev), "vdev", vdev, &local_err); if (local_err) { error_propagate_prepend(errp, local_err, "failed to set 'vdev': "); goto fail; } =20 - object_property_set_str(OBJECT(xendev), - xen_block_drive_get_node_name(drive), "drive", - &local_err); + object_property_set_str(OBJECT(xendev), "drive", + xen_block_drive_get_node_name(drive), &local_e= rr); if (local_err) { error_propagate_prepend(errp, local_err, "failed to set 'drive': "= ); goto fail; } =20 - object_property_set_str(OBJECT(xendev), iothread->id, "iothread", + object_property_set_str(OBJECT(xendev), "iothread", iothread->id, &local_err); if (local_err) { error_propagate_prepend(errp, local_err, diff --git a/hw/core/bus.c b/hw/core/bus.c index 544dd8a6fa..00d1d31762 100644 --- a/hw/core/bus.c +++ b/hw/core/bus.c @@ -25,8 +25,8 @@ =20 void qbus_set_hotplug_handler(BusState *bus, Object *handler) { - object_property_set_link(OBJECT(bus), handler, - QDEV_HOTPLUG_HANDLER_PROPERTY, &error_abort); + object_property_set_link(OBJECT(bus), QDEV_HOTPLUG_HANDLER_PROPERTY, + handler, &error_abort); } =20 void qbus_set_bus_hotplug_handler(BusState *bus) @@ -168,14 +168,14 @@ bool qbus_realize(BusState *bus, Error **errp) { Error *err =3D NULL; =20 - object_property_set_bool(OBJECT(bus), true, "realized", &err); + object_property_set_bool(OBJECT(bus), "realized", true, &err); error_propagate(errp, err); return !err; } =20 void qbus_unrealize(BusState *bus) { - object_property_set_bool(OBJECT(bus), false, "realized", &error_abort); + object_property_set_bool(OBJECT(bus), "realized", false, &error_abort); } =20 static bool bus_get_realized(Object *obj, Error **errp) diff --git a/hw/core/numa.c b/hw/core/numa.c index 118803a0e8..2d076f084f 100644 --- a/hw/core/numa.c +++ b/hw/core/numa.c @@ -785,8 +785,8 @@ void numa_cpu_pre_plug(const CPUArchId *slot, DeviceSta= te *dev, Error **errp) /* due to bug in libvirt, it doesn't pass node-id from props on * device_add as expected, so we have to fix it up here */ if (slot->props.has_node_id) { - object_property_set_int(OBJECT(dev), slot->props.node_id, - "node-id", errp); + object_property_set_int(OBJECT(dev), "node-id", + slot->props.node_id, errp); } } else if (node_id !=3D slot->props.node_id) { error_setg(errp, "invalid node-id, must be %"PRId64, diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-sys= tem.c index f69e2858d1..abd851656f 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -428,7 +428,7 @@ void qdev_prop_set_drive_err(DeviceState *dev, const ch= ar *name, } } =20 - object_property_set_str(OBJECT(dev), ref, name, errp); + object_property_set_str(OBJECT(dev), name, ref, errp); } =20 void qdev_prop_set_drive(DeviceState *dev, const char *name, @@ -441,16 +441,16 @@ void qdev_prop_set_chr(DeviceState *dev, const char *= name, Chardev *value) { assert(!value || value->label); - object_property_set_str(OBJECT(dev), - value ? value->label : "", name, &error_abort); + object_property_set_str(OBJECT(dev), name, value ? value->label : "", + &error_abort); } =20 void qdev_prop_set_netdev(DeviceState *dev, const char *name, NetClientState *value) { assert(!value || value->name); - object_property_set_str(OBJECT(dev), - value ? value->name : "", name, &error_abort); + object_property_set_str(OBJECT(dev), name, value ? value->name : "", + &error_abort); } =20 void qdev_set_nic_properties(DeviceState *dev, NICInfo *nd) diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index 11e7d27ccc..e1ad147339 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -1149,37 +1149,37 @@ void error_set_from_qdev_prop_error(Error **errp, i= nt ret, DeviceState *dev, =20 void qdev_prop_set_bit(DeviceState *dev, const char *name, bool value) { - object_property_set_bool(OBJECT(dev), value, name, &error_abort); + object_property_set_bool(OBJECT(dev), name, value, &error_abort); } =20 void qdev_prop_set_uint8(DeviceState *dev, const char *name, uint8_t value) { - object_property_set_int(OBJECT(dev), value, name, &error_abort); + object_property_set_int(OBJECT(dev), name, value, &error_abort); } =20 void qdev_prop_set_uint16(DeviceState *dev, const char *name, uint16_t val= ue) { - object_property_set_int(OBJECT(dev), value, name, &error_abort); + object_property_set_int(OBJECT(dev), name, value, &error_abort); } =20 void qdev_prop_set_uint32(DeviceState *dev, const char *name, uint32_t val= ue) { - object_property_set_int(OBJECT(dev), value, name, &error_abort); + object_property_set_int(OBJECT(dev), name, value, &error_abort); } =20 void qdev_prop_set_int32(DeviceState *dev, const char *name, int32_t value) { - object_property_set_int(OBJECT(dev), value, name, &error_abort); + object_property_set_int(OBJECT(dev), name, value, &error_abort); } =20 void qdev_prop_set_uint64(DeviceState *dev, const char *name, uint64_t val= ue) { - object_property_set_int(OBJECT(dev), value, name, &error_abort); + object_property_set_int(OBJECT(dev), name, value, &error_abort); } =20 void qdev_prop_set_string(DeviceState *dev, const char *name, const char *= value) { - object_property_set_str(OBJECT(dev), value, name, &error_abort); + object_property_set_str(OBJECT(dev), name, value, &error_abort); } =20 void qdev_prop_set_macaddr(DeviceState *dev, const char *name, @@ -1189,7 +1189,7 @@ void qdev_prop_set_macaddr(DeviceState *dev, const ch= ar *name, snprintf(str, sizeof(str), "%02x:%02x:%02x:%02x:%02x:%02x", value[0], value[1], value[2], value[3], value[4], value[5]); =20 - object_property_set_str(OBJECT(dev), str, name, &error_abort); + object_property_set_str(OBJECT(dev), name, str, &error_abort); } =20 void qdev_prop_set_enum(DeviceState *dev, const char *name, int value) @@ -1197,9 +1197,9 @@ void qdev_prop_set_enum(DeviceState *dev, const char = *name, int value) Property *prop; =20 prop =3D qdev_prop_find(dev, name); - object_property_set_str(OBJECT(dev), + object_property_set_str(OBJECT(dev), name, qapi_enum_lookup(prop->info->enum_table, value= ), - name, &error_abort); + &error_abort); } =20 static GPtrArray *global_props(void) diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 2131c7f951..8de99f6ba5 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -396,7 +396,7 @@ bool qdev_realize(DeviceState *dev, BusState *bus, Erro= r **errp) assert(!DEVICE_GET_CLASS(dev)->bus_type); } =20 - object_property_set_bool(OBJECT(dev), true, "realized", &err); + object_property_set_bool(OBJECT(dev), "realized", true, &err); if (err) { error_propagate(errp, err); } @@ -424,7 +424,7 @@ bool qdev_realize_and_unref(DeviceState *dev, BusState = *bus, Error **errp) =20 void qdev_unrealize(DeviceState *dev) { - object_property_set_bool(OBJECT(dev), false, "realized", &error_abort); + object_property_set_bool(OBJECT(dev), "realized", false, &error_abort); } =20 static int qdev_assert_realized_properly(Object *obj, void *opaque) @@ -565,7 +565,7 @@ void qdev_connect_gpio_out_named(DeviceState *dev, cons= t char *name, int n, "/unattached"), "non-qdev-gpio[*]", OBJECT(pin)); } - object_property_set_link(OBJECT(dev), OBJECT(pin), propname, &error_ab= ort); + object_property_set_link(OBJECT(dev), propname, OBJECT(pin), &error_ab= ort); g_free(propname); } =20 @@ -591,7 +591,7 @@ static qemu_irq qdev_disconnect_gpio_out_named(DeviceSt= ate *dev, qemu_irq ret =3D (qemu_irq)object_property_get_link(OBJECT(dev), propn= ame, NULL); if (ret) { - object_property_set_link(OBJECT(dev), NULL, propname, NULL); + object_property_set_link(OBJECT(dev), propname, NULL, NULL); } g_free(propname); return ret; diff --git a/hw/display/virtio-gpu-pci.c b/hw/display/virtio-gpu-pci.c index 93ba5956ed..34d8e93f28 100644 --- a/hw/display/virtio-gpu-pci.c +++ b/hw/display/virtio-gpu-pci.c @@ -38,9 +38,8 @@ static void virtio_gpu_pci_base_realize(VirtIOPCIProxy *v= pci_dev, Error **errp) } =20 for (i =3D 0; i < g->conf.max_outputs; i++) { - object_property_set_link(OBJECT(g->scanout[i].con), - OBJECT(vpci_dev), - "device", &error_abort); + object_property_set_link(OBJECT(g->scanout[i].con), "device", + OBJECT(vpci_dev), &error_abort); } } =20 diff --git a/hw/display/virtio-vga.c b/hw/display/virtio-vga.c index fd550b35c8..f533d7d1b4 100644 --- a/hw/display/virtio-vga.c +++ b/hw/display/virtio-vga.c @@ -149,9 +149,8 @@ static void virtio_vga_base_realize(VirtIOPCIProxy *vpc= i_dev, Error **errp) graphic_console_set_hwops(vga->con, &virtio_vga_base_ops, vvga); =20 for (i =3D 0; i < g->conf.max_outputs; i++) { - object_property_set_link(OBJECT(g->scanout[i].con), - OBJECT(vpci_dev), - "device", &error_abort); + object_property_set_link(OBJECT(g->scanout[i].con), "device", + OBJECT(vpci_dev), &error_abort); } } =20 diff --git a/hw/dma/sparc32_dma.c b/hw/dma/sparc32_dma.c index 2d7dbbb92d..9459178866 100644 --- a/hw/dma/sparc32_dma.c +++ b/hw/dma/sparc32_dma.c @@ -346,7 +346,7 @@ static void sparc32_ledma_device_realize(DeviceState *d= ev, Error **errp) d =3D qdev_new(TYPE_LANCE); object_property_add_child(OBJECT(dev), "lance", OBJECT(d)); qdev_set_nic_properties(d, nd); - object_property_set_link(OBJECT(d), OBJECT(dev), "dma", &error_abort); + object_property_set_link(OBJECT(d), "dma", OBJECT(dev), &error_abort); sysbus_realize_and_unref(SYS_BUS_DEVICE(d), &error_fatal); } =20 @@ -379,7 +379,7 @@ static void sparc32_dma_realize(DeviceState *dev, Error= **errp) } =20 espdma =3D qdev_new(TYPE_SPARC32_ESPDMA_DEVICE); - object_property_set_link(OBJECT(espdma), iommu, "iommu", &error_abort); + object_property_set_link(OBJECT(espdma), "iommu", iommu, &error_abort); object_property_add_child(OBJECT(s), "espdma", OBJECT(espdma)); sysbus_realize_and_unref(SYS_BUS_DEVICE(espdma), &error_fatal); =20 @@ -394,7 +394,7 @@ static void sparc32_dma_realize(DeviceState *dev, Error= **errp) sysbus_mmio_get_region(sbd, 0)); =20 ledma =3D qdev_new(TYPE_SPARC32_LEDMA_DEVICE); - object_property_set_link(OBJECT(ledma), iommu, "iommu", &error_abort); + object_property_set_link(OBJECT(ledma), "iommu", iommu, &error_abort); object_property_add_child(OBJECT(s), "ledma", OBJECT(ledma)); sysbus_realize_and_unref(SYS_BUS_DEVICE(ledma), &error_fatal); =20 diff --git a/hw/dma/xilinx_axidma.c b/hw/dma/xilinx_axidma.c index a069637bf2..a4812e480a 100644 --- a/hw/dma/xilinx_axidma.c +++ b/hw/dma/xilinx_axidma.c @@ -547,8 +547,8 @@ static void xilinx_axidma_realize(DeviceState *dev, Err= or **errp) (Object **)&cs->dma, object_property_allow_set_link, OBJ_PROP_LINK_STRONG); - object_property_set_link(OBJECT(ds), OBJECT(s), "dma", &error_abort); - object_property_set_link(OBJECT(cs), OBJECT(s), "dma", &error_abort); + object_property_set_link(OBJECT(ds), "dma", OBJECT(s), &error_abort); + object_property_set_link(OBJECT(cs), "dma", OBJECT(s), &error_abort); =20 for (i =3D 0; i < 2; i++) { struct Stream *st =3D &s->streams[i]; diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 50e431346e..4d4a4b2a48 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -664,8 +664,8 @@ void pc_cmos_init(PCMachineState *pcms, (Object **)&x86ms->rtc, object_property_allow_set_link, OBJ_PROP_LINK_STRONG); - object_property_set_link(OBJECT(pcms), OBJECT(s), - "rtc_state", &error_abort); + object_property_set_link(OBJECT(pcms), "rtc_state", OBJECT(s), + &error_abort); =20 set_boot_dev(s, MACHINE(pcms)->boot_order, &error_fatal); =20 @@ -1167,8 +1167,8 @@ static void pc_superio_init(ISABus *isa_bus, bool cre= ate_fdctrl, bool no_vmport) vmmouse =3D NULL; } if (vmmouse) { - object_property_set_link(OBJECT(vmmouse), OBJECT(i8042), - "i8042", &error_abort); + object_property_set_link(OBJECT(vmmouse), "i8042", OBJECT(i8042), + &error_abort); isa_realize_and_unref(vmmouse, isa_bus, &error_fatal); } port92 =3D isa_create_simple(isa_bus, TYPE_PORT92); diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 1497d0e4ae..e91747560f 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -294,8 +294,8 @@ static void pc_init1(MachineState *machine, (Object **)&pcms->acpi_dev, object_property_allow_set_link, OBJ_PROP_LINK_STRONG); - object_property_set_link(OBJECT(machine), OBJECT(piix4_pm), - PC_MACHINE_ACPI_DEVICE_PROP, &error_abort= ); + object_property_set_link(OBJECT(machine), PC_MACHINE_ACPI_DEVICE_P= ROP, + OBJECT(piix4_pm), &error_abort); } =20 if (machine->nvdimms_state->is_enabled) { diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 46cd06524c..deff0d0c05 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -217,18 +217,18 @@ static void pc_q35_init(MachineState *machine) q35_host =3D Q35_HOST_DEVICE(qdev_new(TYPE_Q35_HOST_DEVICE)); =20 object_property_add_child(qdev_get_machine(), "q35", OBJECT(q35_host)); - object_property_set_link(OBJECT(q35_host), OBJECT(ram_memory), - MCH_HOST_PROP_RAM_MEM, NULL); - object_property_set_link(OBJECT(q35_host), OBJECT(pci_memory), - MCH_HOST_PROP_PCI_MEM, NULL); - object_property_set_link(OBJECT(q35_host), OBJECT(get_system_memory()), - MCH_HOST_PROP_SYSTEM_MEM, NULL); - object_property_set_link(OBJECT(q35_host), OBJECT(system_io), - MCH_HOST_PROP_IO_MEM, NULL); - object_property_set_int(OBJECT(q35_host), x86ms->below_4g_mem_size, - PCI_HOST_BELOW_4G_MEM_SIZE, NULL); - object_property_set_int(OBJECT(q35_host), x86ms->above_4g_mem_size, - PCI_HOST_ABOVE_4G_MEM_SIZE, NULL); + object_property_set_link(OBJECT(q35_host), MCH_HOST_PROP_RAM_MEM, + OBJECT(ram_memory), NULL); + object_property_set_link(OBJECT(q35_host), MCH_HOST_PROP_PCI_MEM, + OBJECT(pci_memory), NULL); + object_property_set_link(OBJECT(q35_host), MCH_HOST_PROP_SYSTEM_MEM, + OBJECT(get_system_memory()), NULL); + object_property_set_link(OBJECT(q35_host), MCH_HOST_PROP_IO_MEM, + OBJECT(system_io), NULL); + object_property_set_int(OBJECT(q35_host), PCI_HOST_BELOW_4G_MEM_SIZE, + x86ms->below_4g_mem_size, NULL); + object_property_set_int(OBJECT(q35_host), PCI_HOST_ABOVE_4G_MEM_SIZE, + x86ms->above_4g_mem_size, NULL); /* pci */ sysbus_realize_and_unref(SYS_BUS_DEVICE(q35_host), &error_fatal); phb =3D PCI_HOST_BRIDGE(q35_host); @@ -243,8 +243,8 @@ static void pc_q35_init(MachineState *machine) (Object **)&pcms->acpi_dev, object_property_allow_set_link, OBJ_PROP_LINK_STRONG); - object_property_set_link(OBJECT(machine), OBJECT(lpc), - PC_MACHINE_ACPI_DEVICE_PROP, &error_abort); + object_property_set_link(OBJECT(machine), PC_MACHINE_ACPI_DEVICE_PROP, + OBJECT(lpc), &error_abort); =20 /* irq lines */ gsi_state =3D pc_gsi_create(&x86ms->gsi, pcmc->pci_enabled); diff --git a/hw/i386/x86.c b/hw/i386/x86.c index 3a7029e6db..86e853c1d4 100644 --- a/hw/i386/x86.c +++ b/hw/i386/x86.c @@ -120,7 +120,7 @@ void x86_cpu_new(X86MachineState *x86ms, int64_t apic_i= d, Error **errp) { Object *cpu =3D object_new(MACHINE(x86ms)->cpu_type); =20 - object_property_set_uint(cpu, apic_id, "apic-id", &error_abort); + object_property_set_uint(cpu, "apic-id", apic_id, &error_abort); qdev_realize_and_unref(DEVICE(cpu), NULL, errp); } =20 diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c index ba8b0d7f02..27ff1f7f66 100644 --- a/hw/ide/qdev.c +++ b/hw/ide/qdev.c @@ -269,7 +269,7 @@ static void ide_dev_instance_init(Object *obj) object_property_add(obj, "bootindex", "int32", ide_dev_get_bootindex, ide_dev_set_bootindex, NULL, NULL); - object_property_set_int(obj, -1, "bootindex", NULL); + object_property_set_int(obj, "bootindex", -1, NULL); } =20 static void ide_hd_realize(IDEDevice *dev, Error **errp) diff --git a/hw/intc/pnv_xive.c b/hw/intc/pnv_xive.c index 7d33457e81..5f69626b3a 100644 --- a/hw/intc/pnv_xive.c +++ b/hw/intc/pnv_xive.c @@ -1829,17 +1829,16 @@ static void pnv_xive_realize(DeviceState *dev, Erro= r **errp) * resized dynamically when the controller is configured by the FW * to limit accesses to resources not provisioned. */ - object_property_set_int(OBJECT(xsrc), PNV_XIVE_NR_IRQS, "nr-irqs", + object_property_set_int(OBJECT(xsrc), "nr-irqs", PNV_XIVE_NR_IRQS, &error_fatal); - object_property_set_link(OBJECT(xsrc), OBJECT(xive), "xive", - &error_abort); + object_property_set_link(OBJECT(xsrc), "xive", OBJECT(xive), &error_ab= ort); if (!qdev_realize(DEVICE(xsrc), NULL, errp)) { return; } =20 - object_property_set_int(OBJECT(end_xsrc), PNV_XIVE_NR_ENDS, "nr-ends", + object_property_set_int(OBJECT(end_xsrc), "nr-ends", PNV_XIVE_NR_ENDS, &error_fatal); - object_property_set_link(OBJECT(end_xsrc), OBJECT(xive), "xive", + object_property_set_link(OBJECT(end_xsrc), "xive", OBJECT(xive), &error_abort); if (!qdev_realize(DEVICE(end_xsrc), NULL, errp)) { return; diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c index 4e9ee90353..89c8cd9667 100644 --- a/hw/intc/spapr_xive.c +++ b/hw/intc/spapr_xive.c @@ -308,10 +308,9 @@ static void spapr_xive_realize(DeviceState *dev, Error= **errp) /* * Initialize the internal sources, for IPIs and virtual devices. */ - object_property_set_int(OBJECT(xsrc), xive->nr_irqs, "nr-irqs", + object_property_set_int(OBJECT(xsrc), "nr-irqs", xive->nr_irqs, &error_fatal); - object_property_set_link(OBJECT(xsrc), OBJECT(xive), "xive", - &error_abort); + object_property_set_link(OBJECT(xsrc), "xive", OBJECT(xive), &error_ab= ort); if (!qdev_realize(DEVICE(xsrc), NULL, errp)) { return; } @@ -320,9 +319,9 @@ static void spapr_xive_realize(DeviceState *dev, Error = **errp) /* * Initialize the END ESB source */ - object_property_set_int(OBJECT(end_xsrc), xive->nr_irqs, "nr-ends", + object_property_set_int(OBJECT(end_xsrc), "nr-ends", xive->nr_irqs, &error_fatal); - object_property_set_link(OBJECT(end_xsrc), OBJECT(xive), "xive", + object_property_set_link(OBJECT(end_xsrc), "xive", OBJECT(xive), &error_abort); if (!qdev_realize(DEVICE(end_xsrc), NULL, errp)) { return; diff --git a/hw/intc/xics.c b/hw/intc/xics.c index 0d336fb033..68f9d44feb 100644 --- a/hw/intc/xics.c +++ b/hw/intc/xics.c @@ -381,8 +381,8 @@ Object *icp_create(Object *cpu, const char *type, XICSF= abric *xi, Error **errp) obj =3D object_new(type); object_property_add_child(cpu, type, obj); object_unref(obj); - object_property_set_link(obj, OBJECT(xi), ICP_PROP_XICS, &error_abort); - object_property_set_link(obj, cpu, ICP_PROP_CPU, &error_abort); + object_property_set_link(obj, ICP_PROP_XICS, OBJECT(xi), &error_abort); + object_property_set_link(obj, ICP_PROP_CPU, cpu, &error_abort); if (!qdev_realize(DEVICE(obj), NULL, errp)) { object_unparent(obj); obj =3D NULL; diff --git a/hw/intc/xive.c b/hw/intc/xive.c index 8e167306e7..34591659d3 100644 --- a/hw/intc/xive.c +++ b/hw/intc/xive.c @@ -763,8 +763,8 @@ Object *xive_tctx_create(Object *cpu, XivePresenter *xp= tr, Error **errp) obj =3D object_new(TYPE_XIVE_TCTX); object_property_add_child(cpu, TYPE_XIVE_TCTX, obj); object_unref(obj); - object_property_set_link(obj, cpu, "cpu", &error_abort); - object_property_set_link(obj, OBJECT(xptr), "presenter", &error_abort); + object_property_set_link(obj, "cpu", cpu, &error_abort); + object_property_set_link(obj, "presenter", OBJECT(xptr), &error_abort); if (!qdev_realize(DEVICE(obj), NULL, &local_err)) { goto error; } diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c index 459d326af0..1ca482ad81 100644 --- a/hw/m68k/q800.c +++ b/hw/m68k/q800.c @@ -262,8 +262,8 @@ static void q800_init(MachineState *machine) qdev_set_nic_properties(dev, &nd_table[0]); qdev_prop_set_uint8(dev, "it_shift", 2); qdev_prop_set_bit(dev, "big_endian", true); - object_property_set_link(OBJECT(dev), OBJECT(get_system_memory()), - "dma_mr", &error_abort); + object_property_set_link(OBJECT(dev), "dma_mr", + OBJECT(get_system_memory()), &error_abort); sysbus =3D SYS_BUS_DEVICE(dev); sysbus_realize_and_unref(sysbus, &error_fatal); sysbus_mmio_map(sysbus, 0, SONIC_BASE); diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c index 50e049ce1e..9d3f0b9691 100644 --- a/hw/mem/pc-dimm.c +++ b/hw/mem/pc-dimm.c @@ -56,7 +56,7 @@ void pc_dimm_pre_plug(PCDIMMDevice *dimm, MachineState *m= achine, error_propagate(errp, local_err); return; } - object_property_set_int(OBJECT(dimm), slot, PC_DIMM_SLOT_PROP, + object_property_set_int(OBJECT(dimm), PC_DIMM_SLOT_PROP, slot, &error_abort); trace_mhp_pc_dimm_assigned_slot(slot); =20 @@ -225,7 +225,7 @@ static uint64_t pc_dimm_md_get_addr(const MemoryDeviceS= tate *md) static void pc_dimm_md_set_addr(MemoryDeviceState *md, uint64_t addr, Error **errp) { - object_property_set_uint(OBJECT(md), addr, PC_DIMM_ADDR_PROP, errp); + object_property_set_uint(OBJECT(md), PC_DIMM_ADDR_PROP, addr, errp); } =20 static MemoryRegion *pc_dimm_md_get_memory_region(MemoryDeviceState *md, diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_= ml605_mmu.c index fff2c578ef..e49fc86eb8 100644 --- a/hw/microblaze/petalogix_ml605_mmu.c +++ b/hw/microblaze/petalogix_ml605_mmu.c @@ -83,14 +83,14 @@ petalogix_ml605_init(MachineState *machine) =20 /* init CPUs */ cpu =3D MICROBLAZE_CPU(object_new(TYPE_MICROBLAZE_CPU)); - object_property_set_str(OBJECT(cpu), "8.10.a", "version", &error_abort= ); + object_property_set_str(OBJECT(cpu), "version", "8.10.a", &error_abort= ); /* Use FPU but don't use floating point conversion and square * root instructions */ - object_property_set_int(OBJECT(cpu), 1, "use-fpu", &error_abort); - object_property_set_bool(OBJECT(cpu), true, "dcache-writeback", + object_property_set_int(OBJECT(cpu), "use-fpu", 1, &error_abort); + object_property_set_bool(OBJECT(cpu), "dcache-writeback", true, &error_abort); - object_property_set_bool(OBJECT(cpu), true, "endianness", &error_abort= ); + object_property_set_bool(OBJECT(cpu), "endianness", true, &error_abort= ); qdev_realize(DEVICE(cpu), NULL, &error_abort); =20 /* Attach emulated BRAM through the LMB. */ @@ -148,10 +148,10 @@ petalogix_ml605_init(MachineState *machine) qdev_set_nic_properties(eth0, &nd_table[0]); qdev_prop_set_uint32(eth0, "rxmem", 0x1000); qdev_prop_set_uint32(eth0, "txmem", 0x1000); - object_property_set_link(OBJECT(eth0), ds, - "axistream-connected", &error_abort); - object_property_set_link(OBJECT(eth0), cs, - "axistream-control-connected", &error_abort); + object_property_set_link(OBJECT(eth0), "axistream-connected", ds, + &error_abort); + object_property_set_link(OBJECT(eth0), "axistream-control-connected", = cs, + &error_abort); sysbus_realize_and_unref(SYS_BUS_DEVICE(eth0), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(eth0), 0, AXIENET_BASEADDR); sysbus_connect_irq(SYS_BUS_DEVICE(eth0), 0, irq[AXIENET_IRQ]); @@ -161,10 +161,10 @@ petalogix_ml605_init(MachineState *machine) cs =3D object_property_get_link(OBJECT(eth0), "axistream-control-connected-target", NU= LL); qdev_prop_set_uint32(dma, "freqhz", 100 * 1000000); - object_property_set_link(OBJECT(dma), ds, - "axistream-connected", &error_abort); - object_property_set_link(OBJECT(dma), cs, - "axistream-control-connected", &error_abort); + object_property_set_link(OBJECT(dma), "axistream-connected", ds, + &error_abort); + object_property_set_link(OBJECT(dma), "axistream-control-connected", c= s, + &error_abort); sysbus_realize_and_unref(SYS_BUS_DEVICE(dma), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(dma), 0, AXIDMA_BASEADDR); sysbus_connect_irq(SYS_BUS_DEVICE(dma), 0, irq[AXIDMA_IRQ0]); diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petal= ogix_s3adsp1800_mmu.c index a43c980fc9..9d959d1ad8 100644 --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c @@ -70,7 +70,7 @@ petalogix_s3adsp1800_init(MachineState *machine) MemoryRegion *sysmem =3D get_system_memory(); =20 cpu =3D MICROBLAZE_CPU(object_new(TYPE_MICROBLAZE_CPU)); - object_property_set_str(OBJECT(cpu), "7.10.d", "version", &error_abort= ); + object_property_set_str(OBJECT(cpu), "version", "7.10.d", &error_abort= ); qdev_realize(DEVICE(cpu), NULL, &error_abort); =20 /* Attach emulated BRAM through the LMB. */ diff --git a/hw/microblaze/xlnx-zynqmp-pmu.c b/hw/microblaze/xlnx-zynqmp-pm= u.c index cd4f3427d8..5f994547f7 100644 --- a/hw/microblaze/xlnx-zynqmp-pmu.c +++ b/hw/microblaze/xlnx-zynqmp-pmu.c @@ -77,33 +77,33 @@ static void xlnx_zynqmp_pmu_soc_realize(DeviceState *de= v, Error **errp) { XlnxZynqMPPMUSoCState *s =3D XLNX_ZYNQMP_PMU_SOC(dev); =20 - object_property_set_uint(OBJECT(&s->cpu), XLNX_ZYNQMP_PMU_ROM_ADDR, - "base-vectors", &error_abort); - object_property_set_bool(OBJECT(&s->cpu), true, "use-stack-protection", + object_property_set_uint(OBJECT(&s->cpu), "base-vectors", + XLNX_ZYNQMP_PMU_ROM_ADDR, &error_abort); + object_property_set_bool(OBJECT(&s->cpu), "use-stack-protection", true, &error_abort); - object_property_set_uint(OBJECT(&s->cpu), 0, "use-fpu", &error_abort); - object_property_set_uint(OBJECT(&s->cpu), 0, "use-hw-mul", &error_abor= t); - object_property_set_bool(OBJECT(&s->cpu), true, "use-barrel", + object_property_set_uint(OBJECT(&s->cpu), "use-fpu", 0, &error_abort); + object_property_set_uint(OBJECT(&s->cpu), "use-hw-mul", 0, &error_abor= t); + object_property_set_bool(OBJECT(&s->cpu), "use-barrel", true, &error_abort); - object_property_set_bool(OBJECT(&s->cpu), true, "use-msr-instr", + object_property_set_bool(OBJECT(&s->cpu), "use-msr-instr", true, &error_abort); - object_property_set_bool(OBJECT(&s->cpu), true, "use-pcmp-instr", + object_property_set_bool(OBJECT(&s->cpu), "use-pcmp-instr", true, &error_abort); - object_property_set_bool(OBJECT(&s->cpu), false, "use-mmu", &error_abo= rt); - object_property_set_bool(OBJECT(&s->cpu), true, "endianness", + object_property_set_bool(OBJECT(&s->cpu), "use-mmu", false, &error_abo= rt); + object_property_set_bool(OBJECT(&s->cpu), "endianness", true, &error_abort); - object_property_set_str(OBJECT(&s->cpu), "8.40.b", "version", + object_property_set_str(OBJECT(&s->cpu), "version", "8.40.b", &error_abort); - object_property_set_uint(OBJECT(&s->cpu), 0, "pvr", &error_abort); + object_property_set_uint(OBJECT(&s->cpu), "pvr", 0, &error_abort); if (!qdev_realize(DEVICE(&s->cpu), NULL, errp)) { return; } =20 - object_property_set_uint(OBJECT(&s->intc), 0x10, "intc-intr-size", + object_property_set_uint(OBJECT(&s->intc), "intc-intr-size", 0x10, &error_abort); - object_property_set_uint(OBJECT(&s->intc), 0x0, "intc-level-edge", + object_property_set_uint(OBJECT(&s->intc), "intc-level-edge", 0x0, &error_abort); - object_property_set_uint(OBJECT(&s->intc), 0xffff, "intc-positive", + object_property_set_uint(OBJECT(&s->intc), "intc-positive", 0xffff, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->intc), errp)) { return; diff --git a/hw/mips/boston.c b/hw/mips/boston.c index f5d4ac8cd4..766458c015 100644 --- a/hw/mips/boston.c +++ b/hw/mips/boston.c @@ -455,9 +455,9 @@ static void boston_mach_init(MachineState *machine) is_64b =3D cpu_supports_isa(machine->cpu_type, ISA_MIPS64); =20 object_initialize_child(OBJECT(machine), "cps", &s->cps, TYPE_MIPS_CPS= ); - object_property_set_str(OBJECT(&s->cps), machine->cpu_type, "cpu-type", + object_property_set_str(OBJECT(&s->cps), "cpu-type", machine->cpu_type, &error_fatal); - object_property_set_int(OBJECT(&s->cps), machine->smp.cpus, "num-vp", + object_property_set_int(OBJECT(&s->cps), "num-vp", machine->smp.cpus, &error_fatal); sysbus_realize(SYS_BUS_DEVICE(&s->cps), &error_fatal); =20 diff --git a/hw/mips/cps.c b/hw/mips/cps.c index b4f2306596..615e1a1ad2 100644 --- a/hw/mips/cps.c +++ b/hw/mips/cps.c @@ -99,11 +99,11 @@ static void mips_cps_realize(DeviceState *dev, Error **= errp) /* Inter-Thread Communication Unit */ if (itu_present) { object_initialize_child(OBJECT(dev), "itu", &s->itu, TYPE_MIPS_ITU= ); - object_property_set_int(OBJECT(&s->itu), 16, "num-fifo", + object_property_set_int(OBJECT(&s->itu), "num-fifo", 16, &error_abort); - object_property_set_int(OBJECT(&s->itu), 16, "num-semaphores", + object_property_set_int(OBJECT(&s->itu), "num-semaphores", 16, &error_abort); - object_property_set_bool(OBJECT(&s->itu), saar_present, "saar-pres= ent", + object_property_set_bool(OBJECT(&s->itu), "saar-present", saar_pre= sent, &error_abort); if (saar_present) { s->itu.saar =3D &env->CP0_SAAR; @@ -118,9 +118,9 @@ static void mips_cps_realize(DeviceState *dev, Error **= errp) =20 /* Cluster Power Controller */ object_initialize_child(OBJECT(dev), "cpc", &s->cpc, TYPE_MIPS_CPC); - object_property_set_int(OBJECT(&s->cpc), s->num_vp, "num-vp", + object_property_set_int(OBJECT(&s->cpc), "num-vp", s->num_vp, &error_abort); - object_property_set_int(OBJECT(&s->cpc), 1, "vp-start-running", + object_property_set_int(OBJECT(&s->cpc), "vp-start-running", 1, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->cpc), errp)) { return; @@ -131,9 +131,9 @@ static void mips_cps_realize(DeviceState *dev, Error **= errp) =20 /* Global Interrupt Controller */ object_initialize_child(OBJECT(dev), "gic", &s->gic, TYPE_MIPS_GIC); - object_property_set_int(OBJECT(&s->gic), s->num_vp, "num-vp", + object_property_set_int(OBJECT(&s->gic), "num-vp", s->num_vp, &error_abort); - object_property_set_int(OBJECT(&s->gic), 128, "num-irq", + object_property_set_int(OBJECT(&s->gic), "num-irq", 128, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->gic), errp)) { return; @@ -146,15 +146,15 @@ static void mips_cps_realize(DeviceState *dev, Error = **errp) gcr_base =3D env->CP0_CMGCRBase << 4; =20 object_initialize_child(OBJECT(dev), "gcr", &s->gcr, TYPE_MIPS_GCR); - object_property_set_int(OBJECT(&s->gcr), s->num_vp, "num-vp", + object_property_set_int(OBJECT(&s->gcr), "num-vp", s->num_vp, &error_abort); - object_property_set_int(OBJECT(&s->gcr), 0x800, "gcr-rev", + object_property_set_int(OBJECT(&s->gcr), "gcr-rev", 0x800, &error_abort); - object_property_set_int(OBJECT(&s->gcr), gcr_base, "gcr-base", + object_property_set_int(OBJECT(&s->gcr), "gcr-base", gcr_base, &error_abort); - object_property_set_link(OBJECT(&s->gcr), OBJECT(&s->gic.mr), "gic", + object_property_set_link(OBJECT(&s->gcr), "gic", OBJECT(&s->gic.mr), &error_abort); - object_property_set_link(OBJECT(&s->gcr), OBJECT(&s->cpc.mr), "cpc", + object_property_set_link(OBJECT(&s->gcr), "cpc", OBJECT(&s->cpc.mr), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->gcr), errp)) { return; diff --git a/hw/mips/jazz.c b/hw/mips/jazz.c index c3b0da60cc..106750da13 100644 --- a/hw/mips/jazz.c +++ b/hw/mips/jazz.c @@ -290,8 +290,8 @@ static void mips_jazz_init(MachineState *machine, dev =3D qdev_new("dp8393x"); qdev_set_nic_properties(dev, nd); qdev_prop_set_uint8(dev, "it_shift", 2); - object_property_set_link(OBJECT(dev), OBJECT(rc4030_dma_mr), - "dma_mr", &error_abort); + object_property_set_link(OBJECT(dev), "dma_mr", + OBJECT(rc4030_dma_mr), &error_abort); sysbus =3D SYS_BUS_DEVICE(dev); sysbus_realize_and_unref(sysbus, &error_fatal); sysbus_mmio_map(sysbus, 0, 0x80001000); diff --git a/hw/mips/malta.c b/hw/mips/malta.c index d95926a89c..a59e20c81c 100644 --- a/hw/mips/malta.c +++ b/hw/mips/malta.c @@ -1184,9 +1184,9 @@ static void create_cps(MachineState *ms, MaltaState *= s, qemu_irq *cbus_irq, qemu_irq *i8259_irq) { object_initialize_child(OBJECT(s), "cps", &s->cps, TYPE_MIPS_CPS); - object_property_set_str(OBJECT(&s->cps), ms->cpu_type, "cpu-type", + object_property_set_str(OBJECT(&s->cps), "cpu-type", ms->cpu_type, &error_fatal); - object_property_set_int(OBJECT(&s->cps), ms->smp.cpus, "num-vp", + object_property_set_int(OBJECT(&s->cps), "num-vp", ms->smp.cpus, &error_fatal); sysbus_realize(SYS_BUS_DEVICE(&s->cps), &error_fatal); =20 diff --git a/hw/misc/iotkit-sysctl.c b/hw/misc/iotkit-sysctl.c index ec1cc1931a..269783366d 100644 --- a/hw/misc/iotkit-sysctl.c +++ b/hw/misc/iotkit-sysctl.c @@ -84,7 +84,7 @@ static void set_init_vtor(uint64_t cpuid, uint32_t vtor) =20 if (cpuobj) { if (object_property_find(cpuobj, "init-svtor", NULL)) { - object_property_set_uint(cpuobj, vtor, "init-svtor", &error_ab= ort); + object_property_set_uint(cpuobj, "init-svtor", vtor, &error_ab= ort); } } } diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c index bedf10e77b..679722628e 100644 --- a/hw/misc/macio/macio.c +++ b/hw/misc/macio/macio.c @@ -131,7 +131,7 @@ static void macio_realize_ide(MacIOState *s, MACIOIDESt= ate *ide, sysbus_connect_irq(sysbus_dev, 0, irq0); sysbus_connect_irq(sysbus_dev, 1, irq1); qdev_prop_set_uint32(DEVICE(ide), "channel", dmaid); - object_property_set_link(OBJECT(ide), OBJECT(&s->dbdma), "dbdma", + object_property_set_link(OBJECT(ide), "dbdma", OBJECT(&s->dbdma), &error_abort); macio_ide_register_dma(ide); =20 @@ -325,7 +325,7 @@ static void macio_newworld_realize(PCIDevice *d, Error = **errp) if (ns->has_pmu) { /* GPIOs */ sysbus_dev =3D SYS_BUS_DEVICE(&ns->gpio); - object_property_set_link(OBJECT(&ns->gpio), OBJECT(pic_dev), "pic", + object_property_set_link(OBJECT(&ns->gpio), "pic", OBJECT(pic_dev), &error_abort); memory_region_add_subregion(&s->bar, 0x50, sysbus_mmio_get_region(sysbus_dev, 0)); @@ -335,7 +335,7 @@ static void macio_newworld_realize(PCIDevice *d, Error = **errp) =20 /* PMU */ object_initialize_child(OBJECT(s), "pmu", &s->pmu, TYPE_VIA_PMU); - object_property_set_link(OBJECT(&s->pmu), OBJECT(sysbus_dev), "gpi= o", + object_property_set_link(OBJECT(&s->pmu), "gpio", OBJECT(sysbus_de= v), &error_abort); qdev_prop_set_bit(DEVICE(&s->pmu), "has-adb", ns->has_adb); if (!qdev_realize(DEVICE(&s->pmu), BUS(&s->macio_bus), errp)) { diff --git a/hw/net/ne2000-isa.c b/hw/net/ne2000-isa.c index 0594abd93a..a878056426 100644 --- a/hw/net/ne2000-isa.c +++ b/hw/net/ne2000-isa.c @@ -133,7 +133,7 @@ static void isa_ne2000_instance_init(Object *obj) object_property_add(obj, "bootindex", "int32", isa_ne2000_get_bootindex, isa_ne2000_set_bootindex, NULL, NULL); - object_property_set_int(obj, -1, "bootindex", NULL); + object_property_set_int(obj, "bootindex", -1, NULL); } static const TypeInfo ne2000_isa_info =3D { .name =3D TYPE_ISA_NE2000, diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c index 679a359f9a..1e48eb70c9 100644 --- a/hw/net/xilinx_axienet.c +++ b/hw/net/xilinx_axienet.c @@ -989,8 +989,8 @@ static void xilinx_enet_realize(DeviceState *dev, Error= **errp) (Object **) &cs->enet, object_property_allow_set_link, OBJ_PROP_LINK_STRONG); - object_property_set_link(OBJECT(ds), OBJECT(s), "enet", &error_abort); - object_property_set_link(OBJECT(cs), OBJECT(s), "enet", &error_abort); + object_property_set_link(OBJECT(ds), "enet", OBJECT(s), &error_abort); + object_property_set_link(OBJECT(cs), "enet", OBJECT(s), &error_abort); =20 qemu_macaddr_default_if_unset(&s->conf.macaddr); s->nic =3D qemu_new_nic(&net_xilinx_enet_info, &s->conf, diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c index d85ca709d9..82132c12ca 100644 --- a/hw/pci-host/pnv_phb3.c +++ b/hw/pci-host/pnv_phb3.c @@ -998,9 +998,9 @@ static void pnv_phb3_realize(DeviceState *dev, Error **= errp) } =20 /* LSI sources */ - object_property_set_link(OBJECT(&phb->lsis), OBJECT(pnv), "xics", - &error_abort); - object_property_set_int(OBJECT(&phb->lsis), PNV_PHB3_NUM_LSI, "nr-irqs= ", + object_property_set_link(OBJECT(&phb->lsis), "xics", OBJECT(pnv), + &error_abort); + object_property_set_int(OBJECT(&phb->lsis), "nr-irqs", PNV_PHB3_NUM_LS= I, &error_abort); if (!qdev_realize(DEVICE(&phb->lsis), NULL, errp)) { return; @@ -1013,19 +1013,19 @@ static void pnv_phb3_realize(DeviceState *dev, Erro= r **errp) phb->qirqs =3D qemu_allocate_irqs(ics_set_irq, &phb->lsis, phb->lsis.n= r_irqs); =20 /* MSI sources */ - object_property_set_link(OBJECT(&phb->msis), OBJECT(phb), "phb", - &error_abort); - object_property_set_link(OBJECT(&phb->msis), OBJECT(pnv), "xics", - &error_abort); - object_property_set_int(OBJECT(&phb->msis), PHB3_MAX_MSI, "nr-irqs", + object_property_set_link(OBJECT(&phb->msis), "phb", OBJECT(phb), + &error_abort); + object_property_set_link(OBJECT(&phb->msis), "xics", OBJECT(pnv), + &error_abort); + object_property_set_int(OBJECT(&phb->msis), "nr-irqs", PHB3_MAX_MSI, &error_abort); if (!qdev_realize(DEVICE(&phb->msis), NULL, errp)) { return; } =20 /* Power Bus Common Queue */ - object_property_set_link(OBJECT(&phb->pbcq), OBJECT(phb), "phb", - &error_abort); + object_property_set_link(OBJECT(&phb->pbcq), "phb", OBJECT(phb), + &error_abort); if (!qdev_realize(DEVICE(&phb->pbcq), NULL, errp)) { return; } diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c index 7739fd5984..75ad766fe0 100644 --- a/hw/pci-host/pnv_phb4.c +++ b/hw/pci-host/pnv_phb4.c @@ -1215,8 +1215,8 @@ static void pnv_phb4_realize(DeviceState *dev, Error = **errp) } else { nr_irqs =3D PNV_PHB4_MAX_INTs >> 1; } - object_property_set_int(OBJECT(xsrc), nr_irqs, "nr-irqs", &error_fatal= ); - object_property_set_link(OBJECT(xsrc), OBJECT(phb), "xive", &error_fat= al); + object_property_set_int(OBJECT(xsrc), "nr-irqs", nr_irqs, &error_fatal= ); + object_property_set_link(OBJECT(xsrc), "xive", OBJECT(phb), &error_fat= al); if (!qdev_realize(DEVICE(xsrc), NULL, errp)) { return; } diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c index 40f993bd06..741ddc90ed 100644 --- a/hw/pci-host/pnv_phb4_pec.c +++ b/hw/pci-host/pnv_phb4_pec.c @@ -387,8 +387,8 @@ static void pnv_pec_realize(DeviceState *dev, Error **e= rrp) PnvPhb4PecStack *stack =3D &pec->stacks[i]; Object *stk_obj =3D OBJECT(stack); =20 - object_property_set_int(stk_obj, i, "stack-no", &error_abort); - object_property_set_link(stk_obj, OBJECT(pec), "pec", &error_abort= ); + object_property_set_int(stk_obj, "stack-no", i, &error_abort); + object_property_set_link(stk_obj, "pec", OBJECT(pec), &error_abort= ); if (!qdev_realize(DEVICE(stk_obj), NULL, errp)) { return; } diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c index 367e408b91..4b93fd2b01 100644 --- a/hw/pci-host/prep.c +++ b/hw/pci-host/prep.c @@ -236,7 +236,7 @@ static void raven_pcihost_realizefn(DeviceState *d, Err= or **errp) /* According to PReP specification section 6.1.6 "System Interrupt * Assignments", all PCI interrupts are routed via IRQ 15 */ s->or_irq =3D OR_IRQ(object_new(TYPE_OR_IRQ)); - object_property_set_int(OBJECT(s->or_irq), PCI_NUM_PINS, "num-line= s", + object_property_set_int(OBJECT(s->or_irq), "num-lines", PCI_NUM_PI= NS, &error_fatal); qdev_realize(DEVICE(s->or_irq), NULL, &error_fatal); sysbus_init_irq(dev, &s->or_irq->out_irq); @@ -307,7 +307,7 @@ static void raven_pcihost_initfn(Object *obj) =20 object_initialize(&s->pci_dev, sizeof(s->pci_dev), TYPE_RAVEN_PCI_DEVI= CE); pci_dev =3D DEVICE(&s->pci_dev); - object_property_set_int(OBJECT(&s->pci_dev), PCI_DEVFN(0, 0), "addr", + object_property_set_int(OBJECT(&s->pci_dev), "addr", PCI_DEVFN(0, 0), NULL); qdev_prop_set_bit(pci_dev, "multifunction", false); } diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index 5f3a028e6a..243e15d3c6 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -304,7 +304,7 @@ static void ppc_core99_init(MachineState *machine) /* 970 gets a U3 bus */ /* Uninorth AGP bus */ dev =3D qdev_new(TYPE_U3_AGP_HOST_BRIDGE); - object_property_set_link(OBJECT(dev), OBJECT(pic_dev), "pic", + object_property_set_link(OBJECT(dev), "pic", OBJECT(pic_dev), &error_abort); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); uninorth_pci =3D U3_AGP_HOST_BRIDGE(dev); @@ -323,7 +323,7 @@ static void ppc_core99_init(MachineState *machine) /* Use values found on a real PowerMac */ /* Uninorth AGP bus */ dev =3D qdev_new(TYPE_UNI_NORTH_AGP_HOST_BRIDGE); - object_property_set_link(OBJECT(dev), OBJECT(pic_dev), "pic", + object_property_set_link(OBJECT(dev), "pic", OBJECT(pic_dev), &error_abort); s =3D SYS_BUS_DEVICE(dev); sysbus_realize_and_unref(s, &error_fatal); @@ -332,7 +332,7 @@ static void ppc_core99_init(MachineState *machine) =20 /* Uninorth internal bus */ dev =3D qdev_new(TYPE_UNI_NORTH_INTERNAL_PCI_HOST_BRIDGE); - object_property_set_link(OBJECT(dev), OBJECT(pic_dev), "pic", + object_property_set_link(OBJECT(dev), "pic", OBJECT(pic_dev), &error_abort); s =3D SYS_BUS_DEVICE(dev); sysbus_realize_and_unref(s, &error_fatal); @@ -342,7 +342,7 @@ static void ppc_core99_init(MachineState *machine) /* Uninorth main bus */ dev =3D qdev_new(TYPE_UNI_NORTH_PCI_HOST_BRIDGE); qdev_prop_set_uint32(dev, "ofw-addr", 0xf2000000); - object_property_set_link(OBJECT(dev), OBJECT(pic_dev), "pic", + object_property_set_link(OBJECT(dev), "pic", OBJECT(pic_dev), &error_abort); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); uninorth_pci =3D UNI_NORTH_PCI_HOST_BRIDGE(dev); @@ -380,7 +380,7 @@ static void ppc_core99_init(MachineState *machine) qdev_prop_set_uint64(dev, "frequency", tbfreq); qdev_prop_set_bit(dev, "has-pmu", has_pmu); qdev_prop_set_bit(dev, "has-adb", has_adb); - object_property_set_link(OBJECT(macio), OBJECT(pic_dev), "pic", + object_property_set_link(OBJECT(macio), "pic", OBJECT(pic_dev), &error_abort); pci_realize_and_unref(macio, pci_bus, &error_fatal); =20 diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c index f8c204ead7..7aba040f1b 100644 --- a/hw/ppc/mac_oldworld.c +++ b/hw/ppc/mac_oldworld.c @@ -254,7 +254,7 @@ static void ppc_heathrow_init(MachineState *machine) /* Grackle PCI host bridge */ dev =3D qdev_new(TYPE_GRACKLE_PCI_HOST_BRIDGE); qdev_prop_set_uint32(dev, "ofw-addr", 0x80000000); - object_property_set_link(OBJECT(dev), OBJECT(pic_dev), "pic", + object_property_set_link(OBJECT(dev), "pic", OBJECT(pic_dev), &error_abort); s =3D SYS_BUS_DEVICE(dev); sysbus_realize_and_unref(s, &error_fatal); @@ -281,7 +281,7 @@ static void ppc_heathrow_init(MachineState *machine) macio =3D pci_new(-1, TYPE_OLDWORLD_MACIO); dev =3D DEVICE(macio); qdev_prop_set_uint64(dev, "frequency", tbfreq); - object_property_set_link(OBJECT(macio), OBJECT(pic_dev), "pic", + object_property_set_link(OBJECT(macio), "pic", OBJECT(pic_dev), &error_abort); pci_realize_and_unref(macio, pci_bus, &error_fatal); =20 diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 392aa138de..388e51c063 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -696,8 +696,8 @@ static void pnv_ipmi_bt_init(ISABus *bus, IPMIBmc *bmc,= uint32_t irq) { ISADevice *dev =3D isa_new("isa-ipmi-bt"); =20 - object_property_set_link(OBJECT(dev), OBJECT(bmc), "bmc", &error_fatal= ); - object_property_set_int(OBJECT(dev), irq, "irq", &error_fatal); + object_property_set_link(OBJECT(dev), "bmc", OBJECT(bmc), &error_fatal= ); + object_property_set_int(OBJECT(dev), "irq", irq, &error_fatal); isa_realize_and_unref(dev, bus, &error_fatal); } =20 @@ -825,27 +825,27 @@ static void pnv_init(MachineState *machine) * way to specify different ranges for each chip */ if (i =3D=3D 0) { - object_property_set_int(chip, machine->ram_size, "ram-size", + object_property_set_int(chip, "ram-size", machine->ram_size, &error_fatal); } =20 snprintf(chip_name, sizeof(chip_name), "chip[%d]", PNV_CHIP_HWID(i= )); object_property_add_child(OBJECT(pnv), chip_name, chip); - object_property_set_int(chip, PNV_CHIP_HWID(i), "chip-id", + object_property_set_int(chip, "chip-id", PNV_CHIP_HWID(i), + &error_fatal); + object_property_set_int(chip, "nr-cores", machine->smp.cores, + &error_fatal); + object_property_set_int(chip, "nr-threads", machine->smp.threads, &error_fatal); - object_property_set_int(chip, machine->smp.cores, - "nr-cores", &error_fatal); - object_property_set_int(chip, machine->smp.threads, - "nr-threads", &error_fatal); /* * The POWER8 machine use the XICS interrupt interface. * Propagate the XICS fabric to the chip and its controllers. */ if (object_dynamic_cast(OBJECT(pnv), TYPE_XICS_FABRIC)) { - object_property_set_link(chip, OBJECT(pnv), "xics", &error_abo= rt); + object_property_set_link(chip, "xics", OBJECT(pnv), &error_abo= rt); } if (object_dynamic_cast(OBJECT(pnv), TYPE_XIVE_FABRIC)) { - object_property_set_link(chip, OBJECT(pnv), "xive-fabric", + object_property_set_link(chip, "xive-fabric", OBJECT(pnv), &error_abort); } sysbus_realize_and_unref(SYS_BUS_DEVICE(chip), &error_fatal); @@ -1133,10 +1133,10 @@ static void pnv_chip_power8_realize(DeviceState *de= v, Error **errp) } =20 /* Processor Service Interface (PSI) Host Bridge */ - object_property_set_int(OBJECT(&chip8->psi), PNV_PSIHB_BASE(chip), - "bar", &error_fatal); - object_property_set_link(OBJECT(&chip8->psi), OBJECT(chip8->xics), - ICS_PROP_XICS, &error_abort); + object_property_set_int(OBJECT(&chip8->psi), "bar", PNV_PSIHB_BASE(chi= p), + &error_fatal); + object_property_set_link(OBJECT(&chip8->psi), ICS_PROP_XICS, + OBJECT(chip8->xics), &error_abort); if (!qdev_realize(DEVICE(&chip8->psi), NULL, errp)) { return; } @@ -1144,7 +1144,7 @@ static void pnv_chip_power8_realize(DeviceState *dev,= Error **errp) &PNV_PSI(psi8)->xscom_regs); =20 /* Create LPC controller */ - object_property_set_link(OBJECT(&chip8->lpc), OBJECT(&chip8->psi), "ps= i", + object_property_set_link(OBJECT(&chip8->lpc), "psi", OBJECT(&chip8->ps= i), &error_abort); qdev_realize(DEVICE(&chip8->lpc), NULL, &error_fatal); pnv_xscom_add_subregion(chip, PNV_XSCOM_LPC_BASE, &chip8->lpc.xscom_re= gs); @@ -1164,7 +1164,7 @@ static void pnv_chip_power8_realize(DeviceState *dev,= Error **errp) } =20 /* Create the simplified OCC model */ - object_property_set_link(OBJECT(&chip8->occ), OBJECT(&chip8->psi), "ps= i", + object_property_set_link(OBJECT(&chip8->occ), "psi", OBJECT(&chip8->ps= i), &error_abort); if (!qdev_realize(DEVICE(&chip8->occ), NULL, errp)) { return; @@ -1176,7 +1176,7 @@ static void pnv_chip_power8_realize(DeviceState *dev,= Error **errp) &chip8->occ.sram_regs); =20 /* HOMER */ - object_property_set_link(OBJECT(&chip8->homer), OBJECT(chip), "chip", + object_property_set_link(OBJECT(&chip8->homer), "chip", OBJECT(chip), &error_abort); if (!qdev_realize(DEVICE(&chip8->homer), NULL, errp)) { return; @@ -1193,8 +1193,8 @@ static void pnv_chip_power8_realize(DeviceState *dev,= Error **errp) PnvPHB3 *phb =3D &chip8->phbs[i]; PnvPBCQState *pbcq =3D &phb->pbcq; =20 - object_property_set_int(OBJECT(phb), i, "index", &error_fatal); - object_property_set_int(OBJECT(phb), chip->chip_id, "chip-id", + object_property_set_int(OBJECT(phb), "index", i, &error_fatal); + object_property_set_int(OBJECT(phb), "chip-id", chip->chip_id, &error_fatal); if (!sysbus_realize(SYS_BUS_DEVICE(phb), errp)) { return; @@ -1340,7 +1340,7 @@ static void pnv_chip_quad_realize(Pnv9Chip *chip9, Er= ror **errp) sizeof(*eq), TYPE_PNV_QUAD, &error_fatal, NULL); =20 - object_property_set_int(OBJECT(eq), core_id, "id", &error_fatal); + object_property_set_int(OBJECT(eq), "id", core_id, &error_fatal); qdev_realize(DEVICE(eq), NULL, &error_fatal); =20 pnv_xscom_add_subregion(chip, PNV9_XSCOM_EQ_BASE(eq->id), @@ -1360,18 +1360,18 @@ static void pnv_chip_power9_phb_realize(PnvChip *ch= ip, Error **errp) uint32_t pec_nest_base; uint32_t pec_pci_base; =20 - object_property_set_int(OBJECT(pec), i, "index", &error_fatal); + object_property_set_int(OBJECT(pec), "index", i, &error_fatal); /* * PEC0 -> 1 stack * PEC1 -> 2 stacks * PEC2 -> 3 stacks */ - object_property_set_int(OBJECT(pec), i + 1, "num-stacks", + object_property_set_int(OBJECT(pec), "num-stacks", i + 1, &error_fatal); - object_property_set_int(OBJECT(pec), chip->chip_id, "chip-id", - &error_fatal); - object_property_set_link(OBJECT(pec), OBJECT(get_system_memory()), - "system-memory", &error_abort); + object_property_set_int(OBJECT(pec), "chip-id", chip->chip_id, + &error_fatal); + object_property_set_link(OBJECT(pec), "system-memory", + OBJECT(get_system_memory()), &error_abort= ); if (!qdev_realize(DEVICE(pec), NULL, errp)) { return; } @@ -1387,14 +1387,15 @@ static void pnv_chip_power9_phb_realize(PnvChip *ch= ip, Error **errp) PnvPhb4PecStack *stack =3D &pec->stacks[j]; Object *obj =3D OBJECT(&stack->phb); =20 - object_property_set_int(obj, phb_id, "index", &error_fatal); - object_property_set_int(obj, chip->chip_id, "chip-id", + object_property_set_int(obj, "index", phb_id, &error_fatal); + object_property_set_int(obj, "chip-id", chip->chip_id, &error_fatal); - object_property_set_int(obj, PNV_PHB4_VERSION, "version", + object_property_set_int(obj, "version", PNV_PHB4_VERSION, &error_fatal); - object_property_set_int(obj, PNV_PHB4_DEVICE_ID, "device-id", + object_property_set_int(obj, "device-id", PNV_PHB4_DEVICE_ID, &error_fatal); - object_property_set_link(obj, OBJECT(stack), "stack", &error_a= bort); + object_property_set_link(obj, "stack", OBJECT(stack), + &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(obj), errp)) { return; } @@ -1443,15 +1444,15 @@ static void pnv_chip_power9_realize(DeviceState *de= v, Error **errp) } =20 /* XIVE interrupt controller (POWER9) */ - object_property_set_int(OBJECT(&chip9->xive), PNV9_XIVE_IC_BASE(chip), - "ic-bar", &error_fatal); - object_property_set_int(OBJECT(&chip9->xive), PNV9_XIVE_VC_BASE(chip), - "vc-bar", &error_fatal); - object_property_set_int(OBJECT(&chip9->xive), PNV9_XIVE_PC_BASE(chip), - "pc-bar", &error_fatal); - object_property_set_int(OBJECT(&chip9->xive), PNV9_XIVE_TM_BASE(chip), - "tm-bar", &error_fatal); - object_property_set_link(OBJECT(&chip9->xive), OBJECT(chip), "chip", + object_property_set_int(OBJECT(&chip9->xive), "ic-bar", + PNV9_XIVE_IC_BASE(chip), &error_fatal); + object_property_set_int(OBJECT(&chip9->xive), "vc-bar", + PNV9_XIVE_VC_BASE(chip), &error_fatal); + object_property_set_int(OBJECT(&chip9->xive), "pc-bar", + PNV9_XIVE_PC_BASE(chip), &error_fatal); + object_property_set_int(OBJECT(&chip9->xive), "tm-bar", + PNV9_XIVE_TM_BASE(chip), &error_fatal); + object_property_set_link(OBJECT(&chip9->xive), "chip", OBJECT(chip), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&chip9->xive), errp)) { return; @@ -1460,8 +1461,8 @@ static void pnv_chip_power9_realize(DeviceState *dev,= Error **errp) &chip9->xive.xscom_regs); =20 /* Processor Service Interface (PSI) Host Bridge */ - object_property_set_int(OBJECT(&chip9->psi), PNV9_PSIHB_BASE(chip), - "bar", &error_fatal); + object_property_set_int(OBJECT(&chip9->psi), "bar", PNV9_PSIHB_BASE(ch= ip), + &error_fatal); if (!qdev_realize(DEVICE(&chip9->psi), NULL, errp)) { return; } @@ -1469,7 +1470,7 @@ static void pnv_chip_power9_realize(DeviceState *dev,= Error **errp) &PNV_PSI(psi9)->xscom_regs); =20 /* LPC */ - object_property_set_link(OBJECT(&chip9->lpc), OBJECT(&chip9->psi), "ps= i", + object_property_set_link(OBJECT(&chip9->lpc), "psi", OBJECT(&chip9->ps= i), &error_abort); if (!qdev_realize(DEVICE(&chip9->lpc), NULL, errp)) { return; @@ -1481,7 +1482,7 @@ static void pnv_chip_power9_realize(DeviceState *dev,= Error **errp) (uint64_t) PNV9_LPCM_BASE(chip= )); =20 /* Create the simplified OCC model */ - object_property_set_link(OBJECT(&chip9->occ), OBJECT(&chip9->psi), "ps= i", + object_property_set_link(OBJECT(&chip9->occ), "psi", OBJECT(&chip9->ps= i), &error_abort); if (!qdev_realize(DEVICE(&chip9->occ), NULL, errp)) { return; @@ -1493,7 +1494,7 @@ static void pnv_chip_power9_realize(DeviceState *dev,= Error **errp) &chip9->occ.sram_regs); =20 /* HOMER */ - object_property_set_link(OBJECT(&chip9->homer), OBJECT(chip), "chip", + object_property_set_link(OBJECT(&chip9->homer), "chip", OBJECT(chip), &error_abort); if (!qdev_realize(DEVICE(&chip9->homer), NULL, errp)) { return; @@ -1573,8 +1574,8 @@ static void pnv_chip_power10_realize(DeviceState *dev= , Error **errp) } =20 /* Processor Service Interface (PSI) Host Bridge */ - object_property_set_int(OBJECT(&chip10->psi), PNV10_PSIHB_BASE(chip), - "bar", &error_fatal); + object_property_set_int(OBJECT(&chip10->psi), "bar", + PNV10_PSIHB_BASE(chip), &error_fatal); if (!qdev_realize(DEVICE(&chip10->psi), NULL, errp)) { return; } @@ -1582,8 +1583,8 @@ static void pnv_chip_power10_realize(DeviceState *dev= , Error **errp) &PNV_PSI(&chip10->psi)->xscom_regs); =20 /* LPC */ - object_property_set_link(OBJECT(&chip10->lpc), OBJECT(&chip10->psi), "= psi", - &error_abort); + object_property_set_link(OBJECT(&chip10->lpc), "psi", + OBJECT(&chip10->psi), &error_abort); if (!qdev_realize(DEVICE(&chip10->lpc), NULL, errp)) { return; } @@ -1690,16 +1691,15 @@ static void pnv_chip_core_realize(PnvChip *chip, Er= ror **errp) snprintf(core_name, sizeof(core_name), "core[%d]", core_hwid); object_property_add_child(OBJECT(chip), core_name, OBJECT(pnv_core= )); chip->cores[i] =3D pnv_core; - object_property_set_int(OBJECT(pnv_core), chip->nr_threads, - "nr-threads", &error_fatal); - object_property_set_int(OBJECT(pnv_core), core_hwid, - CPU_CORE_PROP_CORE_ID, &error_fatal); - object_property_set_int(OBJECT(pnv_core), - pcc->core_pir(chip, core_hwid), - "pir", &error_fatal); - object_property_set_int(OBJECT(pnv_core), pnv->fw_load_addr, - "hrmor", &error_fatal); - object_property_set_link(OBJECT(pnv_core), OBJECT(chip), "chip", + object_property_set_int(OBJECT(pnv_core), "nr-threads", + chip->nr_threads, &error_fatal); + object_property_set_int(OBJECT(pnv_core), CPU_CORE_PROP_CORE_ID, + core_hwid, &error_fatal); + object_property_set_int(OBJECT(pnv_core), "pir", + pcc->core_pir(chip, core_hwid), &error_fat= al); + object_property_set_int(OBJECT(pnv_core), "hrmor", pnv->fw_load_ad= dr, + &error_fatal); + object_property_set_link(OBJECT(pnv_core), "chip", OBJECT(chip), &error_abort); qdev_realize(DEVICE(pnv_core), NULL, &error_fatal); =20 diff --git a/hw/ppc/pnv_psi.c b/hw/ppc/pnv_psi.c index 08756a79cd..88ec4cbe5f 100644 --- a/hw/ppc/pnv_psi.c +++ b/hw/ppc/pnv_psi.c @@ -505,7 +505,7 @@ static void pnv_psi_power8_realize(DeviceState *dev, Er= ror **errp) unsigned int i; =20 /* Create PSI interrupt control source */ - object_property_set_int(OBJECT(ics), PSI_NUM_INTERRUPTS, "nr-irqs", &e= rr); + object_property_set_int(OBJECT(ics), "nr-irqs", PSI_NUM_INTERRUPTS, &e= rr); if (err) { error_propagate(errp, err); return; @@ -843,11 +843,10 @@ static void pnv_psi_power9_realize(DeviceState *dev, = Error **errp) int i; =20 /* This is the only device with 4k ESB pages */ - object_property_set_int(OBJECT(xsrc), XIVE_ESB_4K, "shift", + object_property_set_int(OBJECT(xsrc), "shift", XIVE_ESB_4K, &error_fat= al); + object_property_set_int(OBJECT(xsrc), "nr-irqs", PSIHB9_NUM_IRQS, &error_fatal); - object_property_set_int(OBJECT(xsrc), PSIHB9_NUM_IRQS, "nr-irqs", - &error_fatal); - object_property_set_link(OBJECT(xsrc), OBJECT(psi), "xive", &error_abo= rt); + object_property_set_link(OBJECT(xsrc), "xive", OBJECT(psi), &error_abo= rt); if (!qdev_realize(DEVICE(xsrc), NULL, errp)) { return; } diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index bcd094ba3b..8621f7d656 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -2620,9 +2620,9 @@ static void spapr_init_cpus(SpaprMachineState *spapr) nr_threads =3D smp_cpus - i * smp_threads; } =20 - object_property_set_int(core, nr_threads, "nr-threads", + object_property_set_int(core, "nr-threads", nr_threads, &error_fatal); - object_property_set_int(core, core_id, CPU_CORE_PROP_CORE_ID, + object_property_set_int(core, CPU_CORE_PROP_CORE_ID, core_id, &error_fatal); qdev_realize(DEVICE(core), NULL, &error_fatal); =20 diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c index a61d39ad71..2f8f7d62f8 100644 --- a/hw/ppc/spapr_irq.c +++ b/hw/ppc/spapr_irq.c @@ -307,9 +307,9 @@ void spapr_irq_init(SpaprMachineState *spapr, Error **e= rrp) obj =3D object_new(TYPE_ICS_SPAPR); =20 object_property_add_child(OBJECT(spapr), "ics", obj); - object_property_set_link(obj, OBJECT(spapr), ICS_PROP_XICS, + object_property_set_link(obj, ICS_PROP_XICS, OBJECT(spapr), &error_abort); - object_property_set_int(obj, smc->nr_xirqs, "nr-irqs", &error_abor= t); + object_property_set_int(obj, "nr-irqs", smc->nr_xirqs, &error_abor= t); if (!qdev_realize(DEVICE(obj), NULL, errp)) { return; } @@ -329,7 +329,7 @@ void spapr_irq_init(SpaprMachineState *spapr, Error **e= rrp) * priority */ qdev_prop_set_uint32(dev, "nr-ends", nr_servers << 3); - object_property_set_link(OBJECT(dev), OBJECT(spapr), "xive-fabric", + object_property_set_link(OBJECT(dev), "xive-fabric", OBJECT(spapr), &error_abort); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); =20 diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c index c475d0c6ee..2a6a48744a 100644 --- a/hw/ppc/spapr_pci.c +++ b/hw/ppc/spapr_pci.c @@ -2416,7 +2416,7 @@ static int spapr_switch_one_vga(DeviceState *dev, voi= d *opaque) =20 if (object_dynamic_cast(OBJECT(dev), "VGA") || object_dynamic_cast(OBJECT(dev), "secondary-vga")) { - object_property_set_bool(OBJECT(dev), be, "big-endian-framebuffer", + object_property_set_bool(OBJECT(dev), "big-endian-framebuffer", be, &error_abort); } return 0; diff --git a/hw/riscv/opentitan.c b/hw/riscv/opentitan.c index d40f065a6a..a8f0039e51 100644 --- a/hw/riscv/opentitan.c +++ b/hw/riscv/opentitan.c @@ -107,9 +107,9 @@ static void lowrisc_ibex_soc_realize(DeviceState *dev_s= oc, Error **errp) LowRISCIbexSoCState *s =3D RISCV_IBEX_SOC(dev_soc); MemoryRegion *sys_mem =3D get_system_memory(); =20 - object_property_set_str(OBJECT(&s->cpus), ms->cpu_type, "cpu-type", + object_property_set_str(OBJECT(&s->cpus), "cpu-type", ms->cpu_type, &error_abort); - object_property_set_int(OBJECT(&s->cpus), ms->smp.cpus, "num-harts", + object_property_set_int(OBJECT(&s->cpus), "num-harts", ms->smp.cpus, &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->cpus), &error_abort); =20 diff --git a/hw/riscv/sifive_e.c b/hw/riscv/sifive_e.c index 416adfcce0..7bb97b463d 100644 --- a/hw/riscv/sifive_e.c +++ b/hw/riscv/sifive_e.c @@ -175,7 +175,7 @@ static void sifive_e_soc_init(Object *obj) SiFiveESoCState *s =3D RISCV_E_SOC(obj); =20 object_initialize_child(obj, "cpus", &s->cpus, TYPE_RISCV_HART_ARRAY); - object_property_set_int(OBJECT(&s->cpus), ms->smp.cpus, "num-harts", + object_property_set_int(OBJECT(&s->cpus), "num-harts", ms->smp.cpus, &error_abort); object_initialize_child(obj, "riscv.sifive.e.gpio0", &s->gpio, TYPE_SIFIVE_GPIO); @@ -188,7 +188,7 @@ static void sifive_e_soc_realize(DeviceState *dev, Erro= r **errp) SiFiveESoCState *s =3D RISCV_E_SOC(dev); MemoryRegion *sys_mem =3D get_system_memory(); =20 - object_property_set_str(OBJECT(&s->cpus), ms->cpu_type, "cpu-type", + object_property_set_str(OBJECT(&s->cpus), "cpu-type", ms->cpu_type, &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->cpus), &error_abort); =20 diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c index 12cd91b227..7851326988 100644 --- a/hw/riscv/sifive_u.c +++ b/hw/riscv/sifive_u.c @@ -383,8 +383,8 @@ static void sifive_u_machine_init(MachineState *machine) =20 /* Initialize SoC */ object_initialize_child(OBJECT(machine), "soc", &s->soc, TYPE_RISCV_U_= SOC); - object_property_set_uint(OBJECT(&s->soc), s->serial, "serial", - &error_abort); + object_property_set_uint(OBJECT(&s->soc), "serial", s->serial, + &error_abort); qdev_realize(DEVICE(&s->soc), NULL, &error_abort); =20 /* register RAM */ @@ -707,7 +707,7 @@ static void sifive_u_soc_realize(DeviceState *dev, Erro= r **errp) qemu_check_nic_model(nd, TYPE_CADENCE_GEM); qdev_set_nic_properties(DEVICE(&s->gem), nd); } - object_property_set_int(OBJECT(&s->gem), GEM_REVISION, "revision", + object_property_set_int(OBJECT(&s->gem), "revision", GEM_REVISION, &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->gem), errp)) { return; diff --git a/hw/riscv/spike.c b/hw/riscv/spike.c index 3c87e04fdc..c107bf3ba1 100644 --- a/hw/riscv/spike.c +++ b/hw/riscv/spike.c @@ -171,9 +171,9 @@ static void spike_board_init(MachineState *machine) /* Initialize SOC */ object_initialize_child(OBJECT(machine), "soc", &s->soc, TYPE_RISCV_HART_ARRAY); - object_property_set_str(OBJECT(&s->soc), machine->cpu_type, "cpu-type", + object_property_set_str(OBJECT(&s->soc), "cpu-type", machine->cpu_type, &error_abort); - object_property_set_int(OBJECT(&s->soc), smp_cpus, "num-harts", + object_property_set_int(OBJECT(&s->soc), "num-harts", smp_cpus, &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->soc), &error_abort); =20 diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c index 616db6f5ac..f7630c8a89 100644 --- a/hw/riscv/virt.c +++ b/hw/riscv/virt.c @@ -487,9 +487,9 @@ static void virt_machine_init(MachineState *machine) /* Initialize SOC */ object_initialize_child(OBJECT(machine), "soc", &s->soc, TYPE_RISCV_HART_ARRAY); - object_property_set_str(OBJECT(&s->soc), machine->cpu_type, "cpu-type", + object_property_set_str(OBJECT(&s->soc), "cpu-type", machine->cpu_type, &error_abort); - object_property_set_int(OBJECT(&s->soc), smp_cpus, "num-harts", + object_property_set_int(OBJECT(&s->soc), "num-harts", smp_cpus, &error_abort); sysbus_realize(SYS_BUS_DEVICE(&s->soc), &error_abort); =20 diff --git a/hw/rx/rx-gdbsim.c b/hw/rx/rx-gdbsim.c index dba09ba689..6d6b8d102c 100644 --- a/hw/rx/rx-gdbsim.c +++ b/hw/rx/rx-gdbsim.c @@ -102,12 +102,12 @@ static void rx_gdbsim_init(MachineState *machine) =20 /* Initialize MCU */ object_initialize_child(OBJECT(machine), "mcu", &s->mcu, rxc->mcu_name= ); - object_property_set_link(OBJECT(&s->mcu), OBJECT(sysmem), - "main-bus", &error_abort); - object_property_set_uint(OBJECT(&s->mcu), rxc->xtal_freq_hz, - "xtal-frequency-hz", &error_abort); - object_property_set_bool(OBJECT(&s->mcu), kernel_filename !=3D NULL, - "load-kernel", &error_abort); + object_property_set_link(OBJECT(&s->mcu), "main-bus", OBJECT(sysmem), + &error_abort); + object_property_set_uint(OBJECT(&s->mcu), "xtal-frequency-hz", + rxc->xtal_freq_hz, &error_abort); + object_property_set_bool(OBJECT(&s->mcu), "load-kernel", + kernel_filename !=3D NULL, &error_abort); qdev_realize(DEVICE(&s->mcu), NULL, &error_abort); =20 /* Load kernel and dtb */ diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c index df5b4b311a..d46b1f094f 100644 --- a/hw/s390x/ipl.c +++ b/hw/s390x/ipl.c @@ -552,9 +552,9 @@ static void update_machine_ipl_properties(IplParameterB= lock *iplb) ascii_loadparm[i] =3D ebcdic2ascii[(uint8_t) ebcdic_loadparm[i= ]]; } ascii_loadparm[i] =3D 0; - object_property_set_str(machine, ascii_loadparm, "loadparm", &err); + object_property_set_str(machine, "loadparm", ascii_loadparm, &err); } else { - object_property_set_str(machine, "", "loadparm", &err); + object_property_set_str(machine, "loadparm", "", &err); } if (err) { warn_report_err(err); diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index 2e0eab1c69..053944be15 100644 --- a/hw/s390x/s390-pci-bus.c +++ b/hw/s390x/s390-pci-bus.c @@ -820,7 +820,7 @@ static S390PCIBusDevice *s390_pci_device_new(S390pciSta= te *s, return NULL; } =20 - object_property_set_str(OBJECT(dev), target, "target", &local_err); + object_property_set_str(OBJECT(dev), "target", target, &local_err); if (local_err) { object_unparent(OBJECT(dev)); error_propagate_prepend(errp, local_err, diff --git a/hw/s390x/s390-skeys.c b/hw/s390x/s390-skeys.c index 1e036cc602..db2f49cb27 100644 --- a/hw/s390x/s390-skeys.c +++ b/hw/s390x/s390-skeys.c @@ -401,7 +401,7 @@ static void s390_skeys_instance_init(Object *obj) object_property_add_bool(obj, "migration-enabled", s390_skeys_get_migration_enabled, s390_skeys_set_migration_enabled); - object_property_set_bool(obj, true, "migration-enabled", NULL); + object_property_set_bool(obj, "migration-enabled", true, NULL); } =20 static void s390_skeys_class_init(ObjectClass *oc, void *data) diff --git a/hw/s390x/s390-stattrib.c b/hw/s390x/s390-stattrib.c index 0144b9021c..4441e1d331 100644 --- a/hw/s390x/s390-stattrib.c +++ b/hw/s390x/s390-stattrib.c @@ -388,7 +388,7 @@ static void s390_stattrib_instance_init(Object *obj) object_property_add_bool(obj, "migration-enabled", s390_stattrib_get_migration_enabled, s390_stattrib_set_migration_enabled); - object_property_set_bool(obj, true, "migration-enabled", NULL); + object_property_set_bool(obj, "migration-enabled", true, NULL); sas->migration_cur_gfn =3D 0; } =20 diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index b111406d56..be4859fa49 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -71,7 +71,7 @@ static S390CPU *s390x_new_cpu(const char *typename, uint3= 2_t core_id, S390CPU *cpu =3D S390_CPU(object_new(typename)); Error *err =3D NULL; =20 - object_property_set_int(OBJECT(cpu), core_id, "core-id", &err); + object_property_set_int(OBJECT(cpu), "core-id", core_id, &err); if (err !=3D NULL) { goto out; } @@ -732,14 +732,14 @@ static inline void s390_machine_initfn(Object *obj) machine_set_aes_key_wrap); object_property_set_description(obj, "aes-key-wrap", "enable/disable AES key wrapping using the CPACF wrapping key"= ); - object_property_set_bool(obj, true, "aes-key-wrap", NULL); + object_property_set_bool(obj, "aes-key-wrap", true, NULL); =20 object_property_add_bool(obj, "dea-key-wrap", machine_get_dea_key_wrap, machine_set_dea_key_wrap); object_property_set_description(obj, "dea-key-wrap", "enable/disable DEA key wrapping using the CPACF wrapping key"= ); - object_property_set_bool(obj, true, "dea-key-wrap", NULL); + object_property_set_bool(obj, "dea-key-wrap", true, NULL); object_property_add_str(obj, "loadparm", machine_get_loadparm, machine_set_loadparm); object_property_set_description(obj, "loadparm", diff --git a/hw/s390x/virtio-ccw-crypto.c b/hw/s390x/virtio-ccw-crypto.c index 438626cf37..570c0333fc 100644 --- a/hw/s390x/virtio-ccw-crypto.c +++ b/hw/s390x/virtio-ccw-crypto.c @@ -24,9 +24,8 @@ static void virtio_ccw_crypto_realize(VirtioCcwDevice *cc= w_dev, Error **errp) return; } =20 - object_property_set_link(OBJECT(vdev), - OBJECT(dev->vdev.conf.cryptodev), "cryptodev", - NULL); + object_property_set_link(OBJECT(vdev), "cryptodev", + OBJECT(dev->vdev.conf.cryptodev), NULL); } =20 static void virtio_ccw_crypto_instance_init(Object *obj) diff --git a/hw/s390x/virtio-ccw-rng.c b/hw/s390x/virtio-ccw-rng.c index aefe6b1b51..4bb8c16d79 100644 --- a/hw/s390x/virtio-ccw-rng.c +++ b/hw/s390x/virtio-ccw-rng.c @@ -25,8 +25,7 @@ static void virtio_ccw_rng_realize(VirtioCcwDevice *ccw_d= ev, Error **errp) return; } =20 - object_property_set_link(OBJECT(dev), - OBJECT(dev->vdev.conf.rng), "rng", + object_property_set_link(OBJECT(dev), "rng", OBJECT(dev->vdev.conf.rng= ), NULL); } =20 diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c index f3d2d63de8..9951c2bca7 100644 --- a/hw/scsi/scsi-bus.c +++ b/hw/scsi/scsi-bus.c @@ -268,7 +268,7 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, Blo= ckBackend *blk, =20 qdev_prop_set_uint32(dev, "scsi-id", unit); if (bootindex >=3D 0) { - object_property_set_int(OBJECT(dev), bootindex, "bootindex", + object_property_set_int(OBJECT(dev), "bootindex", bootindex, &error_abort); } if (object_property_find(OBJECT(dev), "removable", NULL)) { @@ -283,7 +283,7 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, Blo= ckBackend *blk, object_unparent(OBJECT(dev)); return NULL; } - object_property_set_bool(OBJECT(dev), share_rw, "share-rw", &err); + object_property_set_bool(OBJECT(dev), "share-rw", share_rw, &err); if (err !=3D NULL) { error_propagate(errp, err); object_unparent(OBJECT(dev)); diff --git a/hw/sd/aspeed_sdhci.c b/hw/sd/aspeed_sdhci.c index ad0bb6fdb4..562795cfdb 100644 --- a/hw/sd/aspeed_sdhci.c +++ b/hw/sd/aspeed_sdhci.c @@ -132,14 +132,14 @@ static void aspeed_sdhci_realize(DeviceState *dev, Er= ror **errp) Object *sdhci_slot =3D OBJECT(&sdhci->slots[i]); SysBusDevice *sbd_slot =3D SYS_BUS_DEVICE(&sdhci->slots[i]); =20 - object_property_set_int(sdhci_slot, 2, "sd-spec-version", &err); + object_property_set_int(sdhci_slot, "sd-spec-version", 2, &err); if (err) { error_propagate(errp, err); return; } =20 - object_property_set_uint(sdhci_slot, ASPEED_SDHCI_CAPABILITIES, - "capareg", &err); + object_property_set_uint(sdhci_slot, "capareg", + ASPEED_SDHCI_CAPABILITIES, &err); if (err) { error_propagate(errp, err); return; diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c index 0df0edb51d..cf17568f76 100644 --- a/hw/sd/ssi-sd.c +++ b/hw/sd/ssi-sd.c @@ -261,7 +261,7 @@ static void ssi_sd_realize(SSISlave *d, Error **errp) } } =20 - object_property_set_bool(OBJECT(carddev), true, "spi", &err); + object_property_set_bool(OBJECT(carddev), "spi", true, &err); if (err) { goto fail; } diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c index ee52b5cbbc..9be930415f 100644 --- a/hw/sparc/sun4m.c +++ b/hw/sparc/sun4m.c @@ -878,7 +878,7 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwd= ef, =20 /* Create and map RAM frontend */ dev =3D qdev_new("memory"); - object_property_set_link(OBJECT(dev), ram_memdev, "memdev", &error_fat= al); + object_property_set_link(OBJECT(dev), "memdev", ram_memdev, &error_fat= al); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, 0); =20 diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index 9c8655cffc..9e30203dcc 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -579,7 +579,7 @@ static void sun4uv_init(MemoryRegion *address_space_mem, sabre =3D SABRE_DEVICE(qdev_new(TYPE_SABRE)); qdev_prop_set_uint64(DEVICE(sabre), "special-base", PBM_SPECIAL_BASE); qdev_prop_set_uint64(DEVICE(sabre), "mem-base", PBM_MEM_BASE); - object_property_set_link(OBJECT(sabre), OBJECT(iommu), "iommu", + object_property_set_link(OBJECT(sabre), "iommu", OBJECT(iommu), &error_abort); sysbus_realize_and_unref(SYS_BUS_DEVICE(sabre), &error_fatal); =20 diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c index 721665191e..2ed6a8df24 100644 --- a/hw/usb/dev-storage.c +++ b/hw/usb/dev-storage.c @@ -748,7 +748,7 @@ static void usb_msd_set_bootindex(Object *obj, Visitor = *v, const char *name, s->conf.bootindex =3D boot_index; =20 if (s->scsi_dev) { - object_property_set_int(OBJECT(s->scsi_dev), boot_index, "bootinde= x", + object_property_set_int(OBJECT(s->scsi_dev), "bootindex", boot_ind= ex, &error_abort); } =20 @@ -769,7 +769,7 @@ static void usb_msd_instance_init(Object *obj) object_property_add(obj, "bootindex", "int32", usb_msd_get_bootindex, usb_msd_set_bootindex, NULL, NULL); - object_property_set_int(obj, -1, "bootindex", NULL); + object_property_set_int(obj, "bootindex", -1, NULL); } =20 static void usb_msd_class_bot_initfn(ObjectClass *klass, void *data) diff --git a/hw/virtio/virtio-crypto-pci.c b/hw/virtio/virtio-crypto-pci.c index 0755722288..f1cc979d33 100644 --- a/hw/virtio/virtio-crypto-pci.c +++ b/hw/virtio/virtio-crypto-pci.c @@ -57,9 +57,8 @@ static void virtio_crypto_pci_realize(VirtIOPCIProxy *vpc= i_dev, Error **errp) if (!qdev_realize(vdev, BUS(&vpci_dev->bus), errp)) { return; } - object_property_set_link(OBJECT(vcrypto), - OBJECT(vcrypto->vdev.conf.cryptodev), "cryptodev", - NULL); + object_property_set_link(OBJECT(vcrypto), "cryptodev", + OBJECT(vcrypto->vdev.conf.cryptodev), NULL); } =20 static void virtio_crypto_pci_class_init(ObjectClass *klass, void *data) diff --git a/hw/virtio/virtio-iommu-pci.c b/hw/virtio/virtio-iommu-pci.c index bd61d6e2f8..b6d029e271 100644 --- a/hw/virtio/virtio-iommu-pci.c +++ b/hw/virtio/virtio-iommu-pci.c @@ -54,9 +54,9 @@ static void virtio_iommu_pci_realize(VirtIOPCIProxy *vpci= _dev, Error **errp) "-no-acpi\n"); return; } - object_property_set_link(OBJECT(dev), + object_property_set_link(OBJECT(dev), "primary-bus", OBJECT(pci_get_bus(&vpci_dev->pci_dev)), - "primary-bus", &error_abort); + &error_abort); qdev_realize(vdev, BUS(&vpci_dev->bus), errp); } =20 diff --git a/hw/virtio/virtio-pmem-pci.c b/hw/virtio/virtio-pmem-pci.c index 11d0c8ebc6..21a457d151 100644 --- a/hw/virtio/virtio-pmem-pci.c +++ b/hw/virtio/virtio-pmem-pci.c @@ -28,7 +28,7 @@ static void virtio_pmem_pci_realize(VirtIOPCIProxy *vpci_= dev, Error **errp) static void virtio_pmem_pci_set_addr(MemoryDeviceState *md, uint64_t addr, Error **errp) { - object_property_set_uint(OBJECT(md), addr, VIRTIO_PMEM_ADDR_PROP, errp= ); + object_property_set_uint(OBJECT(md), VIRTIO_PMEM_ADDR_PROP, addr, errp= ); } =20 static uint64_t virtio_pmem_pci_get_addr(const MemoryDeviceState *md) diff --git a/hw/virtio/virtio-rng-pci.c b/hw/virtio/virtio-rng-pci.c index b6cb0199a3..2f0b529b62 100644 --- a/hw/virtio/virtio-rng-pci.c +++ b/hw/virtio/virtio-rng-pci.c @@ -39,8 +39,7 @@ static void virtio_rng_pci_realize(VirtIOPCIProxy *vpci_d= ev, Error **errp) return; } =20 - object_property_set_link(OBJECT(vrng), - OBJECT(vrng->vdev.conf.rng), "rng", + object_property_set_link(OBJECT(vrng), "rng", OBJECT(vrng->vdev.conf.r= ng), NULL); } =20 diff --git a/hw/virtio/virtio-rng.c b/hw/virtio/virtio-rng.c index a8df41b11b..85f7163e2d 100644 --- a/hw/virtio/virtio-rng.c +++ b/hw/virtio/virtio-rng.c @@ -208,8 +208,8 @@ static void virtio_rng_device_realize(DeviceState *dev,= Error **errp) /* The child property took a reference, we can safely drop ours no= w */ object_unref(default_backend); =20 - object_property_set_link(OBJECT(dev), default_backend, - "rng", &error_abort); + object_property_set_link(OBJECT(dev), "rng", default_backend, + &error_abort); } =20 vrng->rng =3D vrng->conf.rng; diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 97de9fb5c9..2f04ff1b8a 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -7658,7 +7658,7 @@ static abi_long do_syscall1(void *cpu_env, int num, a= bi_long arg1, if (CPU_NEXT(first_cpu)) { TaskState *ts =3D cpu->opaque; =20 - object_property_set_bool(OBJECT(cpu), false, "realized", NULL); + object_property_set_bool(OBJECT(cpu), "realized", false, NULL); object_unref(OBJECT(cpu)); /* * At this point the CPU should be unrealized and removed diff --git a/net/filter.c b/net/filter.c index caf6443655..eac8ba1e9c 100644 --- a/net/filter.c +++ b/net/filter.c @@ -338,7 +338,7 @@ static void default_handle_event(NetFilterState *nf, in= t event, Error **errp) case COLO_EVENT_CHECKPOINT: break; case COLO_EVENT_FAILOVER: - object_property_set_str(OBJECT(nf), "off", "status", errp); + object_property_set_str(OBJECT(nf), "status", "off", errp); break; default: break; diff --git a/net/net.c b/net/net.c index e1f45d3b36..ae71088c00 100644 --- a/net/net.c +++ b/net/net.c @@ -1154,7 +1154,7 @@ static void netfilter_print_info(Monitor *mon, NetFil= terState *nf) continue; } v =3D string_output_visitor_new(false, &str); - object_property_get(OBJECT(nf), v, prop->name, NULL); + object_property_get(OBJECT(nf), prop->name, v, NULL); visit_complete(v, &str); visit_free(v); monitor_printf(mon, ",%s=3D%s", prop->name, str); diff --git a/qdev-monitor.c b/qdev-monitor.c index 3143dd2afb..f3b5660c84 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -183,7 +183,7 @@ static int set_property(void *opaque, const char *name,= const char *value, if (strcmp(name, "bus") =3D=3D 0) return 0; =20 - object_property_parse(obj, value, name, &err); + object_property_parse(obj, name, value, &err); if (err !=3D NULL) { error_propagate(errp, err); return -1; diff --git a/qom/object.c b/qom/object.c index 326a8de91e..f1c95503e6 100644 --- a/qom/object.c +++ b/qom/object.c @@ -404,7 +404,7 @@ void object_apply_global_props(Object *obj, const GPtrA= rray *props, Error **errp continue; } p->used =3D true; - object_property_parse(obj, p->value, p->property, &err); + object_property_parse(obj, p->property, p->value, &err); if (err !=3D NULL) { error_prepend(&err, "can't apply global %s.%s=3D%s: ", p->driver, p->property, p->value); @@ -798,7 +798,7 @@ int object_set_propv(Object *obj, const char *value =3D va_arg(vargs, char *); =20 g_assert(value !=3D NULL); - object_property_parse(obj, value, propname, &local_err); + object_property_parse(obj, propname, value, &local_err); if (local_err) { error_propagate(errp, local_err); return -1; @@ -1298,7 +1298,7 @@ void object_property_del(Object *obj, const char *nam= e) g_hash_table_remove(obj->properties, name); } =20 -void object_property_get(Object *obj, Visitor *v, const char *name, +void object_property_get(Object *obj, const char *name, Visitor *v, Error **errp) { ObjectProperty *prop =3D object_property_find(obj, name, errp); @@ -1313,7 +1313,7 @@ void object_property_get(Object *obj, Visitor *v, con= st char *name, } } =20 -void object_property_set(Object *obj, Visitor *v, const char *name, +void object_property_set(Object *obj, const char *name, Visitor *v, Error **errp) { ObjectProperty *prop =3D object_property_find(obj, name, errp); @@ -1328,11 +1328,11 @@ void object_property_set(Object *obj, Visitor *v, c= onst char *name, } } =20 -void object_property_set_str(Object *obj, const char *value, - const char *name, Error **errp) +void object_property_set_str(Object *obj, const char *name, + const char *value, Error **errp) { QString *qstr =3D qstring_from_str(value); - object_property_set_qobject(obj, QOBJECT(qstr), name, errp); + object_property_set_qobject(obj, name, QOBJECT(qstr), errp); =20 qobject_unref(qstr); } @@ -1356,15 +1356,15 @@ char *object_property_get_str(Object *obj, const ch= ar *name, return retval; } =20 -void object_property_set_link(Object *obj, Object *value, - const char *name, Error **errp) +void object_property_set_link(Object *obj, const char *name, Object *value, + Error **errp) { if (value) { char *path =3D object_get_canonical_path(value); - object_property_set_str(obj, path, name, errp); + object_property_set_str(obj, name, path, errp); g_free(path); } else { - object_property_set_str(obj, "", name, errp); + object_property_set_str(obj, name, "", errp); } } =20 @@ -1386,11 +1386,11 @@ Object *object_property_get_link(Object *obj, const= char *name, return target; } =20 -void object_property_set_bool(Object *obj, bool value, - const char *name, Error **errp) +void object_property_set_bool(Object *obj, const char *name, bool value, + Error **errp) { QBool *qbool =3D qbool_from_bool(value); - object_property_set_qobject(obj, QOBJECT(qbool), name, errp); + object_property_set_qobject(obj, name, QOBJECT(qbool), errp); =20 qobject_unref(qbool); } @@ -1417,11 +1417,11 @@ bool object_property_get_bool(Object *obj, const ch= ar *name, return retval; } =20 -void object_property_set_int(Object *obj, int64_t value, - const char *name, Error **errp) +void object_property_set_int(Object *obj, const char *name, int64_t value, + Error **errp) { QNum *qnum =3D qnum_from_int(value); - object_property_set_qobject(obj, QOBJECT(qnum), name, errp); + object_property_set_qobject(obj, name, QOBJECT(qnum), errp); =20 qobject_unref(qnum); } @@ -1486,12 +1486,12 @@ void object_property_set_default_uint(ObjectPropert= y *prop, uint64_t value) object_property_set_default(prop, QOBJECT(qnum_from_uint(value))); } =20 -void object_property_set_uint(Object *obj, uint64_t value, - const char *name, Error **errp) +void object_property_set_uint(Object *obj, const char *name, uint64_t valu= e, + Error **errp) { QNum *qnum =3D qnum_from_uint(value); =20 - object_property_set_qobject(obj, QOBJECT(qnum), name, errp); + object_property_set_qobject(obj, name, QOBJECT(qnum), errp); qobject_unref(qnum); } =20 @@ -1553,11 +1553,12 @@ int object_property_get_enum(Object *obj, const cha= r *name, return ret; } =20 -void object_property_parse(Object *obj, const char *string, - const char *name, Error **errp) +void object_property_parse(Object *obj, const char *name, + const char *string, Error **errp) { Visitor *v =3D string_input_visitor_new(string); - object_property_set(obj, v, name, errp); + + object_property_set(obj, name, v, errp); visit_free(v); } =20 @@ -1569,7 +1570,7 @@ char *object_property_print(Object *obj, const char *= name, bool human, Error *local_err =3D NULL; =20 v =3D string_output_visitor_new(human, &string); - object_property_get(obj, v, name, &local_err); + object_property_get(obj, name, v, &local_err); if (local_err) { error_propagate(errp, local_err); goto out; @@ -2612,7 +2613,7 @@ static void property_get_alias(Object *obj, Visitor *= v, const char *name, { AliasProperty *prop =3D opaque; =20 - object_property_get(prop->target_obj, v, prop->target_name, errp); + object_property_get(prop->target_obj, prop->target_name, v, errp); } =20 static void property_set_alias(Object *obj, Visitor *v, const char *name, @@ -2620,7 +2621,7 @@ static void property_set_alias(Object *obj, Visitor *= v, const char *name, { AliasProperty *prop =3D opaque; =20 - object_property_set(prop->target_obj, v, prop->target_name, errp); + object_property_set(prop->target_obj, prop->target_name, v, errp); } =20 static Object *property_resolve_alias(Object *obj, void *opaque, diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c index 3085ae0b31..4c59ee56d5 100644 --- a/qom/object_interfaces.c +++ b/qom/object_interfaces.c @@ -67,7 +67,7 @@ Object *user_creatable_add_type(const char *type, const c= har *id, goto out; } for (e =3D qdict_first(qdict); e; e =3D qdict_next(qdict, e)) { - object_property_set(obj, v, e->key, &local_err); + object_property_set(obj, e->key, v, &local_err); if (local_err) { break; } diff --git a/qom/qom-hmp-cmds.c b/qom/qom-hmp-cmds.c index b0abe84cb1..9ed8bb1c9f 100644 --- a/qom/qom-hmp-cmds.c +++ b/qom/qom-hmp-cmds.c @@ -57,7 +57,7 @@ void hmp_qom_set(Monitor *mon, const QDict *qdict) error_set(&err, ERROR_CLASS_DEVICE_NOT_FOUND, "Device '%s' not found", path); } else { - object_property_parse(obj, value, property, &err); + object_property_parse(obj, property, value, &err); } } else { QObject *obj =3D qobject_from_json(value, &err); diff --git a/qom/qom-qmp-cmds.c b/qom/qom-qmp-cmds.c index c5249e44d0..8eefb87ad4 100644 --- a/qom/qom-qmp-cmds.c +++ b/qom/qom-qmp-cmds.c @@ -71,7 +71,7 @@ void qmp_qom_set(const char *path, const char *property, = QObject *value, return; } =20 - object_property_set_qobject(obj, value, property, errp); + object_property_set_qobject(obj, property, value, errp); } =20 QObject *qmp_qom_get(const char *path, const char *property, Error **errp) diff --git a/qom/qom-qobject.c b/qom/qom-qobject.c index c3b95aa354..f949572d8a 100644 --- a/qom/qom-qobject.c +++ b/qom/qom-qobject.c @@ -17,13 +17,14 @@ #include "qapi/qobject-input-visitor.h" #include "qapi/qobject-output-visitor.h" =20 -void object_property_set_qobject(Object *obj, QObject *value, - const char *name, Error **errp) +void object_property_set_qobject(Object *obj, + const char *name, QObject *value, + Error **errp) { Visitor *v; =20 v =3D qobject_input_visitor_new(value); - object_property_set(obj, v, name, errp); + object_property_set(obj, name, v, errp); visit_free(v); } =20 @@ -35,7 +36,7 @@ QObject *object_property_get_qobject(Object *obj, const c= har *name, Visitor *v; =20 v =3D qobject_output_visitor_new(&ret); - object_property_get(obj, v, name, &local_err); + object_property_get(obj, name, v, &local_err); if (!local_err) { visit_complete(v, &ret); } diff --git a/softmmu/vl.c b/softmmu/vl.c index 3e15ee2435..4903129867 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -2450,7 +2450,7 @@ static int object_parse_property_opt(Object *obj, return 0; } =20 - object_property_parse(obj, value, name, &local_err); + object_property_parse(obj, name, value, &local_err); =20 if (local_err) { error_propagate(errp, local_err); @@ -2798,17 +2798,17 @@ static void create_default_memdev(MachineState *ms,= const char *path) =20 obj =3D object_new(path ? TYPE_MEMORY_BACKEND_FILE : TYPE_MEMORY_BACKE= ND_RAM); if (path) { - object_property_set_str(obj, path, "mem-path", &error_fatal); + object_property_set_str(obj, "mem-path", path, &error_fatal); } - object_property_set_int(obj, ms->ram_size, "size", &error_fatal); + object_property_set_int(obj, "size", ms->ram_size, &error_fatal); object_property_add_child(object_get_objects_root(), mc->default_ram_i= d, obj); /* Ensure backend's memory region name is equal to mc->default_ram_id = */ - object_property_set_bool(obj, false, "x-use-canonical-path-for-rambloc= k-id", - &error_fatal); + object_property_set_bool(obj, "x-use-canonical-path-for-ramblock-id", + false, &error_fatal); user_creatable_complete(USER_CREATABLE(obj), &error_fatal); object_unref(obj); - object_property_set_str(OBJECT(ms), mc->default_ram_id, "memory-backen= d", + object_property_set_str(OBJECT(ms), "memory-backend", mc->default_ram_= id, &error_fatal); } =20 diff --git a/target/arm/monitor.c b/target/arm/monitor.c index fdab052acd..7f0cc21e6d 100644 --- a/target/arm/monitor.c +++ b/target/arm/monitor.c @@ -183,7 +183,7 @@ CpuModelExpansionInfo *qmp_query_cpu_model_expansion(Cp= uModelExpansionType type, i =3D 0; while ((name =3D cpu_model_advertised_features[i++]) !=3D NULL) { if (qdict_get(qdict_in, name)) { - object_property_set(obj, visitor, name, &err); + object_property_set(obj, name, visitor, &err); if (err) { break; } diff --git a/target/i386/cpu.c b/target/i386/cpu.c index ef5cf587b6..de59d96db5 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -4251,12 +4251,12 @@ static void max_x86_cpu_initfn(Object *obj) host_vendor_fms(vendor, &family, &model, &stepping); cpu_x86_fill_model_id(model_id); =20 - object_property_set_str(OBJECT(cpu), vendor, "vendor", &error_abor= t); - object_property_set_int(OBJECT(cpu), family, "family", &error_abor= t); - object_property_set_int(OBJECT(cpu), model, "model", &error_abort); - object_property_set_int(OBJECT(cpu), stepping, "stepping", + object_property_set_str(OBJECT(cpu), "vendor", vendor, &error_abor= t); + object_property_set_int(OBJECT(cpu), "family", family, &error_abor= t); + object_property_set_int(OBJECT(cpu), "model", model, &error_abort); + object_property_set_int(OBJECT(cpu), "stepping", stepping, &error_abort); - object_property_set_str(OBJECT(cpu), model_id, "model-id", + object_property_set_str(OBJECT(cpu), "model-id", model_id, &error_abort); =20 if (kvm_enabled()) { @@ -4276,20 +4276,20 @@ static void max_x86_cpu_initfn(Object *obj) } =20 if (lmce_supported()) { - object_property_set_bool(OBJECT(cpu), true, "lmce", &error_abo= rt); + object_property_set_bool(OBJECT(cpu), "lmce", true, &error_abo= rt); } } else { - object_property_set_str(OBJECT(cpu), CPUID_VENDOR_AMD, - "vendor", &error_abort); - object_property_set_int(OBJECT(cpu), 6, "family", &error_abort); - object_property_set_int(OBJECT(cpu), 6, "model", &error_abort); - object_property_set_int(OBJECT(cpu), 3, "stepping", &error_abort); - object_property_set_str(OBJECT(cpu), + object_property_set_str(OBJECT(cpu), "vendor", CPUID_VENDOR_AMD, + &error_abort); + object_property_set_int(OBJECT(cpu), "family", 6, &error_abort); + object_property_set_int(OBJECT(cpu), "model", 6, &error_abort); + object_property_set_int(OBJECT(cpu), "stepping", 3, &error_abort); + object_property_set_str(OBJECT(cpu), "model-id", "QEMU TCG CPU version " QEMU_HW_VERSION, - "model-id", &error_abort); + &error_abort); } =20 - object_property_set_bool(OBJECT(cpu), true, "pmu", &error_abort); + object_property_set_bool(OBJECT(cpu), "pmu", true, &error_abort); } =20 static const TypeInfo max_x86_cpu_type_info =3D { @@ -5050,7 +5050,7 @@ static void x86_cpu_apply_props(X86CPU *cpu, PropValu= e *props) if (!pv->value) { continue; } - object_property_parse(OBJECT(cpu), pv->value, pv->prop, + object_property_parse(OBJECT(cpu), pv->prop, pv->value, &error_abort); } } @@ -5069,7 +5069,7 @@ static void x86_cpu_apply_version_props(X86CPU *cpu, = X86CPUModel *model) PropValue *p; =20 for (p =3D vdef->props; p && p->prop; p++) { - object_property_parse(OBJECT(cpu), p->value, p->prop, + object_property_parse(OBJECT(cpu), p->prop, p->value, &error_abort); } =20 @@ -5100,18 +5100,16 @@ static void x86_cpu_load_model(X86CPU *cpu, X86CPUM= odel *model) */ =20 /* CPU models only set _minimum_ values for level/xlevel: */ - object_property_set_uint(OBJECT(cpu), def->level, "min-level", + object_property_set_uint(OBJECT(cpu), "min-level", def->level, &error_abort); - object_property_set_uint(OBJECT(cpu), def->xlevel, "min-xlevel", + object_property_set_uint(OBJECT(cpu), "min-xlevel", def->xlevel, &error_abort); =20 - object_property_set_int(OBJECT(cpu), def->family, "family", + object_property_set_int(OBJECT(cpu), "family", def->family, &error_abo= rt); + object_property_set_int(OBJECT(cpu), "model", def->model, &error_abort= ); + object_property_set_int(OBJECT(cpu), "stepping", def->stepping, &error_abort); - object_property_set_int(OBJECT(cpu), def->model, "model", - &error_abort); - object_property_set_int(OBJECT(cpu), def->stepping, "stepping", - &error_abort); - object_property_set_str(OBJECT(cpu), def->model_id, "model-id", + object_property_set_str(OBJECT(cpu), "model-id", def->model_id, &error_abort); for (w =3D 0; w < FEATURE_WORDS; w++) { env->features[w] =3D def->features[w]; @@ -5149,8 +5147,7 @@ static void x86_cpu_load_model(X86CPU *cpu, X86CPUMod= el *model) vendor =3D host_vendor; } =20 - object_property_set_str(OBJECT(cpu), vendor, "vendor", - &error_abort); + object_property_set_str(OBJECT(cpu), "vendor", vendor, &error_abort); =20 x86_cpu_apply_version_props(cpu, model); } @@ -5257,8 +5254,8 @@ static void object_apply_props(Object *obj, QDict *pr= ops, Error **errp) Error *err =3D NULL; =20 for (prop =3D qdict_first(props); prop; prop =3D qdict_next(props, pro= p)) { - object_property_set_qobject(obj, qdict_entry_value(prop), - qdict_entry_key(prop), &err); + object_property_set_qobject(obj, qdict_entry_key(prop), + qdict_entry_value(prop), &err); if (err) { break; } @@ -6326,7 +6323,7 @@ static void x86_cpu_expand_features(X86CPU *cpu, Erro= r **errp) =20 for (l =3D plus_features; l; l =3D l->next) { const char *prop =3D l->data; - object_property_set_bool(OBJECT(cpu), true, prop, &local_err); + object_property_set_bool(OBJECT(cpu), prop, true, &local_err); if (local_err) { goto out; } @@ -6334,7 +6331,7 @@ static void x86_cpu_expand_features(X86CPU *cpu, Erro= r **errp) =20 for (l =3D minus_features; l; l =3D l->next) { const char *prop =3D l->data; - object_property_set_bool(OBJECT(cpu), false, prop, &local_err); + object_property_set_bool(OBJECT(cpu), prop, false, &local_err); if (local_err) { goto out; } diff --git a/target/ppc/translate_init.inc.c b/target/ppc/translate_init.in= c.c index a40888411c..77ee032c71 100644 --- a/target/ppc/translate_init.inc.c +++ b/target/ppc/translate_init.inc.c @@ -10487,7 +10487,7 @@ static void ppc_cpu_parse_featurestr(const char *ty= pe, char *features, =20 if (compat_str) { char *v =3D compat_str + strlen("compat=3D"); - object_property_set_str(machine, v, "max-cpu-compat", &local_e= rr); + object_property_set_str(machine, "max-cpu-compat", v, &local_e= rr); } g_strfreev(inpieces); if (local_err) { diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c index aadd92247f..4cd08621bd 100644 --- a/target/s390x/cpu_models.c +++ b/target/s390x/cpu_models.c @@ -516,7 +516,7 @@ static void cpu_model_from_info(S390CPUModel *model, co= nst CpuModelInfo *info, return; } for (e =3D qdict_first(qdict); e; e =3D qdict_next(qdict, e)) { - object_property_set(obj, visitor, e->key, &err); + object_property_set(obj, e->key, visitor, &err); if (err) { break; } diff --git a/ui/console.c b/ui/console.c index 865fa32635..08f75c9bf6 100644 --- a/ui/console.c +++ b/ui/console.c @@ -1910,7 +1910,7 @@ QemuConsole *graphic_console_init(DeviceState *dev, u= int32_t head, } graphic_console_set_hwops(s, hw_ops, opaque); if (dev) { - object_property_set_link(OBJECT(s), OBJECT(dev), "device", + object_property_set_link(OBJECT(s), "device", OBJECT(dev), &error_abort); } =20 @@ -1937,7 +1937,7 @@ void graphic_console_close(QemuConsole *con) } =20 trace_console_gfx_close(con->index); - object_property_set_link(OBJECT(con), NULL, "device", &error_abort); + object_property_set_link(OBJECT(con), "device", NULL, &error_abort); graphic_console_set_hwops(con, &unused_ops, NULL); =20 if (con->gl) { --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593017868; cv=none; d=zohomail.com; s=zohoarc; b=do0bQv6eo0dCpPbeIIfUVBE3xFDYUr1UNxyWrOix6X/+vSwmgacRoB2NUHLQ3U0G9v9fZV1PpKLoEU4Oh24YIhaF1uMl7gbiauC1wrVXsJVMKv0XmFsQEwUboQYqlnb4G9VpDz6aiTEbZSzJxNqKU8RAVuzlKNLDd8lVj7jMqLU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593017868; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=mmXQy5Z5kmKPgxxKI6bYR6iodU3yKz0mPN+a9o/B4Ts=; b=fr4DSy+xWSwws2Ngg+EJgluE40SFPakw+1vqIlGsXzTMbs9q5DnWUpDE7OV81dBMbr/lKj0Y/Z7Uk3vmSeDz/fnYj6IfpVEkXr3Jqlrc5LEPTCnm2kIfxPWvKZ8OxWKpcuN7zQQF9a9brjU8OIaH6oHs6pxdZFZhG3ZByIHVB54= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593017868467715.3197796765766; Wed, 24 Jun 2020 09:57:48 -0700 (PDT) Received: from localhost ([::1]:37216 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8iZ-0001uH-2x for importer@patchew.org; Wed, 24 Jun 2020 12:57:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51750) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VR-0003jM-Pf for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:13 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:57931 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VB-00056d-Ny for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:13 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-500--xeH-D5sOXOzgLsEb3LFAg-1; Wed, 24 Jun 2020 12:43:53 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 73F7718585A1; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E83AF512FE; Wed, 24 Jun 2020 16:43:51 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 6EEA51138492; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mmXQy5Z5kmKPgxxKI6bYR6iodU3yKz0mPN+a9o/B4Ts=; b=bqNC8oN5D8/MAk8Dt1y1P+tMcKWWptZer7lPsnp+oWzpoXIJWpW4g6iE7BNopFuCc5IJ9v /8v85FjXD7zcZXST36qGjYILLdPevTeUf3s0/NRzm12xE7RBPRNXtGZCxxIsll+8oRNEYH MTwqojn9DlM5uLikIqy59zkWWGhQ2E0= X-MC-Unique: -xeH-D5sOXOzgLsEb3LFAg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 37/46] qom: Make functions taking Error ** return bool, not void Date: Wed, 24 Jun 2020 18:43:35 +0200 Message-Id: <20200624164344.3778251-38-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 03:27:53 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" See recent commit "error: Document Error API usage rules" for rationale. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- include/qom/object.h | 42 ++++++++++++----- include/qom/object_interfaces.h | 12 +++-- include/qom/qom-qobject.h | 4 +- qom/object.c | 84 +++++++++++++++++++++------------ qom/object_interfaces.c | 21 +++++---- qom/qom-qobject.c | 6 ++- 6 files changed, 113 insertions(+), 56 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index 7ef9c8d0cc..b2d2558245 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -703,7 +703,7 @@ Object *object_new_with_propv(const char *typename, Error **errp, va_list vargs); =20 -void object_apply_global_props(Object *obj, const GPtrArray *props, +bool object_apply_global_props(Object *obj, const GPtrArray *props, Error **errp); void object_set_machine_compat_props(GPtrArray *compat_props); void object_set_accelerator_compat_props(GPtrArray *compat_props); @@ -798,8 +798,10 @@ void object_initialize(void *obj, size_t size, const c= har *typename); * strings. The propname of %NULL indicates the end of the property list. * If the object implements the user creatable interface, the object will * be marked complete once all the properties have been processed. + * + * Returns: %true on success, %false on failure. */ -void object_initialize_child_with_props(Object *parentobj, +bool object_initialize_child_with_props(Object *parentobj, const char *propname, void *childobj, size_t size, const char *type, Error **errp, ...) QEMU_SENTINEL; @@ -815,8 +817,10 @@ void object_initialize_child_with_props(Object *parent= obj, * @vargs: list of property names and values * * See object_initialize_child() for documentation. + * + * Returns: %true on success, %false on failure. */ -void object_initialize_child_with_propsv(Object *parentobj, +bool object_initialize_child_with_propsv(Object *parentobj, const char *propname, void *childobj, size_t size, const char *typ= e, Error **errp, va_list vargs); @@ -1197,8 +1201,10 @@ void object_unparent(Object *obj); * @errp: returns an error if this function fails * * Reads a property from a object. + * + * Returns: %true on success, %false on failure. */ -void object_property_get(Object *obj, const char *name, Visitor *v, +bool object_property_get(Object *obj, const char *name, Visitor *v, Error **errp); =20 /** @@ -1208,8 +1214,10 @@ void object_property_get(Object *obj, const char *na= me, Visitor *v, * @errp: returns an error if this function fails * * Writes a string value to a property. + * + * Returns: %true on success, %false on failure. */ -void object_property_set_str(Object *obj, +bool object_property_set_str(Object *obj, const char *name, const char *value, Error **errp); =20 @@ -1238,8 +1246,9 @@ char *object_property_get_str(Object *obj, const char= *name, * OBJ_PROP_LINK_STRONG bit, the old target object is * unreferenced, and a reference is added to the new target object. * + * Returns: %true on success, %false on failure. */ -void object_property_set_link(Object *obj, const char *name, Object *value, +bool object_property_set_link(Object *obj, const char *name, Object *value, Error **errp); =20 /** @@ -1262,8 +1271,10 @@ Object *object_property_get_link(Object *obj, const = char *name, * @errp: returns an error if this function fails * * Writes a bool value to a property. + * + * Returns: %true on success, %false on failure. */ -void object_property_set_bool(Object *obj, const char *name, bool value, +bool object_property_set_bool(Object *obj, const char *name, bool value, Error **errp); =20 /** @@ -1285,8 +1296,10 @@ bool object_property_get_bool(Object *obj, const cha= r *name, * @errp: returns an error if this function fails * * Writes an integer value to a property. + * + * Returns: %true on success, %false on failure. */ -void object_property_set_int(Object *obj, const char *name, int64_t value, +bool object_property_set_int(Object *obj, const char *name, int64_t value, Error **errp); =20 /** @@ -1308,8 +1321,10 @@ int64_t object_property_get_int(Object *obj, const c= har *name, * @errp: returns an error if this function fails * * Writes an unsigned integer value to a property. + * + * Returns: %true on success, %false on failure. */ -void object_property_set_uint(Object *obj, const char *name, uint64_t valu= e, +bool object_property_set_uint(Object *obj, const char *name, uint64_t valu= e, Error **errp); =20 /** @@ -1348,8 +1363,10 @@ int object_property_get_enum(Object *obj, const char= *name, * @errp: returns an error if this function fails * * Writes a property to a object. + * + * Returns: %true on success, %false on failure. */ -void object_property_set(Object *obj, const char *name, Visitor *v, +bool object_property_set(Object *obj, const char *name, Visitor *v, Error **errp); =20 /** @@ -1360,8 +1377,10 @@ void object_property_set(Object *obj, const char *na= me, Visitor *v, * @errp: returns an error if this function fails * * Parses a string and writes the result into a property of an object. + * + * Returns: %true on success, %false on failure. */ -void object_property_parse(Object *obj, const char *name, +bool object_property_parse(Object *obj, const char *name, const char *string, Error **errp); =20 /** @@ -1804,6 +1823,7 @@ ObjectProperty *object_property_add_const_link(Object= *obj, const char *name, * * Set an object property's description. * + * Returns: %true on success, %false on failure. */ void object_property_set_description(Object *obj, const char *name, const char *description); diff --git a/include/qom/object_interfaces.h b/include/qom/object_interface= s.h index 65172120fa..7035829337 100644 --- a/include/qom/object_interfaces.h +++ b/include/qom/object_interfaces.h @@ -57,8 +57,10 @@ typedef struct UserCreatableClass { * Wrapper to call complete() method if one of types it's inherited * from implements USER_CREATABLE interface, otherwise the call does * nothing. + * + * Returns: %true on success, %false on failure. */ -void user_creatable_complete(UserCreatable *uc, Error **errp); +bool user_creatable_complete(UserCreatable *uc, Error **errp); =20 /** * user_creatable_can_be_deleted: @@ -100,8 +102,10 @@ Object *user_creatable_add_type(const char *type, cons= t char *id, * @qdict. The object type is taken from the QDict key 'qom-type', its * ID from the key 'id'. The remaining entries in @qdict are used to * initialize the object properties. + * + * Returns: %true on success, %false on failure. */ -void user_creatable_add_dict(QDict *qdict, bool keyval, Error **errp); +bool user_creatable_add_dict(QDict *qdict, bool keyval, Error **errp); =20 /** * user_creatable_add_opts: @@ -167,8 +171,10 @@ bool user_creatable_print_help(const char *type, QemuO= pts *opts); * * Delete an instance of the user creatable object identified * by @id. + * + * Returns: %true on success, %false on failure. */ -void user_creatable_del(const char *id, Error **errp); +bool user_creatable_del(const char *id, Error **errp); =20 /** * user_creatable_cleanup: diff --git a/include/qom/qom-qobject.h b/include/qom/qom-qobject.h index ad9a98dd62..73e4e0e474 100644 --- a/include/qom/qom-qobject.h +++ b/include/qom/qom-qobject.h @@ -33,8 +33,10 @@ struct QObject *object_property_get_qobject(Object *obj,= const char *name, * @errp: returns an error if this function fails * * Writes a property to a object. + * + * Returns: %true on success, %false on failure. */ -void object_property_set_qobject(Object *obj, +bool object_property_set_qobject(Object *obj, const char *name, struct QObject *value, struct Error **errp); =20 diff --git a/qom/object.c b/qom/object.c index f1c95503e6..46406ba84a 100644 --- a/qom/object.c +++ b/qom/object.c @@ -385,12 +385,13 @@ static void object_post_init_with_type(Object *obj, T= ypeImpl *ti) } } =20 -void object_apply_global_props(Object *obj, const GPtrArray *props, Error = **errp) +bool object_apply_global_props(Object *obj, const GPtrArray *props, + Error **errp) { int i; =20 if (!props) { - return; + return true; } =20 for (i =3D 0; i < props->len; i++) { @@ -415,12 +416,14 @@ void object_apply_global_props(Object *obj, const GPt= rArray *props, Error **errp */ if (errp) { error_propagate(errp, err); - return; + return false; } else { warn_report_err(err); } } } + + return true; } =20 /* @@ -524,25 +527,29 @@ void object_initialize(void *data, size_t size, const= char *typename) object_initialize_with_type(data, size, type); } =20 -void object_initialize_child_with_props(Object *parentobj, +bool object_initialize_child_with_props(Object *parentobj, const char *propname, void *childobj, size_t size, const char *type, Error **errp, ...) { va_list vargs; + bool ok; =20 va_start(vargs, errp); - object_initialize_child_with_propsv(parentobj, propname, - childobj, size, type, errp, vargs); + ok =3D object_initialize_child_with_propsv(parentobj, propname, + childobj, size, type, errp, + vargs); va_end(vargs); + return ok; } =20 -void object_initialize_child_with_propsv(Object *parentobj, +bool object_initialize_child_with_propsv(Object *parentobj, const char *propname, void *childobj, size_t size, const char *typ= e, Error **errp, va_list vargs) { Error *local_err =3D NULL; + bool ok =3D false; Object *obj; UserCreatable *uc; =20 @@ -564,6 +571,8 @@ void object_initialize_child_with_propsv(Object *parent= obj, } } =20 + ok =3D true; + out: /* * We want @obj's reference to be 1 on success, 0 on failure. @@ -576,6 +585,7 @@ out: object_unref(obj); =20 error_propagate(errp, local_err); + return ok; } =20 void object_initialize_child_internal(Object *parent, @@ -1298,43 +1308,52 @@ void object_property_del(Object *obj, const char *n= ame) g_hash_table_remove(obj->properties, name); } =20 -void object_property_get(Object *obj, const char *name, Visitor *v, +bool object_property_get(Object *obj, const char *name, Visitor *v, Error **errp) { + Error *err =3D NULL; ObjectProperty *prop =3D object_property_find(obj, name, errp); + if (prop =3D=3D NULL) { - return; + return false; } =20 if (!prop->get) { error_setg(errp, QERR_PERMISSION_DENIED); - } else { - prop->get(obj, v, name, prop->opaque, errp); + return false; } + prop->get(obj, v, name, prop->opaque, &err); + error_propagate(errp, err); + return !err; } =20 -void object_property_set(Object *obj, const char *name, Visitor *v, +bool object_property_set(Object *obj, const char *name, Visitor *v, Error **errp) { + Error *err =3D NULL; ObjectProperty *prop =3D object_property_find(obj, name, errp); + if (prop =3D=3D NULL) { - return; + return false; } =20 if (!prop->set) { error_setg(errp, QERR_PERMISSION_DENIED); - } else { - prop->set(obj, v, name, prop->opaque, errp); + return false; } + prop->set(obj, v, name, prop->opaque, &err); + error_propagate(errp, err); + return !err; } =20 -void object_property_set_str(Object *obj, const char *name, +bool object_property_set_str(Object *obj, const char *name, const char *value, Error **errp) { QString *qstr =3D qstring_from_str(value); - object_property_set_qobject(obj, name, QOBJECT(qstr), errp); + bool ok =3D object_property_set_qobject(obj, name, QOBJECT(qstr), errp= ); =20 qobject_unref(qstr); + return ok; } =20 char *object_property_get_str(Object *obj, const char *name, @@ -1356,16 +1375,15 @@ char *object_property_get_str(Object *obj, const ch= ar *name, return retval; } =20 -void object_property_set_link(Object *obj, const char *name, Object *value, +bool object_property_set_link(Object *obj, const char *name, Object *value, Error **errp) { + g_autofree char *path =3D NULL; + if (value) { - char *path =3D object_get_canonical_path(value); - object_property_set_str(obj, name, path, errp); - g_free(path); - } else { - object_property_set_str(obj, name, "", errp); + path =3D object_get_canonical_path(value); } + return object_property_set_str(obj, name, path ?: "", errp); } =20 Object *object_property_get_link(Object *obj, const char *name, @@ -1386,13 +1404,14 @@ Object *object_property_get_link(Object *obj, const= char *name, return target; } =20 -void object_property_set_bool(Object *obj, const char *name, bool value, +bool object_property_set_bool(Object *obj, const char *name, bool value, Error **errp) { QBool *qbool =3D qbool_from_bool(value); - object_property_set_qobject(obj, name, QOBJECT(qbool), errp); + bool ok =3D object_property_set_qobject(obj, name, QOBJECT(qbool), err= p); =20 qobject_unref(qbool); + return ok; } =20 bool object_property_get_bool(Object *obj, const char *name, @@ -1417,13 +1436,14 @@ bool object_property_get_bool(Object *obj, const ch= ar *name, return retval; } =20 -void object_property_set_int(Object *obj, const char *name, int64_t value, +bool object_property_set_int(Object *obj, const char *name, int64_t value, Error **errp) { QNum *qnum =3D qnum_from_int(value); - object_property_set_qobject(obj, name, QOBJECT(qnum), errp); + bool ok =3D object_property_set_qobject(obj, name, QOBJECT(qnum), errp= ); =20 qobject_unref(qnum); + return ok; } =20 int64_t object_property_get_int(Object *obj, const char *name, @@ -1486,13 +1506,14 @@ void object_property_set_default_uint(ObjectPropert= y *prop, uint64_t value) object_property_set_default(prop, QOBJECT(qnum_from_uint(value))); } =20 -void object_property_set_uint(Object *obj, const char *name, uint64_t valu= e, +bool object_property_set_uint(Object *obj, const char *name, uint64_t valu= e, Error **errp) { QNum *qnum =3D qnum_from_uint(value); + bool ok =3D object_property_set_qobject(obj, name, QOBJECT(qnum), errp= ); =20 - object_property_set_qobject(obj, name, QOBJECT(qnum), errp); qobject_unref(qnum); + return ok; } =20 uint64_t object_property_get_uint(Object *obj, const char *name, @@ -1553,13 +1574,14 @@ int object_property_get_enum(Object *obj, const cha= r *name, return ret; } =20 -void object_property_parse(Object *obj, const char *name, +bool object_property_parse(Object *obj, const char *name, const char *string, Error **errp) { Visitor *v =3D string_input_visitor_new(string); + bool ok =3D object_property_set(obj, name, v, errp); =20 - object_property_set(obj, name, v, errp); visit_free(v); + return ok; } =20 char *object_property_print(Object *obj, const char *name, bool human, diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c index 4c59ee56d5..382198504c 100644 --- a/qom/object_interfaces.c +++ b/qom/object_interfaces.c @@ -14,13 +14,16 @@ #include "qapi/opts-visitor.h" #include "qemu/config-file.h" =20 -void user_creatable_complete(UserCreatable *uc, Error **errp) +bool user_creatable_complete(UserCreatable *uc, Error **errp) { UserCreatableClass *ucc =3D USER_CREATABLE_GET_CLASS(uc); + Error *err =3D NULL; =20 if (ucc->complete) { - ucc->complete(uc, errp); + ucc->complete(uc, &err); + error_propagate(errp, err); } + return !err; } =20 bool user_creatable_can_be_deleted(UserCreatable *uc) @@ -101,7 +104,7 @@ out: return obj; } =20 -void user_creatable_add_dict(QDict *qdict, bool keyval, Error **errp) +bool user_creatable_add_dict(QDict *qdict, bool keyval, Error **errp) { Visitor *v; Object *obj; @@ -111,14 +114,14 @@ void user_creatable_add_dict(QDict *qdict, bool keyva= l, Error **errp) type =3D g_strdup(qdict_get_try_str(qdict, "qom-type")); if (!type) { error_setg(errp, QERR_MISSING_PARAMETER, "qom-type"); - return; + return false; } qdict_del(qdict, "qom-type"); =20 id =3D g_strdup(qdict_get_try_str(qdict, "id")); if (!id) { error_setg(errp, QERR_MISSING_PARAMETER, "id"); - return; + return false; } qdict_del(qdict, "id"); =20 @@ -130,6 +133,7 @@ void user_creatable_add_dict(QDict *qdict, bool keyval,= Error **errp) obj =3D user_creatable_add_type(type, id, qdict, v, errp); visit_free(v); object_unref(obj); + return !!obj; } =20 Object *user_creatable_add_opts(QemuOpts *opts, Error **errp) @@ -260,7 +264,7 @@ bool user_creatable_print_help(const char *type, QemuOp= ts *opts) return false; } =20 -void user_creatable_del(const char *id, Error **errp) +bool user_creatable_del(const char *id, Error **errp) { Object *container; Object *obj; @@ -269,12 +273,12 @@ void user_creatable_del(const char *id, Error **errp) obj =3D object_resolve_path_component(container, id); if (!obj) { error_setg(errp, "object '%s' not found", id); - return; + return false; } =20 if (!user_creatable_can_be_deleted(USER_CREATABLE(obj))) { error_setg(errp, "object '%s' is in use, can not be deleted", id); - return; + return false; } =20 /* @@ -285,6 +289,7 @@ void user_creatable_del(const char *id, Error **errp) id)); =20 object_unparent(obj); + return true; } =20 void user_creatable_cleanup(void) diff --git a/qom/qom-qobject.c b/qom/qom-qobject.c index f949572d8a..62ac5e07ac 100644 --- a/qom/qom-qobject.c +++ b/qom/qom-qobject.c @@ -17,15 +17,17 @@ #include "qapi/qobject-input-visitor.h" #include "qapi/qobject-output-visitor.h" =20 -void object_property_set_qobject(Object *obj, +bool object_property_set_qobject(Object *obj, const char *name, QObject *value, Error **errp) { Visitor *v; + bool ok; =20 v =3D qobject_input_visitor_new(value); - object_property_set(obj, name, v, errp); + ok =3D object_property_set(obj, name, v, errp); visit_free(v); + return ok; } =20 QObject *object_property_get_qobject(Object *obj, const char *name, --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018163; cv=none; d=zohomail.com; s=zohoarc; b=inY5jTKnMha6UhV92HoUsAWlIwA16O3jT9Lmnyg9mQi07AdCv5XZ19hLZWlhJDWCj5pKB64pv80+cJDugcBZqpYDwIm3fa9rIgpSfZfYcneR9Nmzjj+lzLNcP13Jc/a/9XrOxiggpbIzgQ00dLkY3qNdPe+GZuL6sCiz/vbImp4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018163; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Zzhh/MQRNRhwB6fpmd4rr+RZWeSApSxilrZxyInKHzI=; b=RcuXAjEpmgDjVexWsjcZS/mCCMsZnf5JZRFajPAF4gk/45EXstDg5xlwHEIQ1t6xffnlmHkM6s+kcOqIOgZ4ysv7aLsCd0879PnhIlybnPMLgLJ23gSQtht9GJY+ttLI9TOrMq7/QOVum1qwtXD3ARxwvlc1V7H02/1zUa3oVPg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018163908448.1518172979946; Wed, 24 Jun 2020 10:02:43 -0700 (PDT) Received: from localhost ([::1]:53676 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8nK-0001Hf-88 for importer@patchew.org; Wed, 24 Jun 2020 13:02:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51960) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8Va-00048F-9U for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:23 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:58028 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VC-00057W-Jp for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:21 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-274-Z-medfHzPH-YAbOXBszAuw-1; Wed, 24 Jun 2020 12:43:53 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9E6AB10059A7; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id EB5738FF60; Wed, 24 Jun 2020 16:43:51 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 732461138493; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Zzhh/MQRNRhwB6fpmd4rr+RZWeSApSxilrZxyInKHzI=; b=C1FyH0wT2QkHxEkS4Sg+COIoVP0FNtth2kHhBYIzU477v7+q1AeFhTUewIHvKMOfjUqI3S UXE84gsh+BCswCiq+0KATlFqy8Gx/oNBU1go6X969zW8//oHBsIP2Jr4oGUPrSTDfSJzL9 pYo+MfH/zp9VR3hutKRWbmMefUhas20= X-MC-Unique: Z-medfHzPH-YAbOXBszAuw-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 38/46] qom: Smooth error checking with Coccinelle Date: Wed, 24 Jun 2020 18:43:36 +0200 Message-Id: <20200624164344.3778251-39-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 00:34:35 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The previous commit enables conversion of foo(..., &err); if (err) { ... } to if (!foo(..., errp)) { ... } for QOM functions that now return true / false on success / error. Coccinelle script: @@ identifier fun =3D {object_apply_global_props, object_initialize_child_= with_props, object_initialize_child_with_propsv, object_property_get, objec= t_property_get_bool, object_property_parse, object_property_set, object_pro= perty_set_bool, object_property_set_int, object_property_set_link, object_p= roperty_set_qobject, object_property_set_str, object_property_set_uint, obj= ect_set_props, object_set_propv, user_creatable_add_dict, user_creatable_co= mplete, user_creatable_del}; expression list args, args2; typedef Error; Error *err; identifier errp; @@ - fun(args, &err, args2); - if (err) { + if (!fun(args, errp, args2)) { ... when !=3D err - error_propagate(errp, err); ... } @@ identifier fun =3D {object_apply_global_props, object_initialize_child_= with_props, object_initialize_child_with_propsv, object_property_get, objec= t_property_get_bool, object_property_parse, object_property_set, object_pro= perty_set_bool, object_property_set_int, object_property_set_link, object_p= roperty_set_qobject, object_property_set_str, object_property_set_uint, obj= ect_set_props, object_set_propv, user_creatable_add_dict, user_creatable_co= mplete, user_creatable_del}; expression list args, args2; typedef Error; Error *err; @@ - fun(args, &err, args2); - if (err) { + if (!fun(args, &err, args2)) { ... } Fails to convert hw/arm/armsse.c, because Coccinelle gets confused by ARMSSE being used both as typedef and function-like macro there. Convert manually. Eliminate error_propagate() that are now unnecessary. Delete @err that are now unused. Tidy up line breaks and whitespace. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- hw/arm/armsse.c | 64 +++++++++++++----------------------- hw/arm/armv7m.c | 25 +++++--------- hw/arm/aspeed_ast2600.c | 6 ++-- hw/arm/aspeed_soc.c | 6 ++-- hw/arm/bcm2835_peripherals.c | 6 ++-- hw/arm/bcm2836.c | 15 ++++----- hw/arm/cubieboard.c | 11 +++---- hw/arm/digic.c | 6 ++-- hw/arm/nrf51_soc.c | 10 ++---- hw/arm/stm32f405_soc.c | 8 ++--- hw/arm/xlnx-zynqmp.c | 18 ++++------ hw/block/xen-block.c | 15 ++++----- hw/core/qdev.c | 8 +---- hw/ppc/pnv_psi.c | 6 ++-- hw/s390x/s390-pci-bus.c | 3 +- hw/s390x/s390-virtio-ccw.c | 3 +- hw/scsi/scsi-bus.c | 4 +-- hw/sd/aspeed_sdhci.c | 11 ++----- hw/sd/ssi-sd.c | 3 +- hw/virtio/virtio-rng.c | 6 +--- qdev-monitor.c | 5 +-- qom/object.c | 19 +++-------- qom/object_interfaces.c | 6 ++-- softmmu/vl.c | 7 +--- target/arm/monitor.c | 3 +- target/i386/cpu.c | 11 +++---- target/s390x/cpu_models.c | 3 +- 27 files changed, 94 insertions(+), 194 deletions(-) diff --git a/hw/arm/armsse.c b/hw/arm/armsse.c index 8af599cb13..3f12b7130b 100644 --- a/hw/arm/armsse.c +++ b/hw/arm/armsse.c @@ -535,23 +535,18 @@ static void armsse_realize(DeviceState *dev, Error **= errp) * later if necessary. */ if (extract32(info->cpuwait_rst, i, 1)) { - object_property_set_bool(cpuobj, "start-powered-off", true, &e= rr); - if (err) { - error_propagate(errp, err); + if (!object_property_set_bool(cpuobj, "start-powered-off", tru= e, + errp)) { return; } } if (!s->cpu_fpu[i]) { - object_property_set_bool(cpuobj, "vfp", false, &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_bool(cpuobj, "vfp", false, errp)) { return; } } if (!s->cpu_dsp[i]) { - object_property_set_bool(cpuobj, "dsp", false, &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_bool(cpuobj, "dsp", false, errp)) { return; } } @@ -603,10 +598,8 @@ static void armsse_realize(DeviceState *dev, Error **e= rrp) DeviceState *devs =3D DEVICE(splitter); int cpunum; =20 - object_property_set_int(splitter, "num-lines", info->num_c= pus, - &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_int(splitter, "num-lines", + info->num_cpus, errp)) { return; } if (!qdev_realize(DEVICE(splitter), NULL, errp)) { @@ -655,10 +648,8 @@ static void armsse_realize(DeviceState *dev, Error **e= rrp) * multiple lines, one for each of the PPCs within the ARMSSE and one * that will be an output from the ARMSSE to the system. */ - object_property_set_int(OBJECT(&s->sec_resp_splitter), "num-lines", 3, - &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_int(OBJECT(&s->sec_resp_splitter), + "num-lines", 3, errp)) { return; } if (!qdev_realize(DEVICE(&s->sec_resp_splitter), NULL, errp)) { @@ -697,10 +688,9 @@ static void armsse_realize(DeviceState *dev, Error **e= rrp) } =20 /* We must OR together lines from the MPC splitters to go to the NVIC = */ - object_property_set_int(OBJECT(&s->mpc_irq_orgate), "num-lines", - IOTS_NUM_EXP_MPC + info->sram_banks, &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_int(OBJECT(&s->mpc_irq_orgate), "num-lines", + IOTS_NUM_EXP_MPC + info->sram_banks, + errp)) { return; } if (!qdev_realize(DEVICE(&s->mpc_irq_orgate), NULL, errp)) { @@ -830,10 +820,8 @@ static void armsse_realize(DeviceState *dev, Error **e= rrp) * ones) are sent individually to the security controller, and also * ORed together to give a single combined PPC interrupt to the NVIC. */ - object_property_set_int(OBJECT(&s->ppc_irq_orgate), "num-lines", NUM_P= PCS, - &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_int(OBJECT(&s->ppc_irq_orgate), + "num-lines", NUM_PPCS, errp)) { return; } if (!qdev_realize(DEVICE(&s->ppc_irq_orgate), NULL, errp)) { @@ -932,16 +920,12 @@ static void armsse_realize(DeviceState *dev, Error **= errp) qdev_get_gpio_in_named(dev_apb_ppc1, "cfg_sec_resp", 0)); =20 - object_property_set_int(OBJECT(&s->sysinfo), "SYS_VERSION", - info->sys_version, &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_int(OBJECT(&s->sysinfo), "SYS_VERSION", + info->sys_version, errp)) { return; } - object_property_set_int(OBJECT(&s->sysinfo), "SYS_CONFIG", - armsse_sys_config_value(s, info), &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_int(OBJECT(&s->sysinfo), "SYS_CONFIG", + armsse_sys_config_value(s, info), errp)) { return; } if (!sysbus_realize(SYS_BUS_DEVICE(&s->sysinfo), errp)) { @@ -986,9 +970,8 @@ static void armsse_realize(DeviceState *dev, Error **er= rp) } =20 /* This OR gate wires together outputs from the secure watchdogs to NM= I */ - object_property_set_int(OBJECT(&s->nmi_orgate), "num-lines", 2, &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_int(OBJECT(&s->nmi_orgate), "num-lines", 2, + errp)) { return; } if (!qdev_realize(DEVICE(&s->nmi_orgate), NULL, errp)) { @@ -1026,9 +1009,7 @@ static void armsse_realize(DeviceState *dev, Error **= errp) for (i =3D 0; i < ARRAY_SIZE(s->ppc_irq_splitter); i++) { Object *splitter =3D OBJECT(&s->ppc_irq_splitter[i]); =20 - object_property_set_int(splitter, "num-lines", 2, &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_int(splitter, "num-lines", 2, errp)) { return; } if (!qdev_realize(DEVICE(splitter), NULL, errp)) { @@ -1071,9 +1052,8 @@ static void armsse_realize(DeviceState *dev, Error **= errp) SplitIRQ *splitter =3D &s->mpc_irq_splitter[i]; DeviceState *dev_splitter =3D DEVICE(splitter); =20 - object_property_set_int(OBJECT(splitter), "num-lines", 2, &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_int(OBJECT(splitter), "num-lines", 2, + errp)) { return; } if (!qdev_realize(DEVICE(splitter), NULL, errp)) { diff --git a/hw/arm/armv7m.c b/hw/arm/armv7m.c index c42baeecbb..aa831d6653 100644 --- a/hw/arm/armv7m.c +++ b/hw/arm/armv7m.c @@ -174,32 +174,24 @@ static void armv7m_realize(DeviceState *dev, Error **= errp) &error_abort); } if (object_property_find(OBJECT(s->cpu), "init-svtor", NULL)) { - object_property_set_uint(OBJECT(s->cpu), "init-svtor", s->init_svt= or, - &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!object_property_set_uint(OBJECT(s->cpu), "init-svtor", + s->init_svtor, errp)) { return; } } if (object_property_find(OBJECT(s->cpu), "start-powered-off", NULL)) { - object_property_set_bool(OBJECT(s->cpu), "start-powered-off", - s->start_powered_off, &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!object_property_set_bool(OBJECT(s->cpu), "start-powered-off", + s->start_powered_off, errp)) { return; } } if (object_property_find(OBJECT(s->cpu), "vfp", NULL)) { - object_property_set_bool(OBJECT(s->cpu), "vfp", s->vfp, &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!object_property_set_bool(OBJECT(s->cpu), "vfp", s->vfp, errp)= ) { return; } } if (object_property_find(OBJECT(s->cpu), "dsp", NULL)) { - object_property_set_bool(OBJECT(s->cpu), "dsp", s->dsp, &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!object_property_set_bool(OBJECT(s->cpu), "dsp", s->dsp, errp)= ) { return; } } @@ -241,9 +233,8 @@ static void armv7m_realize(DeviceState *dev, Error **er= rp) Object *obj =3D OBJECT(&s->bitband[i]); SysBusDevice *sbd =3D SYS_BUS_DEVICE(&s->bitband[i]); =20 - object_property_set_int(obj, "base", bitband_input_addr[i], &e= rr); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!object_property_set_int(obj, "base", + bitband_input_addr[i], errp)) { return; } object_property_set_link(obj, "source-memory", diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c index 4d25d550c5..3767f7d8d0 100644 --- a/hw/arm/aspeed_ast2600.c +++ b/hw/arm/aspeed_ast2600.c @@ -351,10 +351,8 @@ static void aspeed_soc_ast2600_realize(DeviceState *de= v, Error **errp) /* FMC, The number of CS is set at the board level */ object_property_set_link(OBJECT(&s->fmc), "dram", OBJECT(s->dram_mr), &error_abort); - object_property_set_int(OBJECT(&s->fmc), "sdram-base", - sc->memmap[ASPEED_SDRAM], &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_int(OBJECT(&s->fmc), "sdram-base", + sc->memmap[ASPEED_SDRAM], errp)) { return; } if (!sysbus_realize(SYS_BUS_DEVICE(&s->fmc), errp)) { diff --git a/hw/arm/aspeed_soc.c b/hw/arm/aspeed_soc.c index 8d2cbf3715..a1a8684216 100644 --- a/hw/arm/aspeed_soc.c +++ b/hw/arm/aspeed_soc.c @@ -302,10 +302,8 @@ static void aspeed_soc_realize(DeviceState *dev, Error= **errp) /* FMC, The number of CS is set at the board level */ object_property_set_link(OBJECT(&s->fmc), "dram", OBJECT(s->dram_mr), &error_abort); - object_property_set_int(OBJECT(&s->fmc), "sdram-base", - sc->memmap[ASPEED_SDRAM], &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_int(OBJECT(&s->fmc), "sdram-base", + sc->memmap[ASPEED_SDRAM], errp)) { return; } if (!sysbus_realize(SYS_BUS_DEVICE(&s->fmc), errp)) { diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index b2a939a100..a9d7f53f6e 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -217,10 +217,8 @@ static void bcm2835_peripherals_realize(DeviceState *d= ev, Error **errp) return; } =20 - object_property_set_uint(OBJECT(&s->fb), "vcram-base", - ram_size - vcram_size, &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_uint(OBJECT(&s->fb), "vcram-base", + ram_size - vcram_size, errp)) { return; } =20 diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index 5008037395..f15cc3b405 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -72,7 +72,6 @@ static void bcm2836_realize(DeviceState *dev, Error **err= p) BCM283XClass *bc =3D BCM283X_GET_CLASS(dev); const BCM283XInfo *info =3D bc->info; Object *obj; - Error *err =3D NULL; int n; =20 /* common peripherals from bcm2835 */ @@ -108,18 +107,16 @@ static void bcm2836_realize(DeviceState *dev, Error *= *errp) s->cpu[n].core.mp_affinity =3D (info->clusterid << 8) | n; =20 /* set periphbase/CBAR value for CPU-local registers */ - object_property_set_int(OBJECT(&s->cpu[n].core), "reset-cbar", - info->peri_base, &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_int(OBJECT(&s->cpu[n].core), "reset-cbar", + info->peri_base, errp)) { return; } =20 /* start powered off if not enabled */ - object_property_set_bool(OBJECT(&s->cpu[n].core), "start-powered-o= ff", - n >=3D s->enabled_cpus, &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_bool(OBJECT(&s->cpu[n].core), + "start-powered-off", + n >=3D s->enabled_cpus, + errp)) { return; } =20 diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index 302919246b..1c6c792eb6 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -62,20 +62,19 @@ static void cubieboard_init(MachineState *machine) object_property_add_child(OBJECT(machine), "soc", OBJECT(a10)); object_unref(OBJECT(a10)); =20 - object_property_set_int(OBJECT(&a10->emac), "phy-addr", 1, &err); - if (err !=3D NULL) { + if (!object_property_set_int(OBJECT(&a10->emac), "phy-addr", 1, &err))= { error_reportf_err(err, "Couldn't set phy address: "); exit(1); } =20 - object_property_set_int(OBJECT(&a10->timer), "clk0-freq", 32768, &err); - if (err !=3D NULL) { + if (!object_property_set_int(OBJECT(&a10->timer), "clk0-freq", 32768, + &err)) { error_reportf_err(err, "Couldn't set clk0 frequency: "); exit(1); } =20 - object_property_set_int(OBJECT(&a10->timer), "clk1-freq", 24000000, &e= rr); - if (err !=3D NULL) { + if (!object_property_set_int(OBJECT(&a10->timer), "clk1-freq", 2400000= 0, + &err)) { error_reportf_err(err, "Couldn't set clk1 frequency: "); exit(1); } diff --git a/hw/arm/digic.c b/hw/arm/digic.c index d5109ab938..614232165c 100644 --- a/hw/arm/digic.c +++ b/hw/arm/digic.c @@ -52,13 +52,11 @@ static void digic_init(Object *obj) static void digic_realize(DeviceState *dev, Error **errp) { DigicState *s =3D DIGIC(dev); - Error *err =3D NULL; SysBusDevice *sbd; int i; =20 - object_property_set_bool(OBJECT(&s->cpu), "reset-hivecs", true, &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!object_property_set_bool(OBJECT(&s->cpu), "reset-hivecs", true, + errp)) { return; } =20 diff --git a/hw/arm/nrf51_soc.c b/hw/arm/nrf51_soc.c index a5f8806577..45e6cc97d7 100644 --- a/hw/arm/nrf51_soc.c +++ b/hw/arm/nrf51_soc.c @@ -103,10 +103,8 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Er= ror **errp) BASE_TO_IRQ(NRF51_RNG_BASE))); =20 /* UICR, FICR, NVMC, FLASH */ - object_property_set_uint(OBJECT(&s->nvm), "flash-size", s->flash_size, - &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_uint(OBJECT(&s->nvm), "flash-size", + s->flash_size, errp)) { return; } =20 @@ -136,9 +134,7 @@ static void nrf51_soc_realize(DeviceState *dev_soc, Err= or **errp) =20 /* TIMER */ for (i =3D 0; i < NRF51_NUM_TIMERS; i++) { - object_property_set_uint(OBJECT(&s->timer[i]), "id", i, &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_uint(OBJECT(&s->timer[i]), "id", i, errp)= ) { return; } if (!sysbus_realize(SYS_BUS_DEVICE(&s->timer[i]), errp)) { diff --git a/hw/arm/stm32f405_soc.c b/hw/arm/stm32f405_soc.c index 282bc6f36c..cb04c11198 100644 --- a/hw/arm/stm32f405_soc.c +++ b/hw/arm/stm32f405_soc.c @@ -156,11 +156,9 @@ static void stm32f405_soc_realize(DeviceState *dev_soc= , Error **errp) } =20 /* ADC device, the IRQs are ORed together */ - object_initialize_child_with_props(OBJECT(s), "adc-orirq", &s->adc_irq= s, - sizeof(s->adc_irqs), TYPE_OR_IRQ, &= err, - NULL); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!object_initialize_child_with_props(OBJECT(s), "adc-orirq", + &s->adc_irqs, sizeof(s->adc_ir= qs), + TYPE_OR_IRQ, errp, NULL)) { return; } object_property_set_int(OBJECT(&s->adc_irqs), "num-lines", STM_NUM_ADC= S, diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c index 48bbb5066e..772cfa3771 100644 --- a/hw/arm/xlnx-zynqmp.c +++ b/hw/arm/xlnx-zynqmp.c @@ -500,19 +500,14 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Err= or **errp) * - SDIO Specification Version 3.0 * - eMMC Specification Version 4.51 */ - object_property_set_uint(sdhci, "sd-spec-version", 3, &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_uint(sdhci, "sd-spec-version", 3, errp)) { return; } - object_property_set_uint(sdhci, "capareg", SDHCI_CAPABILITIES, &er= r); - if (err) { - error_propagate(errp, err); + if (!object_property_set_uint(sdhci, "capareg", SDHCI_CAPABILITIES, + errp)) { return; } - object_property_set_uint(sdhci, "uhs", UHS_I, &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_uint(sdhci, "uhs", UHS_I, errp)) { return; } if (!sysbus_realize(SYS_BUS_DEVICE(sdhci), errp)) { @@ -592,9 +587,8 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error= **errp) sysbus_connect_irq(SYS_BUS_DEVICE(&s->rtc), 0, gic_spi[RTC_IRQ]); =20 for (i =3D 0; i < XLNX_ZYNQMP_NUM_GDMA_CH; i++) { - object_property_set_uint(OBJECT(&s->gdma[i]), "bus-width", 128, &e= rr); - if (err) { - error_propagate(errp, err); + if (!object_property_set_uint(OBJECT(&s->gdma[i]), "bus-width", 12= 8, + errp)) { return; } if (!sysbus_realize(SYS_BUS_DEVICE(&s->gdma[i]), errp)) { diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c index 1b323b44d9..a775fba7c0 100644 --- a/hw/block/xen-block.c +++ b/hw/block/xen-block.c @@ -931,22 +931,21 @@ static void xen_block_device_create(XenBackendInstanc= e *backend, xendev =3D XEN_DEVICE(qdev_new(type)); blockdev =3D XEN_BLOCK_DEVICE(xendev); =20 - object_property_set_str(OBJECT(xendev), "vdev", vdev, &local_err); - if (local_err) { + if (!object_property_set_str(OBJECT(xendev), "vdev", vdev, + &local_err)) { error_propagate_prepend(errp, local_err, "failed to set 'vdev': "); goto fail; } =20 - object_property_set_str(OBJECT(xendev), "drive", - xen_block_drive_get_node_name(drive), &local_e= rr); - if (local_err) { + if (!object_property_set_str(OBJECT(xendev), "drive", + xen_block_drive_get_node_name(drive), + &local_err)) { error_propagate_prepend(errp, local_err, "failed to set 'drive': "= ); goto fail; } =20 - object_property_set_str(OBJECT(xendev), "iothread", iothread->id, - &local_err); - if (local_err) { + if (!object_property_set_str(OBJECT(xendev), "iothread", iothread->id, + &local_err)) { error_propagate_prepend(errp, local_err, "failed to set 'iothread': "); goto fail; diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 8de99f6ba5..17bd8fc2ec 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -386,8 +386,6 @@ void qdev_simple_device_unplug_cb(HotplugHandler *hotpl= ug_dev, */ bool qdev_realize(DeviceState *dev, BusState *bus, Error **errp) { - Error *err =3D NULL; - assert(!dev->realized && !dev->parent_bus); =20 if (bus) { @@ -396,11 +394,7 @@ bool qdev_realize(DeviceState *dev, BusState *bus, Err= or **errp) assert(!DEVICE_GET_CLASS(dev)->bus_type); } =20 - object_property_set_bool(OBJECT(dev), "realized", true, &err); - if (err) { - error_propagate(errp, err); - } - return !err; + return object_property_set_bool(OBJECT(dev), "realized", true, errp); } =20 /* diff --git a/hw/ppc/pnv_psi.c b/hw/ppc/pnv_psi.c index 88ec4cbe5f..5bdeec700e 100644 --- a/hw/ppc/pnv_psi.c +++ b/hw/ppc/pnv_psi.c @@ -501,13 +501,11 @@ static void pnv_psi_power8_realize(DeviceState *dev, = Error **errp) { PnvPsi *psi =3D PNV_PSI(dev); ICSState *ics =3D &PNV8_PSI(psi)->ics; - Error *err =3D NULL; unsigned int i; =20 /* Create PSI interrupt control source */ - object_property_set_int(OBJECT(ics), "nr-irqs", PSI_NUM_INTERRUPTS, &e= rr); - if (err) { - error_propagate(errp, err); + if (!object_property_set_int(OBJECT(ics), "nr-irqs", PSI_NUM_INTERRUPT= S, + errp)) { return; } if (!qdev_realize(DEVICE(ics), NULL, errp)) { diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index 053944be15..b23956b42e 100644 --- a/hw/s390x/s390-pci-bus.c +++ b/hw/s390x/s390-pci-bus.c @@ -820,8 +820,7 @@ static S390PCIBusDevice *s390_pci_device_new(S390pciSta= te *s, return NULL; } =20 - object_property_set_str(OBJECT(dev), "target", target, &local_err); - if (local_err) { + if (!object_property_set_str(OBJECT(dev), "target", target, &local_err= )) { object_unparent(OBJECT(dev)); error_propagate_prepend(errp, local_err, "zPCI device could not be created: "); diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index be4859fa49..62af349c31 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -71,8 +71,7 @@ static S390CPU *s390x_new_cpu(const char *typename, uint3= 2_t core_id, S390CPU *cpu =3D S390_CPU(object_new(typename)); Error *err =3D NULL; =20 - object_property_set_int(OBJECT(cpu), "core-id", core_id, &err); - if (err !=3D NULL) { + if (!object_property_set_int(OBJECT(cpu), "core-id", core_id, &err)) { goto out; } qdev_realize(DEVICE(cpu), NULL, &err); diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c index 9951c2bca7..b937df16bc 100644 --- a/hw/scsi/scsi-bus.c +++ b/hw/scsi/scsi-bus.c @@ -283,9 +283,7 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, Blo= ckBackend *blk, object_unparent(OBJECT(dev)); return NULL; } - object_property_set_bool(OBJECT(dev), "share-rw", share_rw, &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!object_property_set_bool(OBJECT(dev), "share-rw", share_rw, errp)= ) { object_unparent(OBJECT(dev)); return NULL; } diff --git a/hw/sd/aspeed_sdhci.c b/hw/sd/aspeed_sdhci.c index 562795cfdb..22cafce0fb 100644 --- a/hw/sd/aspeed_sdhci.c +++ b/hw/sd/aspeed_sdhci.c @@ -115,7 +115,6 @@ static void aspeed_sdhci_set_irq(void *opaque, int n, i= nt level) =20 static void aspeed_sdhci_realize(DeviceState *dev, Error **errp) { - Error *err =3D NULL; SysBusDevice *sbd =3D SYS_BUS_DEVICE(dev); AspeedSDHCIState *sdhci =3D ASPEED_SDHCI(dev); =20 @@ -132,16 +131,12 @@ static void aspeed_sdhci_realize(DeviceState *dev, Er= ror **errp) Object *sdhci_slot =3D OBJECT(&sdhci->slots[i]); SysBusDevice *sbd_slot =3D SYS_BUS_DEVICE(&sdhci->slots[i]); =20 - object_property_set_int(sdhci_slot, "sd-spec-version", 2, &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_int(sdhci_slot, "sd-spec-version", 2, err= p)) { return; } =20 - object_property_set_uint(sdhci_slot, "capareg", - ASPEED_SDHCI_CAPABILITIES, &err); - if (err) { - error_propagate(errp, err); + if (!object_property_set_uint(sdhci_slot, "capareg", + ASPEED_SDHCI_CAPABILITIES, errp)) { return; } =20 diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c index cf17568f76..4d91f603fa 100644 --- a/hw/sd/ssi-sd.c +++ b/hw/sd/ssi-sd.c @@ -261,8 +261,7 @@ static void ssi_sd_realize(SSISlave *d, Error **errp) } } =20 - object_property_set_bool(OBJECT(carddev), "spi", true, &err); - if (err) { + if (!object_property_set_bool(OBJECT(carddev), "spi", true, &err)) { goto fail; } =20 diff --git a/hw/virtio/virtio-rng.c b/hw/virtio/virtio-rng.c index 85f7163e2d..5721c8ebfb 100644 --- a/hw/virtio/virtio-rng.c +++ b/hw/virtio/virtio-rng.c @@ -176,7 +176,6 @@ static void virtio_rng_device_realize(DeviceState *dev,= Error **errp) { VirtIODevice *vdev =3D VIRTIO_DEVICE(dev); VirtIORNG *vrng =3D VIRTIO_RNG(dev); - Error *local_err =3D NULL; =20 if (vrng->conf.period_ms <=3D 0) { error_setg(errp, "'period' parameter expects a positive integer"); @@ -194,10 +193,7 @@ static void virtio_rng_device_realize(DeviceState *dev= , Error **errp) if (vrng->conf.rng =3D=3D NULL) { Object *default_backend =3D object_new(TYPE_RNG_BUILTIN); =20 - user_creatable_complete(USER_CREATABLE(default_backend), - &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!user_creatable_complete(USER_CREATABLE(default_backend), errp= )) { object_unref(default_backend); return; } diff --git a/qdev-monitor.c b/qdev-monitor.c index f3b5660c84..2db38b18af 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -176,16 +176,13 @@ static int set_property(void *opaque, const char *nam= e, const char *value, Error **errp) { Object *obj =3D opaque; - Error *err =3D NULL; =20 if (strcmp(name, "driver") =3D=3D 0) return 0; if (strcmp(name, "bus") =3D=3D 0) return 0; =20 - object_property_parse(obj, name, value, &err); - if (err !=3D NULL) { - error_propagate(errp, err); + if (!object_property_parse(obj, name, value, errp)) { return -1; } return 0; diff --git a/qom/object.c b/qom/object.c index 46406ba84a..eb814e41be 100644 --- a/qom/object.c +++ b/qom/object.c @@ -405,8 +405,7 @@ bool object_apply_global_props(Object *obj, const GPtrA= rray *props, continue; } p->used =3D true; - object_property_parse(obj, p->property, p->value, &err); - if (err !=3D NULL) { + if (!object_property_parse(obj, p->property, p->value, &err)) { error_prepend(&err, "can't apply global %s.%s=3D%s: ", p->driver, p->property, p->value); /* @@ -564,8 +563,7 @@ bool object_initialize_child_with_propsv(Object *parent= obj, =20 uc =3D (UserCreatable *)object_dynamic_cast(obj, TYPE_USER_CREATABLE); if (uc) { - user_creatable_complete(uc, &local_err); - if (local_err) { + if (!user_creatable_complete(uc, &local_err)) { object_unparent(obj); goto out; } @@ -762,8 +760,7 @@ Object *object_new_with_propv(const char *typename, =20 uc =3D (UserCreatable *)object_dynamic_cast(obj, TYPE_USER_CREATABLE); if (uc) { - user_creatable_complete(uc, &local_err); - if (local_err) { + if (!user_creatable_complete(uc, &local_err)) { if (id !=3D NULL) { object_unparent(obj); } @@ -801,16 +798,13 @@ int object_set_propv(Object *obj, va_list vargs) { const char *propname; - Error *local_err =3D NULL; =20 propname =3D va_arg(vargs, char *); while (propname !=3D NULL) { const char *value =3D va_arg(vargs, char *); =20 g_assert(value !=3D NULL); - object_property_parse(obj, propname, value, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!object_property_parse(obj, propname, value, errp)) { return -1; } propname =3D va_arg(vargs, char *); @@ -1589,12 +1583,9 @@ char *object_property_print(Object *obj, const char = *name, bool human, { Visitor *v; char *string =3D NULL; - Error *local_err =3D NULL; =20 v =3D string_output_visitor_new(human, &string); - object_property_get(obj, name, v, &local_err); - if (local_err) { - error_propagate(errp, local_err); + if (!object_property_get(obj, name, v, errp)) { goto out; } =20 diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c index 382198504c..15fff66c3c 100644 --- a/qom/object_interfaces.c +++ b/qom/object_interfaces.c @@ -70,8 +70,7 @@ Object *user_creatable_add_type(const char *type, const c= har *id, goto out; } for (e =3D qdict_first(qdict); e; e =3D qdict_next(qdict, e)) { - object_property_set(obj, e->key, v, &local_err); - if (local_err) { + if (!object_property_set(obj, e->key, v, &local_err)) { break; } } @@ -88,8 +87,7 @@ Object *user_creatable_add_type(const char *type, const c= har *id, id, obj); } =20 - user_creatable_complete(USER_CREATABLE(obj), &local_err); - if (local_err) { + if (!user_creatable_complete(USER_CREATABLE(obj), &local_err)) { if (id !=3D NULL) { object_property_del(object_get_objects_root(), id); } diff --git a/softmmu/vl.c b/softmmu/vl.c index 4903129867..df0b895ea7 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -2444,16 +2444,11 @@ static int object_parse_property_opt(Object *obj, const char *name, const char *value, const char *skip, Error **errp) { - Error *local_err =3D NULL; - if (g_str_equal(name, skip)) { return 0; } =20 - object_property_parse(obj, name, value, &local_err); - - if (local_err) { - error_propagate(errp, local_err); + if (!object_property_parse(obj, name, value, errp)) { return -1; } =20 diff --git a/target/arm/monitor.c b/target/arm/monitor.c index 7f0cc21e6d..ba6e01abd0 100644 --- a/target/arm/monitor.c +++ b/target/arm/monitor.c @@ -183,8 +183,7 @@ CpuModelExpansionInfo *qmp_query_cpu_model_expansion(Cp= uModelExpansionType type, i =3D 0; while ((name =3D cpu_model_advertised_features[i++]) !=3D NULL) { if (qdict_get(qdict_in, name)) { - object_property_set(obj, name, visitor, &err); - if (err) { + if (!object_property_set(obj, name, visitor, &err)) { break; } } diff --git a/target/i386/cpu.c b/target/i386/cpu.c index de59d96db5..26ba40656d 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -5254,9 +5254,8 @@ static void object_apply_props(Object *obj, QDict *pr= ops, Error **errp) Error *err =3D NULL; =20 for (prop =3D qdict_first(props); prop; prop =3D qdict_next(props, pro= p)) { - object_property_set_qobject(obj, qdict_entry_key(prop), - qdict_entry_value(prop), &err); - if (err) { + if (!object_property_set_qobject(obj, qdict_entry_key(prop), + qdict_entry_value(prop), &err)) { break; } } @@ -6323,16 +6322,14 @@ static void x86_cpu_expand_features(X86CPU *cpu, Er= ror **errp) =20 for (l =3D plus_features; l; l =3D l->next) { const char *prop =3D l->data; - object_property_set_bool(OBJECT(cpu), prop, true, &local_err); - if (local_err) { + if (!object_property_set_bool(OBJECT(cpu), prop, true, &local_err)= ) { goto out; } } =20 for (l =3D minus_features; l; l =3D l->next) { const char *prop =3D l->data; - object_property_set_bool(OBJECT(cpu), prop, false, &local_err); - if (local_err) { + if (!object_property_set_bool(OBJECT(cpu), prop, false, &local_err= )) { goto out; } } diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c index 4cd08621bd..c2af226174 100644 --- a/target/s390x/cpu_models.c +++ b/target/s390x/cpu_models.c @@ -516,8 +516,7 @@ static void cpu_model_from_info(S390CPUModel *model, co= nst CpuModelInfo *info, return; } for (e =3D qdict_first(qdict); e; e =3D qdict_next(qdict, e)) { - object_property_set(obj, e->key, visitor, &err); - if (err) { + if (!object_property_set(obj, e->key, visitor, &err)) { break; } } --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018062; cv=none; d=zohomail.com; s=zohoarc; b=JddsoDj14Ca1LZnxu7w80dwJ6pHGV/PCZbQDHE+pZBN+y+OqdrKKahZvrVMyZxWqYW8isSZcXRFb4rRsdRNoSoFA4GXrJjXnfCaTXlvcl/d4qEmrjivDRtioSHmGmXJGNBXS2WSRoLvAdER+bc+4dq5hLfEq5TgWmYfg143OvFo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018062; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=iv5jsw8Qu10tKDuXJWYnW772497s6X8/d3y77EvOOD4=; b=XiZFNlUZmI3cwmWYkRqs9wYGCy2ThfLUky1LNPqeJRPRayKKKWN6nak2uu/kArFYpz4n0Sgf85u0rI+DtWv73aA8LvNj+FAByhUf+RpvkACLM0khIEu3hFYUKialIRugUyrSIbXVaS5jBIobtWorADrw0YN7nizumnpWJLuM9Ok= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018061717583.0745620381242; Wed, 24 Jun 2020 10:01:01 -0700 (PDT) Received: from localhost ([::1]:48476 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8ld-00076B-PU for importer@patchew.org; Wed, 24 Jun 2020 13:00:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51816) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VU-0003rN-5E for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:16 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:46909 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VB-00056x-Qt for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:15 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-345-rR_Zk2FwPjmwnb6OpwONYw-1; Wed, 24 Jun 2020 12:43:53 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 671428015FA; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0D05D60F8A; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 76A8B1138494; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=iv5jsw8Qu10tKDuXJWYnW772497s6X8/d3y77EvOOD4=; b=cWJuTV+EKLbvlDjrOtpOASjhAN7JxdSBxuUsCvvv9NZDyPu/ltA4i6tzmYgsM4v9D/kGHp tujvUyEunN+zRiiUrXUWmX8nV2/wFxZB3XQNLyZTlJ7TwmZ/7PmJZ21M2OWub4MN0vMzUv q68vKU4qzlDWRr1yV+cBXRL7pm78RNs= X-MC-Unique: rR_Zk2FwPjmwnb6OpwONYw-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 39/46] qom: Smooth error checking manually Date: Wed, 24 Jun 2020 18:43:37 +0200 Message-Id: <20200624164344.3778251-40-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 02:33:25 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" When foo(..., &err) is followed by error_propagate(errp, err), we can often just as well do foo(..., errp). The previous commit did that for simple cases with Coccinelle. Do it for a few more manually. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake --- hw/core/bus.c | 6 +----- hw/s390x/s390-virtio-ccw.c | 15 +++++++-------- qom/object.c | 9 ++------- qom/qom-qobject.c | 5 +---- target/i386/cpu.c | 19 +++++-------------- 5 files changed, 16 insertions(+), 38 deletions(-) diff --git a/hw/core/bus.c b/hw/core/bus.c index 00d1d31762..6b987b6946 100644 --- a/hw/core/bus.c +++ b/hw/core/bus.c @@ -166,11 +166,7 @@ BusState *qbus_create(const char *typename, DeviceStat= e *parent, const char *nam =20 bool qbus_realize(BusState *bus, Error **errp) { - Error *err =3D NULL; - - object_property_set_bool(OBJECT(bus), "realized", true, &err); - error_propagate(errp, err); - return !err; + return object_property_set_bool(OBJECT(bus), "realized", true, errp); } =20 void qbus_unrealize(BusState *bus) diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 62af349c31..877ea2af9d 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -69,20 +69,19 @@ static S390CPU *s390x_new_cpu(const char *typename, uin= t32_t core_id, Error **errp) { S390CPU *cpu =3D S390_CPU(object_new(typename)); - Error *err =3D NULL; + S390CPU *ret =3D NULL; =20 - if (!object_property_set_int(OBJECT(cpu), "core-id", core_id, &err)) { + if (!object_property_set_int(OBJECT(cpu), "core-id", core_id, errp)) { goto out; } - qdev_realize(DEVICE(cpu), NULL, &err); + if (!qdev_realize(DEVICE(cpu), NULL, errp)) { + goto out; + } + ret =3D cpu; =20 out: object_unref(OBJECT(cpu)); - if (err) { - error_propagate(errp, err); - cpu =3D NULL; - } - return cpu; + return ret; } =20 static void s390_init_cpus(MachineState *machine) diff --git a/qom/object.c b/qom/object.c index eb814e41be..684540a09f 100644 --- a/qom/object.c +++ b/qom/object.c @@ -547,7 +547,6 @@ bool object_initialize_child_with_propsv(Object *parent= obj, void *childobj, size_t size, const char *typ= e, Error **errp, va_list vargs) { - Error *local_err =3D NULL; bool ok =3D false; Object *obj; UserCreatable *uc; @@ -563,7 +562,7 @@ bool object_initialize_child_with_propsv(Object *parent= obj, =20 uc =3D (UserCreatable *)object_dynamic_cast(obj, TYPE_USER_CREATABLE); if (uc) { - if (!user_creatable_complete(uc, &local_err)) { + if (!user_creatable_complete(uc, errp)) { object_unparent(obj); goto out; } @@ -581,8 +580,6 @@ out: * the reference taken by object_property_add_child(). */ object_unref(obj); - - error_propagate(errp, local_err); return ok; } =20 @@ -735,7 +732,6 @@ Object *object_new_with_propv(const char *typename, { Object *obj; ObjectClass *klass; - Error *local_err =3D NULL; UserCreatable *uc; =20 klass =3D object_class_by_name(typename); @@ -760,7 +756,7 @@ Object *object_new_with_propv(const char *typename, =20 uc =3D (UserCreatable *)object_dynamic_cast(obj, TYPE_USER_CREATABLE); if (uc) { - if (!user_creatable_complete(uc, &local_err)) { + if (!user_creatable_complete(uc, errp)) { if (id !=3D NULL) { object_unparent(obj); } @@ -772,7 +768,6 @@ Object *object_new_with_propv(const char *typename, return obj; =20 error: - error_propagate(errp, local_err); object_unref(obj); return NULL; } diff --git a/qom/qom-qobject.c b/qom/qom-qobject.c index 62ac5e07ac..21ce22de94 100644 --- a/qom/qom-qobject.c +++ b/qom/qom-qobject.c @@ -34,15 +34,12 @@ QObject *object_property_get_qobject(Object *obj, const= char *name, Error **errp) { QObject *ret =3D NULL; - Error *local_err =3D NULL; Visitor *v; =20 v =3D qobject_output_visitor_new(&ret); - object_property_get(obj, name, v, &local_err); - if (!local_err) { + if (object_property_get(obj, name, v, errp)) { visit_complete(v, &ret); } - error_propagate(errp, local_err); visit_free(v); return ret; } diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 26ba40656d..b7c9f0fa72 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -5251,16 +5251,13 @@ static void x86_cpu_to_dict_full(X86CPU *cpu, QDict= *props) static void object_apply_props(Object *obj, QDict *props, Error **errp) { const QDictEntry *prop; - Error *err =3D NULL; =20 for (prop =3D qdict_first(props); prop; prop =3D qdict_next(props, pro= p)) { if (!object_property_set_qobject(obj, qdict_entry_key(prop), - qdict_entry_value(prop), &err)) { + qdict_entry_value(prop), errp)) { break; } } - - error_propagate(errp, err); } =20 /* Create X86CPU object according to model+props specification */ @@ -6318,19 +6315,18 @@ static void x86_cpu_expand_features(X86CPU *cpu, Er= ror **errp) FeatureWord w; int i; GList *l; - Error *local_err =3D NULL; =20 for (l =3D plus_features; l; l =3D l->next) { const char *prop =3D l->data; - if (!object_property_set_bool(OBJECT(cpu), prop, true, &local_err)= ) { - goto out; + if (!object_property_set_bool(OBJECT(cpu), prop, true, errp)) { + return; } } =20 for (l =3D minus_features; l; l =3D l->next) { const char *prop =3D l->data; - if (!object_property_set_bool(OBJECT(cpu), prop, false, &local_err= )) { - goto out; + if (!object_property_set_bool(OBJECT(cpu), prop, false, errp)) { + return; } } =20 @@ -6428,11 +6424,6 @@ static void x86_cpu_expand_features(X86CPU *cpu, Err= or **errp) if (env->cpuid_xlevel2 =3D=3D UINT32_MAX) { env->cpuid_xlevel2 =3D env->cpuid_min_xlevel2; } - -out: - if (local_err !=3D NULL) { - error_propagate(errp, local_err); - } } =20 /* --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018576; cv=none; d=zohomail.com; s=zohoarc; b=WKf95OPs/0dAC1JA4VJ2UEe5X3r7DluyVcsqeI+H80Pd3K+j51FJiBhF+3oEhXGta7WAOyOoAk0809iFEB3ZgDPuarTVSk6eY8ysBH9JVAzzLzmaH5cFKXPd1fASta+NB+OAHLJhWKoc/JIwkyFS2JR4OoPZ/EvYvzH3CCESMjs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018576; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=+c3msc5o9787aKuvhiP4zAz9Y1AGG6GhOgQz3vKW4P8=; b=bSgG0Di9ih+ZoZT06dRls8QPzgIDTBNPZK7Rlp/I+kf+tyMIXAVvXG15B96NTweTETd7QJBzWuXPMsZGtONGn/NX2Q+A1LRMLolAwvnmQ7xMJ7GWSXZm6yAdVHZ3z0MFHky1BTHve5MItmSWHCqF4cDVNGQIGYfbiMKO4TB4Az8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018576546594.1759512218168; Wed, 24 Jun 2020 10:09:36 -0700 (PDT) Received: from localhost ([::1]:53574 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8tz-00056V-3c for importer@patchew.org; Wed, 24 Jun 2020 13:09:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51924) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VX-00042w-SX for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:19 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:43810 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VC-00057n-Uf for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:19 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-289-KG01Tc23MJmcyNZFLeOqxQ-1; Wed, 24 Jun 2020 12:43:53 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4162418585AB; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0E0545C578; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 7A22E1138495; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=+c3msc5o9787aKuvhiP4zAz9Y1AGG6GhOgQz3vKW4P8=; b=Mtz2xaqwjy6pIpKgxPXyVvZN763crgi/r4ox9PbV9c1q2MQkhH7GGYseDg52zcZEtCQ2WQ n+tsIlLWa04KW09OxYx6nrpwXmnpwYN/niK5NxWM92Us1x1SwYp8g6yiH/0Sf/HziakbeE UbBPLmXNkR8PFKOOIimo2E66XBuXzs8= X-MC-Unique: KG01Tc23MJmcyNZFLeOqxQ-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 40/46] qom: Make functions taking Error ** return bool, not 0/-1 Date: Wed, 24 Jun 2020 18:43:38 +0200 Message-Id: <20200624164344.3778251-41-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 01:59:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Just for consistency. Also fix the example in object_set_props()'s documentation. Signed-off-by: Markus Armbruster --- include/qom/object.h | 28 +++++++++++----------------- qom/object.c | 14 +++++++------- 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/include/qom/object.h b/include/qom/object.h index b2d2558245..d74ede4eac 100644 --- a/include/qom/object.h +++ b/include/qom/object.h @@ -729,15 +729,13 @@ void object_apply_compat_props(Object *obj); * Error *err =3D NULL; * Object *obj =3D ...get / create object...; * - * obj =3D object_set_props(obj, - * &err, - * "share", "yes", - * "mem-path", "/dev/shm/somefile", - * "prealloc", "yes", - * "size", "1048576", - * NULL); - * - * if (!obj) { + * if (!object_set_props(obj, + * &err, + * "share", "yes", + * "mem-path", "/dev/shm/somefile", + * "prealloc", "yes", + * "size", "1048576", + * NULL)) { * error_reportf_err(err, "Cannot set properties: "); * } * @@ -746,11 +744,9 @@ void object_apply_compat_props(Object *obj); * The returned object will have one stable reference maintained * for as long as it is present in the object hierarchy. * - * Returns: -1 on error, 0 on success + * Returns: %true on success, %false on error. */ -int object_set_props(Object *obj, - Error **errp, - ...) QEMU_SENTINEL; +bool object_set_props(Object *obj, Error **errp, ...) QEMU_SENTINEL; =20 /** * object_set_propv: @@ -760,11 +756,9 @@ int object_set_props(Object *obj, * * See object_set_props() for documentation. * - * Returns: -1 on error, 0 on success + * Returns: %true on success, %false on error. */ -int object_set_propv(Object *obj, - Error **errp, - va_list vargs); +bool object_set_propv(Object *obj, Error **errp, va_list vargs); =20 /** * object_initialize: diff --git a/qom/object.c b/qom/object.c index 684540a09f..9b479621e4 100644 --- a/qom/object.c +++ b/qom/object.c @@ -554,7 +554,7 @@ bool object_initialize_child_with_propsv(Object *parent= obj, object_initialize(childobj, size, type); obj =3D OBJECT(childobj); =20 - if (object_set_propv(obj, errp, vargs) < 0) { + if (!object_set_propv(obj, errp, vargs)) { goto out; } =20 @@ -746,7 +746,7 @@ Object *object_new_with_propv(const char *typename, } obj =3D object_new_with_type(klass->type); =20 - if (object_set_propv(obj, errp, vargs) < 0) { + if (!object_set_propv(obj, errp, vargs)) { goto error; } =20 @@ -773,12 +773,12 @@ Object *object_new_with_propv(const char *typename, } =20 =20 -int object_set_props(Object *obj, +bool object_set_props(Object *obj, Error **errp, ...) { va_list vargs; - int ret; + bool ret; =20 va_start(vargs, errp); ret =3D object_set_propv(obj, errp, vargs); @@ -788,7 +788,7 @@ int object_set_props(Object *obj, } =20 =20 -int object_set_propv(Object *obj, +bool object_set_propv(Object *obj, Error **errp, va_list vargs) { @@ -800,12 +800,12 @@ int object_set_propv(Object *obj, =20 g_assert(value !=3D NULL); if (!object_property_parse(obj, propname, value, errp)) { - return -1; + return false; } propname =3D va_arg(vargs, char *); } =20 - return 0; + return true; } =20 =20 --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018838; cv=none; d=zohomail.com; s=zohoarc; b=brZop2tpb17oPDkSEMinhxeHeHneS+KLzX2XDnqcvCD928Ech8ikDdS/9GBW1+zxI1acwOqVQ1pbQx2jpyBpGKpMyA3AT/zWWNyehujEg8Lq/kQ2B85ttWd1suObqr6FSY9ZmLovDOWOZh6baupDo5s/uulwWwBXuZs+LDoA3QA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018838; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Kp1vfexx7WPBqjR7fuIpou+illDjvMfyvZqxabrbF5g=; b=Xcvt1SMEF+2usL0iZYxQkFdpFrFEXIsv+9iUHLCkgtY6Zk2SaR82WIcSYx0dPv/efKPNV2A2PwfkYJsTpywWra3C6f8UQbwIr9ozixP5kd23v9axGOEYv7+aYr2ih+DqpePHGdEvdffoUi+/UtvoCXFafeVqK5yDRvYTeE2QAw8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018838081599.0070208967627; Wed, 24 Jun 2020 10:13:58 -0700 (PDT) Received: from localhost ([::1]:42224 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8yC-0005hu-RE for importer@patchew.org; Wed, 24 Jun 2020 13:13:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52234) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8Vm-0004W9-5T for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:34 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:53480 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VD-00059E-QY for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:33 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-337-HHtxom14P8ytcpHH1wOF7w-1; Wed, 24 Jun 2020 12:43:53 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5F12F107ACF8; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2BED65D9C5; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 7D8C21138496; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Kp1vfexx7WPBqjR7fuIpou+illDjvMfyvZqxabrbF5g=; b=EC8ihwkucvYaLMD2FGZaxubTfcBC0t4VXElZJTV/Fdz91N4zLOLjNmhAHdT9szH7TMrkCz NrqgBKGtaHTWiJmVLWcj1+xOdmZP7XcKl7TY2CZ2FYz5inAEIwH7MBrBMnpwew+r4qMKBS EcW5TpcRevB1WiwdOk5Vw7vJSXV7kLQ= X-MC-Unique: HHtxom14P8ytcpHH1wOF7w-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 41/46] qdev: Make functions taking Error ** return bool, not void Date: Wed, 24 Jun 2020 18:43:39 +0200 Message-Id: <20200624164344.3778251-42-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 02:33:25 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" See recent commit "error: Document Error API usage rules" for rationale. Signed-off-by: Markus Armbruster --- include/hw/qdev-properties.h | 4 ++-- hw/core/qdev-properties-system.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h index 49c6cd2460..f12ab9e6bc 100644 --- a/include/hw/qdev-properties.h +++ b/include/hw/qdev-properties.h @@ -236,8 +236,8 @@ extern const PropertyInfo qdev_prop_pcie_link_width; /* * Set properties between creation and realization. */ -void qdev_prop_set_drive_err(DeviceState *dev, const char *name, - BlockBackend *value, Error **errp); +bool qdev_prop_set_drive_err(DeviceState *dev, const char *name, + BlockBackend *value, Error **errp); =20 /* * Set properties between creation and realization. diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-sys= tem.c index abd851656f..3e4f16fc21 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -413,7 +413,7 @@ const PropertyInfo qdev_prop_audiodev =3D { .set =3D set_audiodev, }; =20 -void qdev_prop_set_drive_err(DeviceState *dev, const char *name, +bool qdev_prop_set_drive_err(DeviceState *dev, const char *name, BlockBackend *value, Error **errp) { const char *ref =3D ""; @@ -428,7 +428,7 @@ void qdev_prop_set_drive_err(DeviceState *dev, const ch= ar *name, } } =20 - object_property_set_str(OBJECT(dev), name, ref, errp); + return object_property_set_str(OBJECT(dev), name, ref, errp); } =20 void qdev_prop_set_drive(DeviceState *dev, const char *name, --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018907; cv=none; d=zohomail.com; s=zohoarc; b=fJdM+VcC+WuPl9xwW8SMcGNsSqjIqku1Cra6quULsPtJL9sBGmH/kGMkqEvf9M7kMEvXJDdudEmroPv+bVVKH7cCUJiwoIvZbdABfC+K4bBOpA4MTIS+XEqT1kN8hj75RYLP4hRgEsvoxJ5fqHPGuwlBiIUFvjHXEmNHj/zQnAs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018907; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=bnV/HyOFkCf5tLNTavGfK7x5swowGtq9OLMzspL5ubo=; b=a3Cn8qk+IqPfEN6WCD7UJxDAsP8RJKAEG31ket9RwYj2p6H6cJo9nNLAM3rrSmmwLT34etV6INPiUJ2P7gbjhda9KxU3Ls9WQIPUGRizXpEY8a06mdObdVkB7WNFTs87PHC/bye9r8gJfmIiw25+oBkJz9JrN/tzLnagXbQAA/U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018907232267.3351172737647; Wed, 24 Jun 2020 10:15:07 -0700 (PDT) Received: from localhost ([::1]:46078 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8zJ-0007Rz-Vu for importer@patchew.org; Wed, 24 Jun 2020 13:15:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53946) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8aj-0004yq-5x for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:49:41 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:30640 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8ag-0007xG-R9 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:49:40 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-244-R9l3-7KNMH2e3xurHpvfuw-1; Wed, 24 Jun 2020 12:49:35 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 42086804001; Wed, 24 Jun 2020 16:49:34 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id F060D7BFEA; Wed, 24 Jun 2020 16:49:33 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 81B741138497; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bnV/HyOFkCf5tLNTavGfK7x5swowGtq9OLMzspL5ubo=; b=D8Udll9oWsoeNqlkXpNSsYPq8i0qeUmW/zRHcEjqYIOlJNXmAxJNY8r9lyHI2z+9QraIHt sueqamk+PFux0F940c9+pAvhNhYLkXuC0V61XQpQjeCwa6bITcbgSdjnNCKOh6V2QqvWYL xlIUNHBB5z3hsOS1qPn21+Hi8VicrN4= X-MC-Unique: R9l3-7KNMH2e3xurHpvfuw-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 42/46] qdev: Smooth error checking with Coccinelle Date: Wed, 24 Jun 2020 18:43:40 +0200 Message-Id: <20200624164344.3778251-43-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 00:34:35 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The previous commit enables conversion of qdev_prop_set_drive_err(..., &err); if (err) { ... } to if (!qdev_prop_set_drive_err(..., errp)) { ... } Coccinelle script: @@ identifier fun =3D qdev_prop_set_drive_err; expression list args, args2; typedef Error; Error *err; identifier errp; @@ - fun(args, &err, args2); - if (err) { + if (!fun(args, errp, args2)) { ... when !=3D err - error_propagate(errp, err); ... } @@ identifier fun =3D qdev_prop_set_drive_err; expression list args, args2; typedef Error; Error *err; @@ - fun(args, &err, args2); - if (err) { + if (!fun(args, &err, args2)) { ... } Eliminate error_propagate() that are now unnecessary. Delete @err that are now unused. Tidy up line breaks and whitespace. Signed-off-by: Markus Armbruster --- hw/scsi/scsi-bus.c | 5 +---- hw/sd/sd.c | 3 +-- hw/sd/ssi-sd.c | 5 ++--- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c index b937df16bc..df65cc2223 100644 --- a/hw/scsi/scsi-bus.c +++ b/hw/scsi/scsi-bus.c @@ -248,7 +248,6 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, Blo= ckBackend *blk, const char *driver; char *name; DeviceState *dev; - Error *err =3D NULL; DriveInfo *dinfo; =20 if (blk_is_sg(blk)) { @@ -277,9 +276,7 @@ SCSIDevice *scsi_bus_legacy_add_drive(SCSIBus *bus, Blo= ckBackend *blk, if (serial && object_property_find(OBJECT(dev), "serial", NULL)) { qdev_prop_set_string(dev, "serial", serial); } - qdev_prop_set_drive_err(dev, "drive", blk, &err); - if (err) { - error_propagate(errp, err); + if (!qdev_prop_set_drive_err(dev, "drive", blk, errp)) { object_unparent(OBJECT(dev)); return NULL; } diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 97a9d32964..5137168d66 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -706,8 +706,7 @@ SDState *sd_init(BlockBackend *blk, bool is_spi) =20 obj =3D object_new(TYPE_SD_CARD); dev =3D DEVICE(obj); - qdev_prop_set_drive_err(dev, "drive", blk, &err); - if (err) { + if (!qdev_prop_set_drive_err(dev, "drive", blk, &err)) { error_reportf_err(err, "sd_init failed: "); return NULL; } diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c index 4d91f603fa..e0fb9f3093 100644 --- a/hw/sd/ssi-sd.c +++ b/hw/sd/ssi-sd.c @@ -254,9 +254,8 @@ static void ssi_sd_realize(SSISlave *d, Error **errp) dinfo =3D drive_get_next(IF_SD); carddev =3D qdev_new(TYPE_SD_CARD); if (dinfo) { - qdev_prop_set_drive_err(carddev, "drive", blk_by_legacy_dinfo(dinf= o), - &err); - if (err) { + if (!qdev_prop_set_drive_err(carddev, "drive", + blk_by_legacy_dinfo(dinfo), &err)) { goto fail; } } --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018456; cv=none; d=zohomail.com; s=zohoarc; b=IM1+di21pzj1oRaLkZWacDWmMzK/7k8xmZgECd4JttLTHi/nTpFVUDQ1AmFdJw2eMmIgnV4Agjh0d4DGF1EdXYM440hDAg/Sie4FvPtCyyE/1LIKQvSz0RuWl47913bwgiAwZmllnhxocpvwIknen8z+JyuAenOGVHFYJwVMKKc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018456; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=IC8Vr8M6/Rxb1ZPJWgX18Fts6DhkZzLJbAlhdOhLmJ8=; b=nwgATubsNbca7kF3OhTxuFei8W3hpfKVdk0klrvJ1sIhyRgma64FrkLGyuuzirlWjRTPwVo302a5qnkikzl/xZu0QpTmiQZn0YDaBJRrS+2bR1N4rWPnaireClDOeDy/x5+hFCZ99gC8ywADUMJoUia64W+R8PgaJhWA5odlJwM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 159301845655272.83059743899787; Wed, 24 Jun 2020 10:07:36 -0700 (PDT) Received: from localhost ([::1]:45246 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8s3-0001ce-7n for importer@patchew.org; Wed, 24 Jun 2020 13:07:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51898) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VW-0003zl-QW for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:18 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:44670 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VC-00056y-AO for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:18 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-345-Kq3NjoiqMF2TPDfBOdrXBg-1; Wed, 24 Jun 2020 12:43:53 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5FC2C8015F9; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2BF235D9D3; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 852961138498; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=IC8Vr8M6/Rxb1ZPJWgX18Fts6DhkZzLJbAlhdOhLmJ8=; b=bPe9Uo5TDBZ+Vm08HJVZnAwv/vbcsZqq1Hk1Hi2iewt191RHw1rGiWGqpVjtiDtji9Tzuu MwNmYlOZS971dfDk/3C7+TAA35+HINrOlFW+KZMh1a1DWjCL0nlfzhr3I61Gdz70SUn/cp yMNDLOXTh0tLc9T1qk9hAUqaT+u2Q5Q= X-MC-Unique: Kq3NjoiqMF2TPDfBOdrXBg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 43/46] qdev: Smooth error checking manually Date: Wed, 24 Jun 2020 18:43:41 +0200 Message-Id: <20200624164344.3778251-44-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 01:59:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" When foo(..., &err) is followed by error_propagate(errp, err), we can often just as well do foo(..., errp). The previous commit did that for simple cases with Coccinelle. Do it for one more manually. Signed-off-by: Markus Armbruster --- hw/block/fdc.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/hw/block/fdc.c b/hw/block/fdc.c index fe0ae2d146..a0670c0aa0 100644 --- a/hw/block/fdc.c +++ b/hw/block/fdc.c @@ -2527,7 +2527,7 @@ static void fdctrl_connect_drives(FDCtrl *fdctrl, Dev= iceState *fdc_dev, FDrive *drive; DeviceState *dev; BlockBackend *blk; - Error *local_err =3D NULL; + bool ok; const char *fdc_name, *drive_suffix; =20 for (i =3D 0; i < MAX_FD; i++) { @@ -2566,11 +2566,9 @@ static void fdctrl_connect_drives(FDCtrl *fdctrl, De= viceState *fdc_dev, blk_ref(blk); blk_detach_dev(blk, fdc_dev); fdctrl->qdev_for_drives[i].blk =3D NULL; - qdev_prop_set_drive_err(dev, "drive", blk, &local_err); + ok =3D qdev_prop_set_drive_err(dev, "drive", blk, errp); blk_unref(blk); - - if (local_err) { - error_propagate(errp, local_err); + if (!ok) { return; } =20 --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018199; cv=none; d=zohomail.com; s=zohoarc; b=h7Rg1K9CIlCdZr7/cGKLX+KVEuUjI5ILuF1dwDz1LWNHENCJ3HvfLr3L4B5TaDFd3cYgmVnxzPHpAZbGPIIX5sUdwCr4efNUWZk+whygjjpZfLqproDZjFc0dAPBvxV4vBf89G19LfNRsiGB3o2lkG/y8MfWBZthm7BZh6kgn44= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018199; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Ouxi5e2ryU3MfEBxykYKd0NEvXY1ML3LoZpcoD/etaY=; b=JxASud15nj+uBAxCE3jggAp4nEH21lVio8K/hZyG0XKh/IiUbVrjKo2PunRpJqqnEv+BpKJqAIVg0zmhjhOS2F1+hETEvk4moOae4HR1u5nEX5vg+pDWYcX41pmjDbowGV/17wUvH9gDFRqp4NBbJLYl2/nXPH4412CjyAgCkE4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018199867177.68520277648724; Wed, 24 Jun 2020 10:03:19 -0700 (PDT) Received: from localhost ([::1]:56724 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8nu-0002WR-Kq for importer@patchew.org; Wed, 24 Jun 2020 13:03:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51820) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8VU-0003rf-7S for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:16 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:43738 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VB-000570-Uz for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:15 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-289-AmmfFMckOim_H3yS-Xh3WQ-1; Wed, 24 Jun 2020 12:43:53 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5D541107ACF6; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2C1AB7FE82; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 88FAC1138499; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Ouxi5e2ryU3MfEBxykYKd0NEvXY1ML3LoZpcoD/etaY=; b=ByFfLq+T1wdkY3EgHIBP9d+jQ0jFAUJ0aNExCt/l+5+0kPT8uNZVOeNj0V6FuEjd+fmXXT U/WzN3PHv2T9IeE1yZW+kt57755xZbry5yFdjAFHMIS1jHE4qycSADwl/OODmXB2ZOHXFs t5dSJ3H+ABsLsHw8P7KXha3Q8YJuug0= X-MC-Unique: AmmfFMckOim_H3yS-Xh3WQ-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 44/46] qemu-img: Ignore Error objects where the return value suffices Date: Wed, 24 Jun 2020 18:43:42 +0200 Message-Id: <20200624164344.3778251-45-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.81; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 01:59:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Markus Armbruster --- qemu-img.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/qemu-img.c b/qemu-img.c index 27bf94e7ae..c11bfe0268 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -464,22 +464,18 @@ static int add_old_style_options(const char *fmt, Qem= uOpts *opts, const char *base_filename, const char *base_fmt) { - Error *err =3D NULL; - if (base_filename) { if (!qemu_opt_set(opts, BLOCK_OPT_BACKING_FILE, base_filename, - &err)) { + NULL)) { error_report("Backing file not supported for file format '%s'", fmt); - error_free(err); return -1; } } if (base_fmt) { - if (!qemu_opt_set(opts, BLOCK_OPT_BACKING_FMT, base_fmt, &err)) { + if (!qemu_opt_set(opts, BLOCK_OPT_BACKING_FMT, base_fmt, NULL)) { error_report("Backing file format not supported for file " "format '%s'", fmt); - error_free(err); return -1; } } --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018685; cv=none; d=zohomail.com; s=zohoarc; b=BT8I3zF0XMo+IpkAH/mNUvrYwT3bZwBX16l0oW5w3aG3SOAX+iJ5ugLCAZ6+BW61VP24PLxpk4SBTJn4NMkoSCb4VqFU+zjZ7wxvwc5QYwLf5OJ/XEgh0Ro5j7HRfFpZgv57OZ3Ff0AVQ3IhGvSZxab6UrMWFJ75oeUaoErJ6eI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018685; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=y1yHqVBmSp6trgIUyZvWwYH6hO+YnA60SN0MIIwUWLA=; b=JD9Ainrondtvq6ZTvOQBJPr+wa58B+ien7wYvirchD9tqjHJHIi80UCo2VQBfiJrY4KpBPL4+vG+ApMe2Bz8SAV1Sp2BnFp5sIjDF80BOmtgadmXN58+QNQ36H2J8o3einIT7eQoRI3XfayMCkSMQEkfWbazuj/9oPeacrD+pWM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018685228798.7185373656778; Wed, 24 Jun 2020 10:11:25 -0700 (PDT) Received: from localhost ([::1]:34106 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8vj-0000k1-SA for importer@patchew.org; Wed, 24 Jun 2020 13:11:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52208) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8Vl-0004TS-28 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:33 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:25625 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VD-00058w-Q8 for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:32 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-488-mL8CFqnHPqaMaBPEl7oqMg-1; Wed, 24 Jun 2020 12:43:53 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 60AD1804008; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2E9C77CADB; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 8C8B6113849A; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=y1yHqVBmSp6trgIUyZvWwYH6hO+YnA60SN0MIIwUWLA=; b=U/wQstvIoys83tK0hCic5mD228rXTxnKw1WS0AntLwoPIk8LY2yJrym759ywxzIBM4xjPQ kUF1x8DbG10oFymGO1A261SamgPrZnr0v53MxgBBvlMEBRwcn6cYrfE6pRj5BZv10tQKY9 lNnyVAgerGQFuPNaVZMp2R8iFP8SN5U= X-MC-Unique: mL8CFqnHPqaMaBPEl7oqMg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 45/46] qdev: Ignore Error objects where the return value suffices Date: Wed, 24 Jun 2020 18:43:43 +0200 Message-Id: <20200624164344.3778251-46-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 00:34:35 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Signed-off-by: Markus Armbruster --- hw/core/qdev-properties.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index e1ad147339..8eb4283a56 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -653,7 +653,6 @@ static void set_pci_devfn(Object *obj, Visitor *v, cons= t char *name, Property *prop =3D opaque; int32_t value, *ptr =3D qdev_get_prop_ptr(dev, prop); unsigned int slot, fn, n; - Error *local_err =3D NULL; char *str; =20 if (dev->realized) { @@ -661,9 +660,7 @@ static void set_pci_devfn(Object *obj, Visitor *v, cons= t char *name, return; } =20 - if (!visit_type_str(v, name, &str, &local_err)) { - error_free(local_err); - local_err =3D NULL; + if (!visit_type_str(v, name, &str, NULL)) { if (!visit_type_int32(v, name, &value, errp)) { return; } --=20 2.26.2 From nobody Tue May 7 14:53:56 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593018764; cv=none; d=zohomail.com; s=zohoarc; b=BU77Jy11CbVF7ElC8f64vwXnW76+HS6NflsMjfHTmsUgT5lOVT5CPeU4emg/dPc4x6SdcJ4+lRpubVaFItaDeCLtZNCb54ggf2SmI5AMQB0EQj4Jhrhcx5mPb/n8/p2h7kSesYAjD2oXcg9f+ZrmME/PVu3nKQNZAUvMrCVuT+o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593018764; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=I3C48AgLn8NMwpYOvsrX88uXYXEcMLZuHDRLbyoAH9M=; b=WnI8B3nze/zZB+D0J5jy9uogKKBLuEBgLaPp2wlfUE+Sf5PiM9zSYg2/jNO44lGQKW/YENOFbQrxSsU2u6osfWyoRohaRk/tbZHKj+O62o6PVFYhaM+et9FCVI0iEQnGfA5dspGxJBE6xc09kuYjaKccr05r6zPxlltsYI0rp8A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593018764262902.5508257327365; Wed, 24 Jun 2020 10:12:44 -0700 (PDT) Received: from localhost ([::1]:38700 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jo8x1-0003eI-30 for importer@patchew.org; Wed, 24 Jun 2020 13:12:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:52206) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jo8Vl-0004TR-1I for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:33 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:22691 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jo8VD-000594-QD for qemu-devel@nongnu.org; Wed, 24 Jun 2020 12:44:32 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-97-4m7TW4uaOjGpWxOC1hBIBA-1; Wed, 24 Jun 2020 12:43:53 -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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7938A7BAC; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-121.ams2.redhat.com [10.36.112.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 460715D9DA; Wed, 24 Jun 2020 16:43:52 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 90340113849B; Wed, 24 Jun 2020 18:43:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593017037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=I3C48AgLn8NMwpYOvsrX88uXYXEcMLZuHDRLbyoAH9M=; b=URuJBH6KCIk4LkurF6sTUYmgdvlDSGBmrOg9kr5HjkU0QqqVh64yU6b7rUlcv1I26Nkzl2 8ioZybdtLsVkzalz60bK7BCKvxnkm5MJkGANIZjaPS+O9XwYquZ4/A/02tW3DoJ31oJ+Zg RV1cN8qu05LJw84d/GoGrMs9UHPEioo= X-MC-Unique: 4m7TW4uaOjGpWxOC1hBIBA-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH 46/46] hmp: Ignore Error objects where the return value suffices Date: Wed, 24 Jun 2020 18:43:44 +0200 Message-Id: <20200624164344.3778251-47-armbru@redhat.com> In-Reply-To: <20200624164344.3778251-1-armbru@redhat.com> References: <20200624164344.3778251-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=armbru@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/06/24 02:33:25 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" qdev_print_props() receives and throws away Error objects just to check for object_property_get_str() and object_property_print() failure. Unnecessary, both return suitable values, so use those instead. Signed-off-by: Markus Armbruster --- qdev-monitor.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/qdev-monitor.c b/qdev-monitor.c index 2db38b18af..7ebb97cf0d 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -695,22 +695,22 @@ static void qdev_print_props(Monitor *mon, DeviceStat= e *dev, Property *props, if (!props) return; for (; props->name; props++) { - Error *err =3D NULL; char *value; char *legacy_name =3D g_strdup_printf("legacy-%s", props->name); + if (object_property_get_type(OBJECT(dev), legacy_name, NULL)) { - value =3D object_property_get_str(OBJECT(dev), legacy_name, &e= rr); + value =3D object_property_get_str(OBJECT(dev), legacy_name, NU= LL); } else { - value =3D object_property_print(OBJECT(dev), props->name, true= , &err); + value =3D object_property_print(OBJECT(dev), props->name, true, + NULL); } g_free(legacy_name); =20 - if (err) { - error_free(err); + if (!value) { continue; } qdev_printf("%s =3D %s\n", props->name, - value && *value ? value : ""); + *value ? value : ""); g_free(value); } } --=20 2.26.2