From nobody Sun Sep 28 16:28:07 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=1758618857; cv=none; d=zohomail.com; s=zohoarc; b=R6i3EAaMS8fAV6SNNqqln+II9iUMj4w+oCwMdp4iRMfNFf5cVVbNp6Gysl943scA0HC0kPjCahBebAIQIebFciliggBUWWYoo2AsdHx6AQ0sm+aUbusAmp/Ezmn4QGAeJm0aMPCrmEKODvZfBLoMem6V+hnIcdSUI+bTxz6jb5Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758618857; 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=Y3HMLCacnb+v7Wzq9HTZD6Gukh/9NburV3fnXhNL514=; b=bXgpbM/BKqJQ6agmWP/aFP/Tx5F5CvyjQw8wDa8WIi+SDHGSJ39O0iQPhHD+YKK8+04TrnR5ntqy4z5XtpnNA0CkjHpWkuCfEgKFmk0I9A8h5Zy8+rEoTRvQjj7oElpPqjVg4FlkrgW6wiml91BeP74F4ZFpJ5PAA0sE9vGHor0= 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 1758618857387479.3581834926156; Tue, 23 Sep 2025 02:14:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v0z2W-00077Q-Fg; Tue, 23 Sep 2025 05:10:24 -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 1v0z2R-00075o-1h for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:20 -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 1v0z2K-0000Pc-S0 for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:18 -0400 Received: from mx-prod-mc-04.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-595-y1oKRm33OQmM8mamWgcMdg-1; Tue, 23 Sep 2025 05:10:04 -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-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id B0CF719560B8; 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 CEF1D30002C5; Tue, 23 Sep 2025 09:10:02 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 4FCA821E6924; 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=1758618608; 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=Y3HMLCacnb+v7Wzq9HTZD6Gukh/9NburV3fnXhNL514=; b=KAb1JqowDB/tM146fT+8utAzSYxoIGHaaE85hnk4jCvnVCGPvF7+vhbUv5Nqkc740SSBET iWcobNVpgdVXXCJRDfvV7mgUDpspc+asZ2XOvZQs8dUF2UKg5xWhjHHCgij7Tfx8CzQ59K XkziVgbYVNLyQZ2LlE7VWs/0tz4vb9Q= X-MC-Unique: y1oKRm33OQmM8mamWgcMdg-1 X-Mimecast-MFC-AGG-ID: y1oKRm33OQmM8mamWgcMdg_1758618603 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, =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH v3 01/13] monitor: Clean up HMP gdbserver error reporting Date: Tue, 23 Sep 2025 11:09:48 +0200 Message-ID: <20250923091000.3180122-2-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: 1758618859472116600 HMP command gdbserver used to emit two error messages for certain errors. For instance, with -M none: (qemu) gdbserver gdbstub: meaningless to attach gdb to a machine without any CPU. Could not open gdbserver on device 'tcp::1234' The first message is the specific error, and the second one a generic additional message that feels superfluous to me. Commit c0e6b8b798b (system: propagate Error to gdbserver_start (and other device setups)) turned the first message into a warning: warning: gdbstub: meaningless to attach gdb to a machine without any CP= U. Could not open gdbserver on device 'tcp::1234' This is arguably worse. hmp_gdbserver() passes &error_warn to gdbserver_start(), so that failure gets reported as warning, and then additionally emits the generic error on failure. This is a misuse of &error_warn. Instead, receive the error in &err and report it, as usual. With this, gdbserver reports just the error: gdbstub: meaningless to attach gdb to a machine without any CPU. Cc: Alex Benn=C3=A9e Signed-off-by: Markus Armbruster Reviewed-by: Daniel P. Berrang=C3=A9 Reviewed-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- include/exec/gdbstub.h | 3 --- monitor/hmp-cmds.c | 7 ++++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h index a16c0051ce..bd7182c4d3 100644 --- a/include/exec/gdbstub.h +++ b/include/exec/gdbstub.h @@ -55,9 +55,6 @@ void gdb_unregister_coprocessor_all(CPUState *cpu); * system emulation you can use a full chardev spec for your gdbserver * port. * - * The error handle should be either &error_fatal (for start-up) or - * &error_warn (for QMP/HMP initiated sessions). - * * Returns true when server successfully started. */ bool gdbserver_start(const char *port_or_device, Error **errp); diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c index 74a0f56566..33a88ce205 100644 --- a/monitor/hmp-cmds.c +++ b/monitor/hmp-cmds.c @@ -280,14 +280,15 @@ void hmp_log(Monitor *mon, const QDict *qdict) =20 void hmp_gdbserver(Monitor *mon, const QDict *qdict) { + Error *err =3D NULL; const char *device =3D qdict_get_try_str(qdict, "device"); + if (!device) { device =3D "tcp::" DEFAULT_GDBSTUB_PORT; } =20 - if (!gdbserver_start(device, &error_warn)) { - monitor_printf(mon, "Could not open gdbserver on device '%s'\n", - device); + if (!gdbserver_start(device, &err)) { + error_report_err(err); } else if (strcmp(device, "none") =3D=3D 0) { monitor_printf(mon, "Disabled gdbserver\n"); } else { --=20 2.49.0 From nobody Sun Sep 28 16:28:07 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=1758618793; cv=none; d=zohomail.com; s=zohoarc; b=JJrdZD5Wr0hx4gi+utTyIyzT/NbqhMpnPBixw6U9mc12TdXdtxRb/BH2KVDcyOQCRlmjXRgUI3WXtjZFzavZxqjPGuGS2kS7Y8KmPTX+lsgUtUdtXyXjCM5y3Fqjjad7tFdv2G0OS60/W9X1TeQSHkMmseP9i5CO9gC8vHybd+k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758618793; 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=aa+CVIcaT2b4xDOaeK2XatKCUaNE/cwrQaJu0zdze9U=; b=SvPtTeaCH4wZJznmtf2qpBgKMoBiOceRZiI9fOyu1Ocy+IK2+t0eLQpxBFqu11oGmSTTZ2ZGuTD/13iJTQ9NXxfzSeDIgsqpKRsefL2mTkOSMYexla6VpF+6ZIzh1tQtV3ecdVs4xTNMIYjabKIgQBR4zo33FxCkIFkTTc+PZPA= 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 1758618793556134.0177278360843; Tue, 23 Sep 2025 02:13:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v0z2a-0007AX-87; Tue, 23 Sep 2025 05:10:28 -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 1v0z2T-00076d-Ig for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:22 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v0z2L-0000Pe-3h for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:21 -0400 Received: from mx-prod-mc-01.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-308-3HGlIFdANhKkzfcOjjMMCw-1; Tue, 23 Sep 2025 05:10:04 -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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 87696195608F; 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 04D013000198; Tue, 23 Sep 2025 09:10:03 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 52DCB21E6925; 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=1758618608; 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=aa+CVIcaT2b4xDOaeK2XatKCUaNE/cwrQaJu0zdze9U=; b=Ja9aXpzvOH5+FJHlvOSww4IX0xVAUZ7O5n9C69B+AH4F8F47z6CVik2v0W83Rb4xnem91A Ln4P5AMZ6d93gwk4WaNvl87JSDC2tas/vGEgqpZJnFZHixO5/74B+MfOwvBNzg53QhdOLn wZI+9fi4KSarwWzz9xAuaIfirN7IbVg= X-MC-Unique: 3HGlIFdANhKkzfcOjjMMCw-1 X-Mimecast-MFC-AGG-ID: 3HGlIFdANhKkzfcOjjMMCw_1758618603 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 Subject: [PATCH v3 02/13] tcg: Fix error reporting on mprotect() failure in tcg_region_init() Date: Tue, 23 Sep 2025 11:09:49 +0200 Message-ID: <20250923091000.3180122-3-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.133.124; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, 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_H5=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: 1758618796854116600 tcg_region_init() calls one of qemu_mprotect_rwx(), qemu_mprotect_rw(), and mprotect(), then reports failure with error_setg_errno(&error_fatal, errno, ...). The use of &error_fatal is undesirable. qapi/error.h advises: * Please don't error_setg(&error_fatal, ...), use error_report() and * exit(), because that's more obvious. The use of errno is wrong. qemu_mprotect_rwx() and qemu_mprotect_rw() wrap around qemu_mprotect__osdep(). qemu_mprotect__osdep() calls mprotect() on POSIX, VirtualProtect() on Windows, and reports failure with error_report(). VirtualProtect() doesn't set errno. mprotect() does, but error_report() may clobber it. Fix tcg_region_init() to report errors only when it calls mprotect(), and rely on qemu_mprotect_rwx()'s and qemu_mprotect_rw()'s error reporting otherwise. Use error_report(), not error_setg(). Fixes: 22c6a9938f75 (tcg: Merge buffer protection and guard page protection) Fixes: 6bc144237a85 (tcg: Use Error with alloc_code_gen_buffer) Cc: Richard Henderson Signed-off-by: Markus Armbruster Reviewed-by: Daniel P. Berrang=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Akihiko Odaki --- tcg/region.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tcg/region.c b/tcg/region.c index 7ea0b37a84..2181267e48 100644 --- a/tcg/region.c +++ b/tcg/region.c @@ -832,13 +832,16 @@ void tcg_region_init(size_t tb_size, int splitwx, uns= igned max_threads) } else { #ifdef CONFIG_POSIX rc =3D mprotect(start, end - start, need_prot); + if (rc) { + error_report("mprotect of jit buffer: %s", + strerror(errno)); + } #else g_assert_not_reached(); #endif } if (rc) { - error_setg_errno(&error_fatal, errno, - "mprotect of jit buffer"); + exit(1); } } if (have_prot !=3D 0) { --=20 2.49.0 From nobody Sun Sep 28 16:28:07 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 Reviewed-by: Akihiko Odaki --- 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 From nobody Sun Sep 28 16:28:07 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=1758618793; cv=none; d=zohomail.com; s=zohoarc; b=UZ/q9vV5c3vijAv2MJOsjIFmIUKB3rwg5/Q/4O/K12yc7/atkFzaeyns/uyHne42Fu1+VDW+tapRP2eCMxQdrdr/ogJ+ohvgavlikq9E/a0TFp2iDGN4cFlEcRRHRMYG1mNZuvVWp1UbSZgouZGSICDQkzqo06PmD4E9eVUh0Pc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758618793; h=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=q0VhAp6VHGylwcrKaI59tCKnj8YVWze8PKh4yroPvq4=; b=QgFS7v4qcf60LPKEz+yiayg2p8etKDM612Q72nd/rSi9zZ/AkAlCa1HMrVFNVWeqVnohNaZ+HyNDTFQl0CVxnkTrh+yn55mIyLqYQ/yb8afPjlSKKejiARHDGNC5xjhGAjz9ZaEkmO90/HG8PC0AovUYDwvWLexoa3t7xBE1uA4= 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 17586187937869.641883536685327; Tue, 23 Sep 2025 02:13:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v0z2U-000770-Ls; Tue, 23 Sep 2025 05:10:22 -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 1v0z2P-00074q-4s for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:17 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v0z2K-0000Ps-Ti for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:16 -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-128-vOxletM3P1S7PZIwUSg4og-1; Tue, 23 Sep 2025 05:10:05 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (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 D230B195604F; Tue, 23 Sep 2025 09:10:03 +0000 (UTC) Received: from blackfin.pond.sub.org (unknown [10.45.242.33]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id EB76819560BB; Tue, 23 Sep 2025 09:10:02 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 5B1FF21E675E; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=q0VhAp6VHGylwcrKaI59tCKnj8YVWze8PKh4yroPvq4=; b=iTcS/NQUJiM9OlfL7a35Hg+o3SwdwK60Su3y5OmCnf3z1N6i8DcnWGPntJheaTZE8/zWUe giGAbZhQBCKKQsBxdsDkTkORC+whYyniB7Ymr5Zh09iTBI3z1sRT11KYyFFrNm23f/KZu2 0cFNIBNrMI3ZkB+s9tU0wh4k2Pe9gPY= X-MC-Unique: vOxletM3P1S7PZIwUSg4og-1 X-Mimecast-MFC-AGG-ID: vOxletM3P1S7PZIwUSg4og_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, Steve Sistare Subject: [PATCH v3 04/13] migration/cpr: Clean up error reporting in cpr_resave_fd() Date: Tue, 23 Sep 2025 11:09:51 +0200 Message-ID: <20250923091000.3180122-5-armbru@redhat.com> In-Reply-To: <20250923091000.3180122-1-armbru@redhat.com> References: <20250923091000.3180122-1-armbru@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 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.133.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_H5=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: 1758618794871116600 Content-Type: text/plain; charset="utf-8" qapi/error.h advises: * Please don't error_setg(&error_fatal, ...), use error_report() and * exit(), because that's more obvious. Do that, and replace exit() by g_assert_not_reached(), since this is actually a programming error. Cc: Steve Sistare Signed-off-by: Markus Armbruster Reviewed-by: Steve Sistare Reviewed-by: Akihiko Odaki --- migration/cpr.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/migration/cpr.c b/migration/cpr.c index 42ad0b0d50..9848a21ea6 100644 --- a/migration/cpr.c +++ b/migration/cpr.c @@ -7,6 +7,7 @@ =20 #include "qemu/osdep.h" #include "qapi/error.h" +#include "qemu/error-report.h" #include "hw/vfio/vfio-device.h" #include "migration/cpr.h" #include "migration/misc.h" @@ -100,10 +101,10 @@ void cpr_resave_fd(const char *name, int id, int fd) if (old_fd < 0) { cpr_save_fd(name, id, fd); } else if (old_fd !=3D fd) { - error_setg(&error_fatal, - "internal error: cpr fd '%s' id %d value %d " - "already saved with a different value %d", - name, id, fd, old_fd); + error_report("internal error: cpr fd '%s' id %d value %d " + "already saved with a different value %d", + name, id, fd, old_fd); + g_assert_not_reached(); } } =20 --=20 2.49.0 From nobody Sun Sep 28 16:28:07 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=1758618797; cv=none; d=zohomail.com; s=zohoarc; b=bDeMzYgZIpK42aH2Ki5d8cATe/UJ+XTz6408Vi6+AGdAF0YHkczrTAmXY6qRrE0wxn9dFIJcdBN+tJ+PXguPnwv7578fIixdcV1q52U4RmuoZsX0ZcKcbOrY020+nVjS4xz8dZUZfByT9F2oXxc4GbPHCyDtA5bMJD8RCOqMACE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758618797; h=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=DQlc2J4S+Y7sWvNha6HkIII0V/76lM4iGtQgm82KWy8=; b=N4oE4TtBFa6u8jvpBOABluB9vORGyXj9djn0h91bgqq0x7NO6z4+Vq2TmIvwz33wtwL5WpBJfERgVBAxF081SPge4VQKDT9ZqH+Ytcp5UcgT/j+CAkoYC4mrlo+p0ERZ+VlbJf7fu0Z7FSGkFX/rAtB19FDJD2YYY/7e5NOMDSc= 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 1758618797056648.1881114967563; Tue, 23 Sep 2025 02:13:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v0z2X-00078h-6j; Tue, 23 Sep 2025 05:10:25 -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 1v0z2V-00077b-NN for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:23 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v0z2M-0000Qb-U0 for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:23 -0400 Received: from mx-prod-mc-05.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-454-q7tuY74HMe2ZGhvJn9RAsw-1; Tue, 23 Sep 2025 05:10:07 -0400 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 84A0019560BB; Tue, 23 Sep 2025 09:10:06 +0000 (UTC) Received: from blackfin.pond.sub.org (unknown [10.45.242.33]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 1043519560BB; Tue, 23 Sep 2025 09:10:06 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 5F3D321E6774; 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=1758618613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DQlc2J4S+Y7sWvNha6HkIII0V/76lM4iGtQgm82KWy8=; b=M0TyrlcRoI7bimR2lcgnFnZdhNm7GRC7syl8Zou3JMHVQ8x07eGyX493LUiZlwCawfCp8W kDQHPZ5Svpu5/Du7k6WhVZha5+qDqqLN/4iS+1+a0lhUYYjTFsDSqoJOtnxKLwZTWHTKW2 +e3E9dYr4K8qOn7EvFismjzNoFOUys4= X-MC-Unique: q7tuY74HMe2ZGhvJn9RAsw-1 X-Mimecast-MFC-AGG-ID: q7tuY74HMe2ZGhvJn9RAsw_1758618606 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, Jagannathan Raman Subject: [PATCH v3 05/13] hw/remote/vfio-user: Clean up error reporting Date: Tue, 23 Sep 2025 11:09:52 +0200 Message-ID: <20250923091000.3180122-6-armbru@redhat.com> In-Reply-To: <20250923091000.3180122-1-armbru@redhat.com> References: <20250923091000.3180122-1-armbru@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 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.133.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_H5=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, T_SPF_TEMPERROR=0.01 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: 1758618798816116600 Content-Type: text/plain; charset="utf-8" VFU_OBJECT_ERROR() reports the error with error_setg(&error_abort, ...) when auto-shutdown is enabled, else with error_report(). Issues: 1. The error is serious enough to warrant aborting the process when auto-shutdown is enabled, yet harmless enough to permit carrying on when it's disabled. This makes no sense to me. 2. Like assert(), &error_abort is strictly for programming errors. Is this one? Or should we exit(1) instead? 3. qapi/error.h advises "don't error_setg(&error_abort, ...), use assert()." This patch addresses just 3. Cc: Jagannathan Raman Signed-off-by: Markus Armbruster Reviewed-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Vladimir Sementsov-Ogievskiy --- hw/remote/vfio-user-obj.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/hw/remote/vfio-user-obj.c b/hw/remote/vfio-user-obj.c index ea6165ebdc..eb96982a3a 100644 --- a/hw/remote/vfio-user-obj.c +++ b/hw/remote/vfio-user-obj.c @@ -75,12 +75,9 @@ OBJECT_DECLARE_TYPE(VfuObject, VfuObjectClass, VFU_OBJEC= T) */ #define VFU_OBJECT_ERROR(o, fmt, ...) \ { \ - if (vfu_object_auto_shutdown()) { \ - error_setg(&error_abort, (fmt), ## __VA_ARGS__); \ - } else { \ - error_report((fmt), ## __VA_ARGS__); \ - } \ - } \ + error_report((fmt), ## __VA_ARGS__); \ + assert(!vfu_object_auto_shutdown()); \ + } =20 struct VfuObjectClass { ObjectClass parent_class; --=20 2.49.0 From nobody Sun Sep 28 16:28:07 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=1758618804; cv=none; d=zohomail.com; s=zohoarc; b=fEWTZENHhKy+mAjpbm9vhjpYUOMW1/FvsmNA1sJDBNb0h8o/3G63eNCJF20tTLiIb1HoVeqWtlUFphsmybBV1DcEfc/rwado6k9Hj9BOY5j9FVWZFW59sRxZ40wT2w2RyabCQudg4h+QVSVF0B4bMgCf6DBKRv9Hk3skDjPhII4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758618804; 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=Fo7epLNUELelCjfM1nMiWhHNN9XRaAYZ5otAJ+zDWmM=; b=ddLhs7JfXazYQS7rQ9Jl6mK0Ay6q3RyBFOPXwuu9DSIGoQjbbLQy9beQw53WGs07yxZdvi0wYePs5hG3ZQkzUbQFwR8lmiaco9hG1DLWxWp0k6xy8qtwDtdUN3fIfWZdcTr8MbV+9UT49w7A/POWLMwp8itwNoDceiYI0I+03WI= 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 1758618804411636.0033634626711; Tue, 23 Sep 2025 02:13:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v0z2f-0007DR-Id; Tue, 23 Sep 2025 05:10:33 -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 1v0z2c-0007CU-Np for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:30 -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 1v0z2P-0000Qj-L5 for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:30 -0400 Received: from mx-prod-mc-05.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-31-wml9ajfRPMCo3CePBR8I1A-1; Tue, 23 Sep 2025 05:10:07 -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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 84A2519560BE; Tue, 23 Sep 2025 09:10:06 +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 3FDBD3000198; Tue, 23 Sep 2025 09:10:06 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 6354321E6775; 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=1758618613; 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=Fo7epLNUELelCjfM1nMiWhHNN9XRaAYZ5otAJ+zDWmM=; b=fYcOf1SoV2GunISCJJvW5N7Saumh06V0MvEfql+f0xqjkNgfnssSXIsYibtpMgAV/dm+nJ ieFY62a88vvcgmSOsr3JmL3/C0P+2QQfAwzsXExHhL4sXDe+5rdTOOzX3p4tmn+6B3NL5I JTp1USJHZ7SpIKFECXxOK73eqZIZXPw= X-MC-Unique: wml9ajfRPMCo3CePBR8I1A-1 X-Mimecast-MFC-AGG-ID: wml9ajfRPMCo3CePBR8I1A_1758618606 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 Subject: [PATCH v3 06/13] net/slirp: Clean up error reporting Date: Tue, 23 Sep 2025 11:09:53 +0200 Message-ID: <20250923091000.3180122-7-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: 1758618804933116600 net_slirp_register_poll_sock() and net_slirp_unregister_poll_sock() report WSAEventSelect() failure with error_setg(&error_warn, ...). error_setg_win32(&error_warn, ...) is undesirable just like error_setg(&error_fatal, ...) and error_setg(&error_abort, ...) are. Replace by warn_report(). The failures should probably be errors, but these functions implement callbacks that cannot fail, exit(1) would be too harsh, and silent failure we don't want. Thus, warnings. Cc: Marc-Andr=C3=A9 Lureau Signed-off-by: Markus Armbruster Reviewed-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Akihiko Odaki --- net/slirp.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/net/slirp.c b/net/slirp.c index 9657e86a84..0a1c2a5eac 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -258,11 +258,13 @@ static void net_slirp_register_poll_sock(slirp_os_soc= ket fd, void *opaque) { #ifdef WIN32 AioContext *ctxt =3D qemu_get_aio_context(); + g_autofree char *msg =3D NULL; =20 if (WSAEventSelect(fd, event_notifier_get_handle(&ctxt->notifier), FD_READ | FD_ACCEPT | FD_CLOSE | FD_CONNECT | FD_WRITE | FD_OOB) !=3D 0) { - error_setg_win32(&error_warn, WSAGetLastError(), "failed to WSAEve= ntSelect()"); + msg =3D g_win32_error_message(WSAGetLastError()); + warn_report("failed to WSAEventSelect(): %s", msg); } #endif } @@ -270,8 +272,11 @@ static void net_slirp_register_poll_sock(slirp_os_sock= et fd, void *opaque) static void net_slirp_unregister_poll_sock(slirp_os_socket fd, void *opaqu= e) { #ifdef WIN32 + g_autofree char *msg =3D NULL; + if (WSAEventSelect(fd, NULL, 0) !=3D 0) { - error_setg_win32(&error_warn, WSAGetLastError(), "failed to WSAEve= ntSelect()"); + msg =3D g_win32_error_message(WSAGetLastError()); + warn_report("failed to WSAEventSelect(): %s", msg); } #endif } --=20 2.49.0 From nobody Sun Sep 28 16:28:07 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=1758618660; cv=none; d=zohomail.com; s=zohoarc; b=XlbSyjUA2xyRbmRqT0Lyz3PkfGaohVeN19HPhor6JAt36PWBDvCrNv5CvF4b05O4/t+Wwf9IOSjbGnOXllgugQ7s3ydEB60B3J4ebOzk+ZnFTZbGaT9Ck3aOuj/3sZMrIUTr9WqTNLqof4wOCUcWsgvWIHaPVx0dGuG21Ek0yIc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758618660; 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=uDNTVUUTho66gxXHqgf678nwxV9sSdmdkFyRTHnC5kM=; b=RGVxWgIfApUhvVxl4qRKJFl8FV8EnelhyP4SHQyUliyK0fQbYQWUWCNpu61+17xBIcxivkwa7Ww7vMuzM9/gDUXgcH7mbhHbrG8IJ4lMTegbijNZc6PKc9XkI5y+EHRh+CKmzxjx5cgtZXbBLLo+kNlX/Xxk8Np98iSUQKbx9LY= 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 1758618660373554.4035303644846; Tue, 23 Sep 2025 02:11:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v0z2V-00077j-S5; Tue, 23 Sep 2025 05:10:23 -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 1v0z2Q-00075f-RM for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:19 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v0z2L-0000Q1-48 for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:18 -0400 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-10-GiMcEKdrMo2l6CQHIrPhDA-1; Tue, 23 Sep 2025 05:10:07 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (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-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 8E220180034D; Tue, 23 Sep 2025 09:10:06 +0000 (UTC) Received: from blackfin.pond.sub.org (unknown [10.45.242.33]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 0FDF8180035E; Tue, 23 Sep 2025 09:10:06 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 6760B21E6779; 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=uDNTVUUTho66gxXHqgf678nwxV9sSdmdkFyRTHnC5kM=; b=gsaYa+38pg69FFycmPGpT80DCmEtqZkl6H/sQtegaRurxWLiSWqfATMvnaWlJ501D7Jt8h LA6nJiS++lrHUm759AnU95OR5fvUffiUjl4GkjEfPcfzVQ9l90lToDxxZCZnh6I3b/TVUW mdVtlE0tnBIp5KY+JMNyOOfTq69GcoA= X-MC-Unique: GiMcEKdrMo2l6CQHIrPhDA-1 X-Mimecast-MFC-AGG-ID: GiMcEKdrMo2l6CQHIrPhDA_1758618606 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 Subject: [PATCH v3 07/13] ui/spice-core: Clean up error reporting Date: Tue, 23 Sep 2025 11:09:54 +0200 Message-ID: <20250923091000.3180122-8-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.111 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.133.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_H5=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: 1758618661717116600 watch_add() reports _open_osfhandle() failure with error_setg(&error_warn, ...). error_setg_win32(&error_warn, ...) is undesirable just like error_setg(&error_fatal, ...) and error_setg(&error_abort, ...) are. Replace by warn_report(). The failure should probably be an error, but this function implements a callback that doesn't take Error **. I believe the failure will make spice_server_init() fail in qemu_spice_init(), which is treated as a fatal error. The warning here provides more detail than the error message there. Cc: Marc-Andr=C3=A9 Lureau Signed-off-by: Markus Armbruster Reviewed-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Richard Henderson Reviewed-by: Akihiko Odaki --- ui/spice-core.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ui/spice-core.c b/ui/spice-core.c index 5992f9daec..7836202664 100644 --- a/ui/spice-core.c +++ b/ui/spice-core.c @@ -128,11 +128,13 @@ static void watch_update_mask(SpiceWatch *watch, int = event_mask) static SpiceWatch *watch_add(int fd, int event_mask, SpiceWatchFunc func, = void *opaque) { SpiceWatch *watch; - #ifdef WIN32 + g_autofree char *msg =3D NULL; + fd =3D _open_osfhandle(fd, _O_BINARY); if (fd < 0) { - error_setg_win32(&error_warn, WSAGetLastError(), "Couldn't associa= te a FD with the SOCKET"); + msg =3D g_win32_error_message(WSAGetLastError()); + warn_report("Couldn't associate a FD with the SOCKET: %s", msg); return NULL; } #endif --=20 2.49.0 From nobody Sun Sep 28 16:28:07 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=1758618689; cv=none; d=zohomail.com; s=zohoarc; b=UITVSbkf2oeagnLq4hvlJWX0g8z+nHSvsbHp5DOHIPc9+8FivzRURHd2BAV/3clkSDhpFEaL1D2jnV2o1Y5fk4urMICkjGqAexRaIl8l9Ld3m9+OG+/21Sw6rtYfi6+7xLt6teQUaivDVox/7RcuabEjlz3a7ZDiX/ePaEMH0+o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758618689; 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=gBf257dfurfpa10gXBhTv1YNfzi+gIvQDWH94Yn0UZo=; b=NyFuTq18MWYROZUnmvQZsRUh2yG8434aO8oE3cq3TLWpKEAyZjJ/IOMxjoUh45jL5XdrtgtgPxVgZv6/6QlqJXt1Pvw+i/7xw3pYEvPOvwYrRMZmxgcxL9CCszf7D+CmfiUDcTWgRyKrEFFawLwg3SsYqnu2s8pOzEMKIRAVgqU= 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 1758618689261468.47555834988293; Tue, 23 Sep 2025 02:11:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v0z2a-0007Bb-W9; Tue, 23 Sep 2025 05:10:29 -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 1v0z2U-000771-FM for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:23 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v0z2L-0000QH-2W for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:22 -0400 Received: from mx-prod-mc-01.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-206-OGaaFWFFP32Xztm6i1Dn_w-1; Tue, 23 Sep 2025 05:10:07 -0400 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 53D8219560AA; Tue, 23 Sep 2025 09:10:06 +0000 (UTC) Received: from blackfin.pond.sub.org (unknown [10.45.242.33]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 0FFF81800577; Tue, 23 Sep 2025 09:10:06 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 6B7C321E677A; 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=1758618611; 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=gBf257dfurfpa10gXBhTv1YNfzi+gIvQDWH94Yn0UZo=; b=AVbIuSHNzc2E/vAWFs/x1BRwxvderZl1Uw2ORytd1RT7LPUVgYK6ybZKUeSMWPEVClfS5U eylW+OrKm6xgVTzaKPCwH57Nkss2Bl+NsSZdg6q0P1On2zFzaM4uDhX5sIT5LxTf7Eirmh jcDSBMv2CknRqMx8aiVugaDnB6mEaAc= X-MC-Unique: OGaaFWFFP32Xztm6i1Dn_w-1 X-Mimecast-MFC-AGG-ID: OGaaFWFFP32Xztm6i1Dn_w_1758618606 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 Subject: [PATCH v3 08/13] util/oslib-win32: Do not treat null @errp as &error_warn Date: Tue, 23 Sep 2025 11:09:55 +0200 Message-ID: <20250923091000.3180122-9-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.93 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.133.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_H5=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: 1758618691683116600 qemu_socket_select() and its wrapper qemu_socket_unselect() treat a null @errp as &error_warn. This is wildly inappropriate. A caller passing null @errp specifies that errors are to be ignored. If warnings are wanted, the caller must pass &error_warn. Change callers to do that, and drop the inappropriate treatment of null @errp. This assumes that warnings are wanted. I'm not familiar with the calling code, so I can't say whether it will work when the socket is invalid, or WSAEventSelect() fails. If it doesn't, then this should be an error instead of a warning. Invalid socket might even be a programming error. These warnings were introduced in commit f5fd677ae7cf (win32/socket: introduce qemu_socket_select() helper). I considered reverting to silence, but Daniel Berrang=C3=A9 asked for the warnings to be preserved. Cc: Marc-Andr=C3=A9 Lureau Signed-off-by: Markus Armbruster Reviewed-by: Richard Henderson Reviewed-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- io/channel-socket.c | 4 ++-- io/channel-watch.c | 2 +- util/aio-win32.c | 2 +- util/oslib-win32.c | 6 +----- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/io/channel-socket.c b/io/channel-socket.c index e53d9ac76f..fdc7670867 100644 --- a/io/channel-socket.c +++ b/io/channel-socket.c @@ -454,7 +454,7 @@ static void qio_channel_socket_finalize(Object *obj) } } #ifdef WIN32 - qemu_socket_unselect(ioc->fd, NULL); + qemu_socket_unselect(ioc->fd, &error_warn); #endif close(ioc->fd); ioc->fd =3D -1; @@ -929,7 +929,7 @@ qio_channel_socket_close(QIOChannel *ioc, =20 if (sioc->fd !=3D -1) { #ifdef WIN32 - qemu_socket_unselect(sioc->fd, NULL); + qemu_socket_unselect(sioc->fd, &error_warn); #endif if (qio_channel_has_feature(ioc, QIO_CHANNEL_FEATURE_LISTEN)) { socket_listen_cleanup(sioc->fd, errp); diff --git a/io/channel-watch.c b/io/channel-watch.c index 64b486e378..ec76bd1ec6 100644 --- a/io/channel-watch.c +++ b/io/channel-watch.c @@ -283,7 +283,7 @@ GSource *qio_channel_create_socket_watch(QIOChannel *io= c, =20 qemu_socket_select(sockfd, ioc->event, FD_READ | FD_ACCEPT | FD_CLOSE | - FD_CONNECT | FD_WRITE | FD_OOB, NULL); + FD_CONNECT | FD_WRITE | FD_OOB, &error_warn); =20 source =3D g_source_new(&qio_channel_socket_source_funcs, sizeof(QIOChannelSocketSource)); diff --git a/util/aio-win32.c b/util/aio-win32.c index 6583d5c5f3..b125924433 100644 --- a/util/aio-win32.c +++ b/util/aio-win32.c @@ -121,7 +121,7 @@ void aio_set_fd_handler(AioContext *ctx, =20 QLIST_INSERT_HEAD_RCU(&ctx->aio_handlers, node, node); event =3D event_notifier_get_handle(&ctx->notifier); - qemu_socket_select(fd, event, bitmask, NULL); + qemu_socket_select(fd, event, bitmask, &error_warn); } if (old_node) { aio_remove_fd_handler(ctx, old_node); diff --git a/util/oslib-win32.c b/util/oslib-win32.c index b9ce2f96ee..6a2367c89d 100644 --- a/util/oslib-win32.c +++ b/util/oslib-win32.c @@ -182,7 +182,7 @@ bool qemu_set_blocking(int fd, bool block, Error **errp) unsigned long opt =3D block ? 0 : 1; =20 if (block) { - qemu_socket_unselect(fd, NULL); + qemu_socket_unselect(fd, &error_warn); } =20 if (ioctlsocket(fd, FIONBIO, &opt) !=3D NO_ERROR) { @@ -293,10 +293,6 @@ bool qemu_socket_select(int sockfd, WSAEVENT hEventObj= ect, { SOCKET s =3D _get_osfhandle(sockfd); =20 - if (errp =3D=3D NULL) { - errp =3D &error_warn; - } - if (s =3D=3D INVALID_SOCKET) { error_setg(errp, "invalid socket fd=3D%d", sockfd); return false; --=20 2.49.0 From nobody Sun Sep 28 16:28:07 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=1758618649; cv=none; d=zohomail.com; s=zohoarc; b=As4pzB6iCnzmtCyf8ofpWV+OaJPxNxmYVQ2JvP+D5SYUkuHtlhkV5yOjJh1yuTuiJgw5ZbM03i5/Dy3coMw81JiZKz9O0R0IiCVIrRNrjrl7g+Is1bEXqp/GkYNjZEIJr9VYVDYkLux4t3UXBZczCLD0hRvN9hsZW6/Xgj5IL2w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758618649; 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=t0RTR14tGDCK7KLNx1SfxdzthJ+BwqbXRuDzYoEM00k=; b=aejR3XggsG6S29iQLvz//3qE+87WSeLd0mFKfcx89TaXh4xBv1PrkCAdi4RpAi/Xw4zmf+rmcfnqICDlelDWsDudycx4Mh/TbHqiYOmBC8F0xlVWj0XCwNz3Heiqwi/KFFUco3fN1iAmrEOI06ec6XHbkuJdTupCv0SV4AEUd+M= 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 1758618649762727.7860957893851; Tue, 23 Sep 2025 02:10:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v0z2d-0007Cm-IT; Tue, 23 Sep 2025 05:10:31 -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 1v0z2Y-00079e-Nv for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:26 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v0z2M-0000QV-U0 for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:24 -0400 Received: from mx-prod-mc-04.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-458-z_eREtWXNlW8Mbw1qgg_uw-1; Tue, 23 Sep 2025 05:10:07 -0400 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (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-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id D64B219560B5; Tue, 23 Sep 2025 09:10:06 +0000 (UTC) Received: from blackfin.pond.sub.org (unknown [10.45.242.33]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 37C46195608E; Tue, 23 Sep 2025 09:10:06 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 6F8C721E66E1; 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=1758618613; 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=t0RTR14tGDCK7KLNx1SfxdzthJ+BwqbXRuDzYoEM00k=; b=PReCgSX04mIcvqP0Ke5FMs32NaPJGTkqWq4XcMRreAMQdz95DQYlPrixsuiMuxxlUC9L7K kR2bQYmQzZbnigPLewHmvyCvpmXsU9A7lp/Hr8lC6eVy7j7DJSa4cH5gotjyT1wkYoJdqa /tbM9YrokEH2bG2EtRBRTFEMQuxIFBE= X-MC-Unique: z_eREtWXNlW8Mbw1qgg_uw-1 X-Mimecast-MFC-AGG-ID: z_eREtWXNlW8Mbw1qgg_uw_1758618607 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 Subject: [PATCH v3 09/13] ui/pixman: Consistent error handling in qemu_pixman_shareable_free() Date: Tue, 23 Sep 2025 11:09:56 +0200 Message-ID: <20250923091000.3180122-10-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.0 on 10.30.177.17 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.133.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_H5=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: 1758618651548116600 qemu_pixman_shareable_free() wraps around either qemu_memfd_free() or qemu_win32_map_free(). The former reports trouble as error, with error_report(), then succeeds. The latter reports it as warning (we pass it &error_warn), then succeeds. Change the latter to report as error, too. Cc: Marc-Andr=C3=A9 Lureau Signed-off-by: Markus Armbruster Reviewed-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Akihiko Odaki --- ui/qemu-pixman.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ui/qemu-pixman.c b/ui/qemu-pixman.c index ef4e71da11..e46c6232cf 100644 --- a/ui/qemu-pixman.c +++ b/ui/qemu-pixman.c @@ -288,7 +288,10 @@ qemu_pixman_shareable_free(qemu_pixman_shareable handl= e, void *ptr, size_t size) { #ifdef WIN32 - qemu_win32_map_free(ptr, handle, &error_warn); + Error *err =3D NULL; + + qemu_win32_map_free(ptr, handle, &err); + error_report_err(err); #else qemu_memfd_free(ptr, size, handle); #endif --=20 2.49.0 From nobody Sun Sep 28 16:28:07 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=1758618827; cv=none; d=zohomail.com; s=zohoarc; b=WA1ImzjERnki59fOiShFESvz5G8i+jHxQTCJty6tzMGhvVSTPwQvHt0nPEWB9OkbHJCXI0OvlVeSjmFnjb8MMqwPIab7PS2JR8Cdj7TvWhv1vZLZip0TeqfQFVVsx+EFwx2N527qMCIYaMl8xHAud1IwDKuz+B3eAdTFVI+Ng4k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758618827; 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=I+jUF0eX+vQ+j7nrzGHoZQGU4GQeQJANoqy508N9Zg4=; b=A4HlHyQ8mg06CefGOH1oDG8pqJv3xnoPJhHNkvXBfB4UaTxfuTE30hPv82zv5zeaHTQZkBAZr8OOEN8U4D03GlKDXKfCtlFjDOEgOiGxWlCCfl/2+0YKtl+tyMml85/feU3EICich6fkQMR8NO4o8ehfubFPnwQBSyZDBv4tsbM= 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 175861882748864.5793349912052; Tue, 23 Sep 2025 02:13:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v0z2e-0007D0-7q; Tue, 23 Sep 2025 05:10:32 -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 1v0z2a-0007BG-1r for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:28 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v0z2N-0000QR-4P for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:27 -0400 Received: from mx-prod-mc-05.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-208-QNLWiVcmNPqG5x3s8B6Vzg-1; Tue, 23 Sep 2025 05:10:08 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E779519560AE; Tue, 23 Sep 2025 09:10:06 +0000 (UTC) Received: from blackfin.pond.sub.org (unknown [10.45.242.33]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 154A81800577; Tue, 23 Sep 2025 09:10:06 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 73DF121E66E3; 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=1758618612; 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=I+jUF0eX+vQ+j7nrzGHoZQGU4GQeQJANoqy508N9Zg4=; b=JQWACRgAAJjzidic+8pKwWTP28mSs1s+TjYHSpTbrfB5Zsw7BAdl3RmZKh+ZgrJPonT8k3 vCdW0j+QRbrpMJ14x+4wXxOetIn9Y9fpS5xk8hvlMmX+YE6I46TZQmZNUY5om1lh6lTduW Wm78oU6bumpfmasX9Kj/PNkhb0vKbds= X-MC-Unique: QNLWiVcmNPqG5x3s8B6Vzg-1 X-Mimecast-MFC-AGG-ID: QNLWiVcmNPqG5x3s8B6Vzg_1758618607 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 Subject: [PATCH v3 10/13] ui/dbus: Clean up dbus_update_gl_cb() error checking Date: Tue, 23 Sep 2025 11:09:57 +0200 Message-ID: <20250923091000.3180122-11-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.111 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.133.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_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: 1758618829173116600 From GLib "Rules for use of GError": A GError* must be initialized to NULL before passing its address to a function that can report errors. dbus_update_gl_cb() seemingly violates this rule: it passes &err to qemu_dbus_display1_listener_call_update_dmabuf_finish() and to qemu_dbus_display1_listener_win32_d3d11_call_update_texture2d_finish() without clearing it in between. Harmless, because the first call is guarded by #ifdef CONFIG_GBM, the second by #ifdef WIN32, and the two are mutually exclusive. I think. Clean this up to be obviously correct. Cc: Marc-Andr=C3=A9 Lureau Signed-off-by: Markus Armbruster Reviewed-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Akihiko Odaki Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- ui/dbus-listener.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ui/dbus-listener.c b/ui/dbus-listener.c index 42875b8eed..09d7a319b1 100644 --- a/ui/dbus-listener.c +++ b/ui/dbus-listener.c @@ -221,18 +221,21 @@ static void dbus_update_gl_cb(GObject *source_object, #ifdef CONFIG_GBM success =3D qemu_dbus_display1_listener_call_update_dmabuf_finish( ddl->proxy, res, &err); + if (!success) { + error_report("Failed to call update: %s", err->message); + } #endif =20 #ifdef WIN32 success =3D qemu_dbus_display1_listener_win32_d3d11_call_update_textur= e2d_finish( ddl->d3d11_proxy, res, &err); - d3d_texture2d_acquire0(ddl->d3d_texture, &error_warn); -#endif - if (!success) { error_report("Failed to call update: %s", err->message); } =20 + d3d_texture2d_acquire0(ddl->d3d_texture, &error_warn); +#endif + graphic_hw_gl_block(ddl->dcl.con, false); g_object_unref(ddl); } --=20 2.49.0 From nobody Sun Sep 28 16:28:07 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=1758618723; cv=none; d=zohomail.com; s=zohoarc; b=WL/HKheuy4fvoNAj56DirwjgX9tyq8erQni97D+UiGxmHrNL5zLoGRPjqFOIT01oAGxm4aI1bNGiNxNFnIXdT46xvzaABjDFPqASBh5rd0BHtQFCimuCPKjNxKx+8IhO7RdZaEwV8dMW29yl1wBu7DFpVOx+LqJtnc/RZqg2tGI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758618723; 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=0lKeyYDORbgkwU7V+d4cuRE8p5y0As4etfhiXVq51fo=; b=UkCBIU16ehO1KU7IhFcmGpJPd1QcFWD1v9SIGoSL0ZcSKjb+kMGTn3xYaaE/y59emUXL2DYxy6ZV+nLmuSnlUqn/xBznC9iBJvX4MvBNfnGu1qRoEyflWX6Un2Hbyb2RGAoYuPRl1AkRlnqUKu5QbWkEE/jRvxXT4B47b6Nm2fs= 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 1758618723120593.8666700813799; Tue, 23 Sep 2025 02:12:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v0z2b-0007Bj-UN; Tue, 23 Sep 2025 05:10:29 -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 1v0z2X-00078G-2u for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:25 -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 1v0z2L-0000Pz-Km for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:23 -0400 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-191-XlAcRjbyOJ-oC5z2QVlkgQ-1; Tue, 23 Sep 2025 05:10:07 -0400 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (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-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 894401800371; Tue, 23 Sep 2025 09:10:06 +0000 (UTC) Received: from blackfin.pond.sub.org (unknown [10.45.242.33]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 4A4931800578; Tue, 23 Sep 2025 09:10:06 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 77FD221E66E4; 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=0lKeyYDORbgkwU7V+d4cuRE8p5y0As4etfhiXVq51fo=; b=aUyr0zYu5KhveRVQsOkcTK0jEVqpR+FBRcNNh32bPdU5tbgBBfIARHy3qKN4EIYDHhDifY RNcxfK82AeN53bxoraLv6p49zYYrha/CFc3iJ8FYi2+cWVYvcMp1+GvgLLgW3R2q2wcHpH WB4Dnl8olkg4wk0wvUcrsu5F8Q/anvY= X-MC-Unique: XlAcRjbyOJ-oC5z2QVlkgQ-1 X-Mimecast-MFC-AGG-ID: XlAcRjbyOJ-oC5z2QVlkgQ_1758618606 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 Subject: [PATCH v3 11/13] ui/dbus: Consistent handling of texture mutex failure Date: Tue, 23 Sep 2025 11:09:58 +0200 Message-ID: <20250923091000.3180122-12-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.111 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_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: 1758618723906116600 We report d3d_texture2d_acquire0() and d3d_texture2d_release0() failure as error, except in dbus_update_gl_cb(), where we report it as warning. Report it as error there as well. Cc: Marc-Andr=C3=A9 Lureau Signed-off-by: Markus Armbruster Reviewed-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Akihiko Odaki --- ui/dbus-listener.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/ui/dbus-listener.c b/ui/dbus-listener.c index 09d7a319b1..b82e7c7115 100644 --- a/ui/dbus-listener.c +++ b/ui/dbus-listener.c @@ -214,26 +214,31 @@ static void dbus_update_gl_cb(GObject *source_object, GAsyncResult *res, gpointer user_data) { - g_autoptr(GError) err =3D NULL; + g_autoptr(GError) gerr =3D NULL; +#ifdef WIN32 + Error **err =3D NULL; +#endif DBusDisplayListener *ddl =3D user_data; bool success; =20 #ifdef CONFIG_GBM success =3D qemu_dbus_display1_listener_call_update_dmabuf_finish( - ddl->proxy, res, &err); + ddl->proxy, res, &gerr); if (!success) { - error_report("Failed to call update: %s", err->message); + error_report("Failed to call update: %s", gerr->message); } #endif =20 #ifdef WIN32 success =3D qemu_dbus_display1_listener_win32_d3d11_call_update_textur= e2d_finish( - ddl->d3d11_proxy, res, &err); + ddl->d3d11_proxy, res, &gerr); if (!success) { - error_report("Failed to call update: %s", err->message); + error_report("Failed to call update: %s", gerr->message); } =20 - d3d_texture2d_acquire0(ddl->d3d_texture, &error_warn); + if (!d3d_texture2d_acquire0(ddl->d3d_texture, &err)) { + error_report_err(err); + } #endif =20 graphic_hw_gl_block(ddl->dcl.con, false); --=20 2.49.0 From nobody Sun Sep 28 16:28:07 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=1758618814; cv=none; d=zohomail.com; s=zohoarc; b=I9qE496F31l/HbISvoAdxqqjaQWixt3g5BRDpq7Xrk1xTG++AVVl1TFjqalXy04l0FJuRyoZaD2N6O3o2FitAlDnZnNtuhadnOrTn0lcrUtzYhovp3FTNMGimBLLtRwS71OEK/5zHcTQDQY36tNCkPiiSGjRXQ1sw+ZhczXtA/k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758618814; h=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=Mc/1fpfnycC7fgouplaTw4Xu2tEN0RZN3ojTYtsKpYo=; b=MzcYQoL4fyF5SErOWoI2FqBTb1DBgMYj80jzrROk7cGPDDeREkaPtY9lzhFBd6t3/j7N6shWmo5f8ZhI/lgnRLL4lQaCdn8zuYByZrCpJPx7f5Eek34ny0ZIK49T+Eu6TLEVcOfRdfE69TkJF/GIq21Mv/hb1MhQSZSTQc1Peis= 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 1758618814913164.92140175521683; Tue, 23 Sep 2025 02:13:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v0z2e-0007D4-Rc; Tue, 23 Sep 2025 05:10:32 -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 1v0z2a-0007BH-27 for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:28 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v0z2O-0000QP-7U for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:27 -0400 Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-12-0zXdGnI8N32eHF3kf-TefA-1; Tue, 23 Sep 2025 05:10:08 -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-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id B39A01800284; Tue, 23 Sep 2025 09:10:06 +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 4126930002C5; Tue, 23 Sep 2025 09:10:06 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 7C10921E66E5; 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=1758618612; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Mc/1fpfnycC7fgouplaTw4Xu2tEN0RZN3ojTYtsKpYo=; b=iEEV7xp9Pwl0P5M4NXRoX9eTWYpwuQoLE9Ii6hrdQSnTrk19tMIoOd3wyVIgCxdfUzaxlx Y9+6QyGhdBnKcrL2E5fT+2k+68jcMvr0nnx/foOT5Uz+d+dxZnrOV52np2FsToVIvJZk6Z hI44zGMcNdKrAGY2BlW00fWZvKxDMt0= X-MC-Unique: 0zXdGnI8N32eHF3kf-TefA-1 X-Mimecast-MFC-AGG-ID: 0zXdGnI8N32eHF3kf-TefA_1758618606 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, Gustavo Romero Subject: [PATCH v3 12/13] ivshmem-flat: Mark an instance of missing error handling FIXME Date: Tue, 23 Sep 2025 11:09:59 +0200 Message-ID: <20250923091000.3180122-13-armbru@redhat.com> In-Reply-To: <20250923091000.3180122-1-armbru@redhat.com> References: <20250923091000.3180122-1-armbru@redhat.com> MIME-Version: 1.0 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.133.124; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, 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_H5=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: 1758618817243116600 Content-Type: text/plain; charset="utf-8" ivshmem-flat's ivshmem_flat_add_vector() neglects to handle qemu_set_blocking() failure. It used to silently ignore errors there. Recent commit 6f607941b1c (treewide: use qemu_set_blocking instead of g_unix_set_fd_nonblocking) changed it to warn (without mentioning it the commit message, tsk, tsk, tsk). Note that ivshmem-pci's process_msg_connect() handles this error. Add a FIXME comment to mark the missing error handling. Cc: Gustavo Romero Signed-off-by: Markus Armbruster Reviewed-by: Akihiko Odaki Reviewed-by: Vladimir Sementsov-Ogievskiy --- hw/misc/ivshmem-flat.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hw/misc/ivshmem-flat.c b/hw/misc/ivshmem-flat.c index e83e6c6ee9..27ee8c9218 100644 --- a/hw/misc/ivshmem-flat.c +++ b/hw/misc/ivshmem-flat.c @@ -138,6 +138,8 @@ static void ivshmem_flat_remove_peer(IvshmemFTState *s,= uint16_t peer_id) static void ivshmem_flat_add_vector(IvshmemFTState *s, IvshmemPeer *peer, int vector_fd) { + Error *err =3D NULL; + if (peer->vector_counter >=3D IVSHMEM_MAX_VECTOR_NUM) { trace_ivshmem_flat_add_vector_failure(peer->vector_counter, vector_fd, peer->id); @@ -154,8 +156,10 @@ static void ivshmem_flat_add_vector(IvshmemFTState *s,= IvshmemPeer *peer, * peer. */ peer->vector[peer->vector_counter].id =3D peer->vector_counter; - /* WARNING: qemu_socket_set_nonblock() return code ignored */ - qemu_set_blocking(vector_fd, false, &error_warn); + if (!qemu_set_blocking(vector_fd, false, &err)) { + /* FIXME handle the error */ + warn_report_err(err); + } event_notifier_init_fd(&peer->vector[peer->vector_counter].event_notif= ier, vector_fd); =20 --=20 2.49.0 From nobody Sun Sep 28 16:28:07 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=1758618831; cv=none; d=zohomail.com; s=zohoarc; b=cVwBj7Ie/d8p/0PtGrafvw5NSEfe4rjcfBV1OcJPrgdVyhE2my03CHvicuBTIWWHXiraBmhRtkRZ/hto8Li0wyLGWEsAvLRYzuliMayQnXqX/2GN+ACvd9EcI1KaDXBPlwY1SI43kajxebPzsqPdblIXo00oCvu3vC8paK4+kik= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1758618831; h=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=o8iCNKUD7ThAQraJU0qxjld9er0fBQuQvriuRnl6C5I=; b=JvM2PVyhpds0cCU8hNbqiL/2+O6kB2A0/N24127wk2akFFvNftOJItvgOExPyqIoSRQdhDwe6jReC3MLtgG2rCVdHC0s4lyE1jtRpdYlqFBbiTDemZBmiSydHlrV7xX03APDXMoCwiMVSUlGUNvG8MO7tpPeQL0dScr6v543xW4= 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 1758618831671302.4637865379133; Tue, 23 Sep 2025 02:13:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v0z2i-0007GK-07; Tue, 23 Sep 2025 05:10:36 -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 1v0z2f-0007DB-1t for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:34 -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 1v0z2O-0000Q3-VN for qemu-devel@nongnu.org; Tue, 23 Sep 2025 05:10:32 -0400 Received: from mx-prod-mc-02.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-631-t2EsdaiTPuOTdD_ZV60cPA-1; Tue, 23 Sep 2025 05:10:08 -0400 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (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-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 5EB0B195608D; Tue, 23 Sep 2025 09:10:07 +0000 (UTC) Received: from blackfin.pond.sub.org (unknown [10.45.242.33]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 977931955F21; Tue, 23 Sep 2025 09:10:06 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 8034621E66E8; 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=1758618610; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=o8iCNKUD7ThAQraJU0qxjld9er0fBQuQvriuRnl6C5I=; b=ffFB/fRFPsDo/w2YFr6YFlT++GyOXPNyc6ygSyfWom4uGzYoZJF9aKQJSMxNA8rl6EVQgd cu0lk4sjPiZJrHnZMX5h4Cdr5o5hloFffjQ3F63pxVt49HBAXTge94MrFbWZEmGXkeSGTw TYGqkbQo+u0KVm/HLEmTE4H/+UcFkpM= X-MC-Unique: t2EsdaiTPuOTdD_ZV60cPA-1 X-Mimecast-MFC-AGG-ID: t2EsdaiTPuOTdD_ZV60cPA_1758618607 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 Subject: [PATCH v3 13/13] error: Kill @error_warn Date: Tue, 23 Sep 2025 11:10:00 +0200 Message-ID: <20250923091000.3180122-14-armbru@redhat.com> In-Reply-To: <20250923091000.3180122-1-armbru@redhat.com> References: <20250923091000.3180122-1-armbru@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 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, T_SPF_TEMPERROR=0.01 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: 1758618833136116600 Content-Type: text/plain; charset="utf-8" We added @error_warn some two years ago in commit 3ffef1a55ca (error: add global &error_warn destination). It has multiple issues: * error.h's big comment was not updated for it. * Function contracts were not updated for it. * ERRP_GUARD() is unaware of @error_warn, and fails to mask it from error_prepend() and such. These crash on @error_warn, as pointed out by Akihiko Odaki. All fixable. However, after more than two years, we had just of 15 uses, of which the last few patches removed seven as unclean or otherwise undesirable, adding back five elsewhere. I didn't look closely enough at the remaining seven to decide whether they are desirable or not. I don't think this feature earns its keep. Drop it. Thanks-to: Akihiko Odaki Signed-off-by: Markus Armbruster Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Akihiko Odaki --- include/qapi/error.h | 6 ------ include/system/os-win32.h | 5 ++++- hw/display/virtio-gpu.c | 8 ++++++-- hw/net/virtio-net.c | 8 +++++++- io/channel-socket.c | 4 ++-- io/channel-watch.c | 6 +++--- tests/unit/test-error-report.c | 17 ----------------- ui/gtk.c | 6 +++++- util/aio-win32.c | 2 +- util/error.c | 5 +---- util/oslib-win32.c | 21 ++++++++++++++++++++- 11 files changed, 49 insertions(+), 39 deletions(-) diff --git a/include/qapi/error.h b/include/qapi/error.h index 41e3816380..b16c6303f8 100644 --- a/include/qapi/error.h +++ b/include/qapi/error.h @@ -533,12 +533,6 @@ static inline void error_propagator_cleanup(ErrorPropa= gator *prop) =20 G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(ErrorPropagator, error_propagator_cleanup= ); =20 -/* - * Special error destination to warn on error. - * See error_setg() and error_propagate() for details. - */ -extern Error *error_warn; - /* * Special error destination to abort on error. * See error_setg() and error_propagate() for details. diff --git a/include/system/os-win32.h b/include/system/os-win32.h index 3aa6cee4c2..22d72babdf 100644 --- a/include/system/os-win32.h +++ b/include/system/os-win32.h @@ -168,11 +168,14 @@ static inline void qemu_funlockfile(FILE *f) #endif } =20 -/* Helper for WSAEventSelect, to report errors */ +/* Helpers for WSAEventSelect() */ bool qemu_socket_select(int sockfd, WSAEVENT hEventObject, long lNetworkEvents, Error **errp); +void qemu_socket_select_nofail(int sockfd, WSAEVENT hEventObject, + long lNetworkEvents); =20 bool qemu_socket_unselect(int sockfd, Error **errp); +void qemu_socket_unselect_nofail(int sockfd); =20 /* We wrap all the sockets functions so that we can set errno based on * WSAGetLastError(), and use file-descriptors instead of SOCKET. diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c index 0a1a625b0e..de35902213 100644 --- a/hw/display/virtio-gpu.c +++ b/hw/display/virtio-gpu.c @@ -242,6 +242,7 @@ static uint32_t calc_image_hostmem(pixman_format_code_t= pformat, static void virtio_gpu_resource_create_2d(VirtIOGPU *g, struct virtio_gpu_ctrl_command *= cmd) { + Error *err =3D NULL; pixman_format_code_t pformat; struct virtio_gpu_simple_resource *res; struct virtio_gpu_resource_create_2d c2d; @@ -293,7 +294,8 @@ static void virtio_gpu_resource_create_2d(VirtIOGPU *g, c2d.width, c2d.height, c2d.height ? res->hostmem / c2d.height : 0, - &error_warn)) { + &err)) { + warn_report_err(err); goto end; } } @@ -1282,6 +1284,7 @@ static int virtio_gpu_load(QEMUFile *f, void *opaque,= size_t size, const VMStateField *field) { VirtIOGPU *g =3D opaque; + Error *err =3D NULL; struct virtio_gpu_simple_resource *res; uint32_t resource_id, pformat; int i; @@ -1317,7 +1320,8 @@ static int virtio_gpu_load(QEMUFile *f, void *opaque,= size_t size, res->width, res->height, res->height ? res->hostmem / = res->height : 0, - &error_warn)) { + &err)) { + warn_report_err(err); g_free(res); return -EINVAL; } diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 6b5b5dace3..7848e26278 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -1289,6 +1289,8 @@ exit: =20 static bool virtio_net_load_ebpf(VirtIONet *n, Error **errp) { + Error *err =3D NULL; + if (!virtio_net_attach_ebpf_to_backend(n->nic, -1)) { return true; } @@ -1306,7 +1308,11 @@ static bool virtio_net_load_ebpf(VirtIONet *n, Error= **errp) return virtio_net_load_ebpf_fds(n, errp); } =20 - ebpf_rss_load(&n->ebpf_rss, &error_warn); + ebpf_rss_load(&n->ebpf_rss, &err); + /* Beware, ebpf_rss_load() can return false with @err unset */ + if (err) { + warn_report_err(err); + } return true; } =20 diff --git a/io/channel-socket.c b/io/channel-socket.c index fdc7670867..712b793eaf 100644 --- a/io/channel-socket.c +++ b/io/channel-socket.c @@ -454,7 +454,7 @@ static void qio_channel_socket_finalize(Object *obj) } } #ifdef WIN32 - qemu_socket_unselect(ioc->fd, &error_warn); + qemu_socket_unselect_nofail(ioc->fd); #endif close(ioc->fd); ioc->fd =3D -1; @@ -929,7 +929,7 @@ qio_channel_socket_close(QIOChannel *ioc, =20 if (sioc->fd !=3D -1) { #ifdef WIN32 - qemu_socket_unselect(sioc->fd, &error_warn); + qemu_socket_unselect_nofail(sioc->fd); #endif if (qio_channel_has_feature(ioc, QIO_CHANNEL_FEATURE_LISTEN)) { socket_listen_cleanup(sioc->fd, errp); diff --git a/io/channel-watch.c b/io/channel-watch.c index ec76bd1ec6..018648b36b 100644 --- a/io/channel-watch.c +++ b/io/channel-watch.c @@ -281,9 +281,9 @@ GSource *qio_channel_create_socket_watch(QIOChannel *io= c, GSource *source; QIOChannelSocketSource *ssource; =20 - qemu_socket_select(sockfd, ioc->event, - FD_READ | FD_ACCEPT | FD_CLOSE | - FD_CONNECT | FD_WRITE | FD_OOB, &error_warn); + qemu_socket_select_nofail(sockfd, ioc->event, + FD_READ | FD_ACCEPT | FD_CLOSE | + FD_CONNECT | FD_WRITE | FD_OOB); =20 source =3D g_source_new(&qio_channel_socket_source_funcs, sizeof(QIOChannelSocketSource)); diff --git a/tests/unit/test-error-report.c b/tests/unit/test-error-report.c index 54319c86c9..0cbde3c4cf 100644 --- a/tests/unit/test-error-report.c +++ b/tests/unit/test-error-report.c @@ -104,22 +104,6 @@ test_error_report_timestamp(void) "); } =20 -static void -test_error_warn(void) -{ - if (g_test_subprocess()) { - error_setg(&error_warn, "Testing &error_warn"); - return; - } - - g_test_trap_subprocess(NULL, 0, 0); - g_test_trap_assert_passed(); - g_test_trap_assert_stderr("\ -test-error-report: warning: Testing &error_warn*\ -"); -} - - int main(int argc, char *argv[]) { @@ -133,7 +117,6 @@ main(int argc, char *argv[]) g_test_add_func("/error-report/glog", test_error_report_glog); g_test_add_func("/error-report/once", test_error_report_once); g_test_add_func("/error-report/timestamp", test_error_report_timestamp= ); - g_test_add_func("/error-report/warn", test_error_warn); =20 return g_test_run(); } diff --git a/ui/gtk.c b/ui/gtk.c index e91d093a49..9a08cadc88 100644 --- a/ui/gtk.c +++ b/ui/gtk.c @@ -1181,6 +1181,7 @@ static gboolean gd_touch_event(GtkWidget *widget, Gdk= EventTouch *touch, void *opaque) { VirtualConsole *vc =3D opaque; + Error *err =3D NULL; uint64_t num_slot =3D GPOINTER_TO_UINT(touch->sequence); int type =3D -1; =20 @@ -1203,7 +1204,10 @@ static gboolean gd_touch_event(GtkWidget *widget, Gd= kEventTouch *touch, console_handle_touch_event(vc->gfx.dcl.con, touch_slots, num_slot, surface_width(vc->gfx.ds), surface_height(vc->gfx.ds), touch->x, - touch->y, type, &error_warn); + touch->y, type, &err); + if (err) { + warn_report_err(err); + } return TRUE; } =20 diff --git a/util/aio-win32.c b/util/aio-win32.c index b125924433..c6fbce64c2 100644 --- a/util/aio-win32.c +++ b/util/aio-win32.c @@ -121,7 +121,7 @@ void aio_set_fd_handler(AioContext *ctx, =20 QLIST_INSERT_HEAD_RCU(&ctx->aio_handlers, node, node); event =3D event_notifier_get_handle(&ctx->notifier); - qemu_socket_select(fd, event, bitmask, &error_warn); + qemu_socket_select_nofail(fd, event, bitmask); } if (old_node) { aio_remove_fd_handler(ctx, old_node); diff --git a/util/error.c b/util/error.c index daea2142f3..0ae08225c0 100644 --- a/util/error.c +++ b/util/error.c @@ -19,7 +19,6 @@ =20 Error *error_abort; Error *error_fatal; -Error *error_warn; =20 static void error_handle(Error **errp, Error *err) { @@ -41,9 +40,7 @@ static void error_handle(Error **errp, Error *err) error_report_err(err); exit(1); } - if (errp =3D=3D &error_warn) { - warn_report_err(err); - } else if (errp && !*errp) { + if (errp && !*errp) { *errp =3D err; } else { error_free(err); diff --git a/util/oslib-win32.c b/util/oslib-win32.c index 6a2367c89d..84bc65a765 100644 --- a/util/oslib-win32.c +++ b/util/oslib-win32.c @@ -182,7 +182,7 @@ bool qemu_set_blocking(int fd, bool block, Error **errp) unsigned long opt =3D block ? 0 : 1; =20 if (block) { - qemu_socket_unselect(fd, &error_warn); + qemu_socket_unselect_nofail(fd); } =20 if (ioctlsocket(fd, FIONBIO, &opt) !=3D NO_ERROR) { @@ -311,6 +311,25 @@ bool qemu_socket_unselect(int sockfd, Error **errp) return qemu_socket_select(sockfd, NULL, 0, errp); } =20 +void qemu_socket_select_nofail(int sockfd, WSAEVENT hEventObject, + long lNetworkEvents) +{ + Error *err =3D NULL; + + if (!qemu_socket_select(sockfd, hEventObject, lNetworkEvents, &err)) { + warn_report_err(err); + } +} + +void qemu_socket_unselect_nofail(int sockfd) +{ + Error *err =3D NULL; + + if (!qemu_socket_unselect(sockfd, &err)) { + warn_report_err(err); + } +} + int qemu_socketpair(int domain, int type, int protocol, int sv[2]) { struct sockaddr_un addr =3D { --=20 2.49.0