From nobody Sun Sep 28 16:56:47 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1758618683; cv=none; d=zohomail.com; s=zohoarc; b=QXHQ4QkDg8IBcvLrZb/4JjeJGSKSBrX4TYiDmbJ8o4Z5zG6F+mfxiGVItS1HgKxEaovkogdTNjMAis7w5slTh+78IGg4qKM/nfOVov5SZBk0bEGJUD5yA4jH4zs2nii1IRLsBjSfnnr6uZuhznva6K1Fu2uE3le2NsHfsj9NzNs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758618683; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=GKo74CCRhMR7hcfAtZoAXSswbGRrxhaev9f64FWC4RM=; b=EWsyJb9EzrzkOvWiL2GOTd3q5954w3o+JztZrqhIt44ZRRN85T1I5PvhCncSGnOQmQZY0b+2xk736+cIt5wXYmiYIyodE3tLkQnheFjXnSVAx24EObCi2dJFOOoyVFSD54wlbtEhOedIdL5BRJ31iqOS9F56YdbTdysWnHJxUeM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1758618683204267.8531041157198; Tue, 23 Sep 2025 02:11:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v0z2P-00074m-90; Tue, 23 Sep 2025 05:10:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v0z2M-00074B-LZ for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:14 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v0z2J-0000Pq-EH for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:14 -0400 Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-33-KfImjAOsOu6jvbLWABJEFw-1; Tue, 23 Sep 2025 05:10:05 -0400 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id B209B19560B4; Tue, 23 Sep 2025 09:10:03 +0000 (UTC) Received: from blackfin.pond.sub.org (unknown [10.45.242.33]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 11A9530001B5; Tue, 23 Sep 2025 09:10:02 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 570AC21E6935; Tue, 23 Sep 2025 11:10:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1758618609; 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=GKo74CCRhMR7hcfAtZoAXSswbGRrxhaev9f64FWC4RM=; b=NCJzz8VnFfFid/A6/+rxZFD7048Z+ac2ssXONG4oI/WzhLuOllxJ+xouUj9mTAMpoxm3H4 OviaceR0V5xAOzjN0lsFrq6MNOVwAOLuUtvzl8YY+JMO0lbTUvZ1r2r6tPnYuWb2HmyI/X av0FpjzVY7r3cIfx43W6IZvW78ORYeM= X-MC-Unique: KfImjAOsOu6jvbLWABJEFw-1 X-Mimecast-MFC-AGG-ID: KfImjAOsOu6jvbLWABJEFw_1758618604 From: Markus Armbruster To: qemu-devel@nongnu.org Cc: odaki@rsg.ci.i.u-tokyo.ac.jp, marcandre.lureau@redhat.com, berrange@redhat.com, richard.henderson@linaro.org, vsementsov@yandex-team.ru, Jonathan Cameron , Jonathan Cameron , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 03/13] hw/cxl: Convert cxl_fmws_link() to Error Date: Tue, 23 Sep 2025 11:09:50 +0200 Message-ID: <20250923091000.3180122-4-armbru@redhat.com> In-Reply-To: <20250923091000.3180122-1-armbru@redhat.com> References: <20250923091000.3180122-1-armbru@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 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=170.10.129.124; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -24 X-Spam_score: -2.5 X-Spam_bar: -- X-Spam_report: (-2.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.442, 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_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1758618685885116600 Functions that use an Error **errp parameter to return errors should not also report them to the user, because reporting is the caller's job. When the caller does, the error is reported twice. When it doesn't (because it recovered from the error), there is no error to report, i.e. the report is bogus. cxl_fmws_link_targets() violates this principle: it calls error_setg(&error_fatal, ...) via cxl_fmws_link(). Goes back to commit 584f722eb3ab (hw/cxl: Make the CXL fixed memory windows devices.) Currently harmless, because cxl_fmws_link_targets()'s callers always pass &error_fatal. Clean this up by converting cxl_fmws_link() to Error. Also change its return value on error from 1 to -1 to conform to the rules laid in qapi/error.h. It's call chain cxl_fmws_link_targets() via object_child_foreach_recursive() is fine with that. Cc: Jonathan Cameron Signed-off-by: Markus Armbruster Reviewed-by: Jonathan Cameron Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/cxl/cxl-host.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/cxl/cxl-host.c b/hw/cxl/cxl-host.c index 5c2ce25a19..0d891c651d 100644 --- a/hw/cxl/cxl-host.c +++ b/hw/cxl/cxl-host.c @@ -72,6 +72,7 @@ static void cxl_fixed_memory_window_config(CXLFixedMemory= WindowOptions *object, =20 static int cxl_fmws_link(Object *obj, void *opaque) { + Error **errp =3D opaque; struct CXLFixedWindow *fw; int i; =20 @@ -87,9 +88,9 @@ static int cxl_fmws_link(Object *obj, void *opaque) o =3D object_resolve_path_type(fw->targets[i], TYPE_PXB_CXL_DEV, &ambig); if (!o) { - error_setg(&error_fatal, "Could not resolve CXLFM target %s", + error_setg(errp, "Could not resolve CXLFM target %s", fw->targets[i]); - return 1; + return -1; } fw->target_hbs[i] =3D PXB_CXL_DEV(o); } @@ -99,7 +100,7 @@ static int cxl_fmws_link(Object *obj, void *opaque) void cxl_fmws_link_targets(Error **errp) { /* Order doesn't matter for this, so no need to build list */ - object_child_foreach_recursive(object_get_root(), cxl_fmws_link, NULL); + object_child_foreach_recursive(object_get_root(), cxl_fmws_link, errp); } =20 static bool cxl_hdm_find_target(uint32_t *cache_mem, hwaddr addr, --=20 2.49.0