From nobody Mon Feb 9 20:51:52 2026 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=1764085565; cv=none; d=zohomail.com; s=zohoarc; b=gnBIX0H+WkxxzN4hiLFoe2bViWz+jFKev0t9PzL0xmkg6Hbd9dssB425I1jz4AoaeJwyn2a92o1aC5iAs2FDQHEdEKdd51TBSsuKmEnfP0OfJUGcShEyY+9U5nYo+JNzBIq+zAHJgcHfrQLexg6IMWqWB2JNwGN6EWNi7iHhQ3I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764085565; 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=WwtKCnStzP+V89nQ6qZz+lPKbapT0JZlg+zSCasM/y4=; b=YOIMOoWveputalqdonDu9Nzkt6nKTlqj67WMiPdakpmJnTvwlL0Ec1XD+I7Frk8NSnAioLMtSyrvEvNKaUJVSpaB7paUXUXeqvl83C8NYXLsOAf8qiy9o06TkGh7ZHONJlVVrvNz74fZIosbSm8uUVys3wL5vJV3SSFLk+dVRoc= 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 17640855658531006.0500817260935; Tue, 25 Nov 2025 07:46:05 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vNtsI-0003th-D9; Tue, 25 Nov 2025 09:18:35 -0500 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 1vNtrg-0003Tl-34 for qemu-devel@nongnu.org; Tue, 25 Nov 2025 09:17:57 -0500 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 1vNtrd-0001Su-3h for qemu-devel@nongnu.org; Tue, 25 Nov 2025 09:17:55 -0500 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-252-dxOVZDuvMw2HCE1O7zG9ng-1; Tue, 25 Nov 2025 09:17:40 -0500 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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 48D101954197; Tue, 25 Nov 2025 14:17:38 +0000 (UTC) Received: from localhost (unknown [10.44.22.27]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 2EEDC180049F; Tue, 25 Nov 2025 14:17:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764080265; 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=WwtKCnStzP+V89nQ6qZz+lPKbapT0JZlg+zSCasM/y4=; b=G/0yXvfiZLPfn+LJIOJgGvAsFxk/9P3qb/S4bGw1/j4K0mK7zG0FxC/XoyUz/GAi/fKhcJ 6fkCc2bouKIfUvlGJHe8Ibu6QpXaPMWsTq/4jasQ0LXw6fHSmoMrJCTQYTL3aORCMO7ocC uP/I+ZbVeU8GKJVS8EqhbSTlnhtYqW4= X-MC-Unique: dxOVZDuvMw2HCE1O7zG9ng-1 X-Mimecast-MFC-AGG-ID: dxOVZDuvMw2HCE1O7zG9ng_1764080258 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Cc: richard.henderson@linaro.org, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Subject: [PULL 1/4] ui/vdagent: fix windows agent regression Date: Tue, 25 Nov 2025 18:17:23 +0400 Message-ID: <20251125141726.1755276-2-marcandre.lureau@redhat.com> In-Reply-To: <20251125141726.1755276-1-marcandre.lureau@redhat.com> References: <20251125141726.1755276-1-marcandre.lureau@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=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.152, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.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: 1764085568730019100 From: Marc-Andr=C3=A9 Lureau Since commit f626116f ("ui/vdagent: factor out clipboard peer registration"), the QEMU clipboard serial is reset whenever the vdagent chardev receives the guest caps. This triggers a CHR_EVENT_CLOSED which is handled by virtio_serial_close() to notify the guest. The "reconnection logic" is there to reset the agent when a client (dbus, spice etc) reconnects, or the agent is restarted. It is required to sync the clipboard serials and to prevent races or loops due to clipboard managers on both ends (but this is not implemented by windows vdagent). The Unix agent has been reconnecting without resending caps, thus working with this approach. However, the Windows agent does not seem to have a way to handle VIRTIO_CONSOLE_PORT_OPEN=3D0 event and do not receive further data... Let's not trigger this disconnection/reset logic if the agent does not support VD_AGENT_CAP_CLIPBOARD_GRAB_SERIAL. Fixes: f626116f ("ui/vdagent: factor out clipboard peer registration") Signed-off-by: Marc-Andr=C3=A9 Lureau Reported-by: Lucas Kornicki Tested-by: Fiona Ebner Reviewed-by: Fiona Ebner Tested-by: Lucas Kornicki --- ui/vdagent.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/ui/vdagent.c b/ui/vdagent.c index ddb91e75c6..660686c9c0 100644 --- a/ui/vdagent.c +++ b/ui/vdagent.c @@ -316,6 +316,15 @@ static bool have_selection(VDAgentChardev *vd) return vd->caps & (1 << VD_AGENT_CAP_CLIPBOARD_SELECTION); } =20 +static bool have_clipboard_serial(VDAgentChardev *vd) +{ +#if CHECK_SPICE_PROTOCOL_VERSION(0, 14, 1) + return vd->caps & (1 << VD_AGENT_CAP_CLIPBOARD_GRAB_SERIAL); +#else + return false; +#endif +} + static uint32_t type_qemu_to_vdagent(enum QemuClipboardType type) { switch (type) { @@ -345,8 +354,7 @@ static void vdagent_send_clipboard_grab(VDAgentChardev = *vd, return; } =20 -#if CHECK_SPICE_PROTOCOL_VERSION(0, 14, 1) - if (vd->caps & (1 << VD_AGENT_CAP_CLIPBOARD_GRAB_SERIAL)) { + if (have_clipboard_serial(vd)) { if (!info->has_serial) { /* client should win */ info->serial =3D vd->last_serial[info->selection]++; @@ -356,7 +364,6 @@ static void vdagent_send_clipboard_grab(VDAgentChardev = *vd, data++; msg->size +=3D sizeof(uint32_t); } -#endif =20 for (q =3D 0; q < QEMU_CLIPBOARD_TYPE__COUNT; q++) { type =3D type_qemu_to_vdagent(q); @@ -464,6 +471,9 @@ static void vdagent_clipboard_reset_serial(VDAgentChard= ev *vd) { Chardev *chr =3D CHARDEV(vd); =20 + if (!have_clipboard_serial(vd)) { + return; + } /* reopen the agent connection to reset the serial state */ qemu_chr_be_event(chr, CHR_EVENT_CLOSED); /* OPENED again after the guest disconnected, see set_fe_open */ @@ -518,8 +528,7 @@ static void vdagent_clipboard_recv_grab(VDAgentChardev = *vd, uint8_t s, uint32_t =20 trace_vdagent_cb_grab_selection(GET_NAME(sel_name, s)); info =3D qemu_clipboard_info_new(&vd->cbpeer, s); -#if CHECK_SPICE_PROTOCOL_VERSION(0, 14, 1) - if (vd->caps & (1 << VD_AGENT_CAP_CLIPBOARD_GRAB_SERIAL)) { + if (have_clipboard_serial(vd)) { if (size < sizeof(uint32_t)) { /* this shouldn't happen! */ return; @@ -537,7 +546,6 @@ static void vdagent_clipboard_recv_grab(VDAgentChardev = *vd, uint8_t s, uint32_t data +=3D sizeof(uint32_t); size -=3D sizeof(uint32_t); } -#endif if (size > sizeof(uint32_t) * 10) { /* * spice has 6 types as of 2021. Limiting to 10 entries --=20 2.51.1 From nobody Mon Feb 9 20:51:52 2026 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=1764080661; cv=none; d=zohomail.com; s=zohoarc; b=GOO89tVQoX4lSIB3ifO6ZRFgY3SFGXXudWQtHllSFnXsGruB98TOQR2RKt0HpfMp7Ak2jxzzBtdM+mZ8hF804bTzC/tjd/Nf1NgBfAVuIQIu8FUVlW7Kxq1X3ieVEgZyJQSu28ndNbEhF081/kS3iXmUBJdypbSNnBAVcNlouqg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764080661; 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=oR00OOZIOVzhqfRszwkgk6G0nKx9yJieVn0K7we5xkg=; b=AfDBhDjdcqBQ0BKPUQ3gTCJf2jDw6cPTW9VvUq2XeXv29nFOr4O0xjaQv8Jq8QJPQfLwOPbOTv3kX1thj5xnjTGNs1TZIs8KGTCIv+SDAHCiJQU9WHxYa8uIreJJRKYmw8Y8vGluRHRYOaX8hfUz/ozRo5McLrVYcFpGdMRIy+o= 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 1764080661305678.4536445837261; Tue, 25 Nov 2025 06:24:21 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vNttX-0004HR-OO; Tue, 25 Nov 2025 09:19:52 -0500 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 1vNtrh-0003Uu-1K for qemu-devel@nongnu.org; Tue, 25 Nov 2025 09:18:00 -0500 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 1vNtre-0001TM-P2 for qemu-devel@nongnu.org; Tue, 25 Nov 2025 09:17:56 -0500 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-550-0dFfpOqBOyGwf-Ry05mkrA-1; Tue, 25 Nov 2025 09:17:45 -0500 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 2684119560AF; Tue, 25 Nov 2025 14:17:44 +0000 (UTC) Received: from localhost (unknown [10.44.22.27]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id B59DA19560B2; Tue, 25 Nov 2025 14:17:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764080267; 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=oR00OOZIOVzhqfRszwkgk6G0nKx9yJieVn0K7we5xkg=; b=iHZoFK9ir8w4H5+4S5BYnj4AlsrShxZk7S+zosA6a89X+Kn6MzyY+ILBT3eEcMvDwWFlkg JIogZWXuFCzvStQh6hsfyfUZD41gFgg28Lludvg643kZ/2qJN0uBqg1RiNk9qBev6dPZBM X0sDQwjff4n0MA5H+qDCLFqmk33ZaCw= X-MC-Unique: 0dFfpOqBOyGwf-Ry05mkrA-1 X-Mimecast-MFC-AGG-ID: 0dFfpOqBOyGwf-Ry05mkrA_1764080264 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Cc: richard.henderson@linaro.org, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Vladimir Sementsov-Ogievskiy , Paolo Bonzini Subject: [PULL 2/4] chardev/char-file: fix failure path Date: Tue, 25 Nov 2025 18:17:24 +0400 Message-ID: <20251125141726.1755276-3-marcandre.lureau@redhat.com> In-Reply-To: <20251125141726.1755276-1-marcandre.lureau@redhat.com> References: <20251125141726.1755276-1-marcandre.lureau@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.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=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.152, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.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: 1764080662098019200 From: Vladimir Sementsov-Ogievskiy 'in' will be -1 when file->in is unset. Let's not try to close invalid fd. Reported-by: Peter Maydell Coverity: CID 1630444 Fixes: 69620c091d62f "chardev: qemu_chr_open_fd(): add errp" Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Marc-Andr=C3=A9 Lureau Message-ID: <20251014145029.949285-1-vsementsov@yandex-team.ru> --- chardev/char-file.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/chardev/char-file.c b/chardev/char-file.c index 89e9cb849c..1f7adf592f 100644 --- a/chardev/char-file.c +++ b/chardev/char-file.c @@ -94,7 +94,9 @@ static void qmp_chardev_open_file(Chardev *chr, =20 if (!qemu_chr_open_fd(chr, in, out, errp)) { qemu_close(out); - qemu_close(in); + if (in >=3D 0) { + qemu_close(in); + } return; } #endif --=20 2.51.1 From nobody Mon Feb 9 20:51:52 2026 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=1764084294; cv=none; d=zohomail.com; s=zohoarc; b=K3yylYkFUFZ+Xl1aVHqoda6IS3A+Qpf3kjWZyIhgVYLCJjEgmSNwZecV9A8flYNQA6iHj4goVUUcL6cYNAhc6NnASPri1RFWWNbBmBmnjQxLx+UK2plXQSkWQtm/NcXJc+GSVmuPI8phKaCvs4/AyqpBt/EUVKQ1AAcWhLtapz4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764084294; 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=gpvJiTqsvpvN0SAthC2Lss56qJYPmOMfNE49anff1vc=; b=VJqVuEZHqp3CUfvib4x7W0IqM8SHX00329Jmv8Uxi8yZ5DjJYPuUUMZk0Wm+EJjDg+QklqPX23DwwEMVIW47f+sVx4QywrcVQ1bH+y4giOJFmnYIxKDPmYN7X2X31Qa7voQU1Wj+7vZulXyu1gmEDQiyEuiOEHidGsh+jn/8T6Y= 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 1764084294305386.1156360920353; Tue, 25 Nov 2025 07:24:54 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vNttd-0004Q7-HX; Tue, 25 Nov 2025 09:19:57 -0500 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 1vNtri-0003Vf-PQ for qemu-devel@nongnu.org; Tue, 25 Nov 2025 09:18:01 -0500 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 1vNtrf-0001VP-Sj for qemu-devel@nongnu.org; Tue, 25 Nov 2025 09:17:58 -0500 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-467-WHpCSR57O_6rwn8cAlXXvw-1; Tue, 25 Nov 2025 09:17:50 -0500 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 BE81F1956048; Tue, 25 Nov 2025 14:17:49 +0000 (UTC) Received: from localhost (unknown [10.44.22.27]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 828BB3003761; Tue, 25 Nov 2025 14:17:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764080274; 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=gpvJiTqsvpvN0SAthC2Lss56qJYPmOMfNE49anff1vc=; b=guPlyo5vlwJvja1ZqqHGeqAColYtIznv0a+/yMNaAqVMjwtYvgBqOhTnYbnVy7gDFyu7QS J+p5iYUOGufiCliykw0mN4S6xFlekOTOFlWlvMFPMUh7lo482YIvYmcZQthd0kcDhcKzu1 NhXWXgC5HHOBwwrEiBUrPwC8fNsx1Q8= X-MC-Unique: WHpCSR57O_6rwn8cAlXXvw-1 X-Mimecast-MFC-AGG-ID: WHpCSR57O_6rwn8cAlXXvw_1764080270 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Cc: richard.henderson@linaro.org, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-stable@nongnu.org, Paolo Bonzini Subject: [PULL 3/4] chardev/char-pty: Do not ignore chr_write() failures Date: Tue, 25 Nov 2025 18:17:25 +0400 Message-ID: <20251125141726.1755276-4-marcandre.lureau@redhat.com> In-Reply-To: <20251125141726.1755276-1-marcandre.lureau@redhat.com> References: <20251125141726.1755276-1-marcandre.lureau@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=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -22 X-Spam_score: -2.3 X-Spam_bar: -- X-Spam_report: (-2.3 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.152, 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_H2=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: 1764084299005019100 From: Philippe Mathieu-Daud=C3=A9 Cc: qemu-stable@nongnu.org Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Marc-Andr=C3=A9 Lureau Message-ID: <20251022150743.78183-6-philmd@linaro.org> --- chardev/char-pty.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chardev/char-pty.c b/chardev/char-pty.c index b066f01412..652b0bd9e7 100644 --- a/chardev/char-pty.c +++ b/chardev/char-pty.c @@ -125,7 +125,7 @@ static int char_pty_chr_write(Chardev *chr, const uint8= _t *buf, int len) rc =3D RETRY_ON_EINTR(g_poll(&pfd, 1, 0)); g_assert(rc >=3D 0); if (!(pfd.revents & G_IO_HUP) && (pfd.revents & G_IO_OUT)) { - io_channel_send(s->ioc, buf, len); + return io_channel_send(s->ioc, buf, len); } =20 return len; --=20 2.51.1 From nobody Mon Feb 9 20:51:52 2026 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=1764085251; cv=none; d=zohomail.com; s=zohoarc; b=YnsVo6BOyo80AWAHYrawVwl8Y/GXtf3kMCCQzVAL39uvjiLMpRE5E6j4BJ1QqWs3OD27HaQfdd4a76oVvIlLgkfPb6CBfXpgO0cO5LnYHvNFav0XSHuRyBohjy2gfOayPdutZN4q15lCCt2yZzRY5KJFuk9hZ2BWJRJ7tCDUEkg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764085251; 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=e8yxiX8Z9UsoH0msFhGyk8AU2zMkQsGn7Fw81tqF28w=; b=c4+ekwllPC8+ODpIHyGPNPLH85BV4zgpUkcQdU5NVbm1cHh3z0ja0X6GfRvQyD6G0V3jxuVUxuR3f5xo0LuSLIiTjNoke+kwqTsItZRPD9K4mWXkFTjSvC75/++D1SzVKtO2MDExmlUlHJVKSOj4kbaFnqYvtk42GxDpbGP8Oes= 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 1764085251592480.126711001696; Tue, 25 Nov 2025 07:40:51 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vNttk-0004eC-Um; Tue, 25 Nov 2025 09:20:05 -0500 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 1vNtrm-0003Z6-1n for qemu-devel@nongnu.org; Tue, 25 Nov 2025 09:18:04 -0500 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 1vNtrk-0001Xo-KQ for qemu-devel@nongnu.org; Tue, 25 Nov 2025 09:18:01 -0500 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-622-tHuPggAYOYOGsjqJ67LRIQ-1; Tue, 25 Nov 2025 09:17:56 -0500 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 712FD18001D1; Tue, 25 Nov 2025 14:17:55 +0000 (UTC) Received: from localhost (unknown [10.44.22.27]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 4CAA53003761; Tue, 25 Nov 2025 14:17:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764080280; 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=e8yxiX8Z9UsoH0msFhGyk8AU2zMkQsGn7Fw81tqF28w=; b=fKlHN+CgDMU39L0MpGVZpWzAuw6cncnR5bk5SGZBkDoBe6n6U9122Uwxlsna0AWbbyC4Wc O0PQjfd4JGiR8nYRLtyStMJ/+0GznQZLeelSoBhjjkjb8TuUQsEHFAua6jhd08Db+GUS9r s8GhiyZTi/AV4xUR8e6CdskB5MNMO0U= X-MC-Unique: tHuPggAYOYOGsjqJ67LRIQ-1 X-Mimecast-MFC-AGG-ID: tHuPggAYOYOGsjqJ67LRIQ_1764080275 From: marcandre.lureau@redhat.com To: qemu-devel@nongnu.org Cc: richard.henderson@linaro.org, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , "AlanoSong@163.com" Subject: [PULL 4/4] ui/vnc: Fix qemu abort when query vnc info Date: Tue, 25 Nov 2025 18:17:26 +0400 Message-ID: <20251125141726.1755276-5-marcandre.lureau@redhat.com> In-Reply-To: <20251125141726.1755276-1-marcandre.lureau@redhat.com> References: <20251125141726.1755276-1-marcandre.lureau@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=marcandre.lureau@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.152, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.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: 1764085258829019100 From: "AlanoSong@163.com" When there is no display device on qemu machine, and user only access qemu by remote vnc. At the same time user input `info vnc` by QMP, the qemu will abort. To avoid the abort above, I add display device check, when query vnc info in qmp_query_vnc_servers(). Reviewed-by: Marc-Andr=C3=A9Lureau Signed-off-by: Alano Song [ Marc-Andr=C3=A9 - removed useless Error *err ] Signed-off-by: Marc-Andr=C3=A9 Lureau Message-ID: <20251125131955.7024-1-AlanoSong@163.com> --- ui/vnc.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ui/vnc.c b/ui/vnc.c index 0d499b208b..e6bcf0e1cf 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -556,9 +556,12 @@ VncInfo2List *qmp_query_vnc_servers(Error **errp) qmp_query_auth(vd->auth, vd->subauth, &info->auth, &info->vencrypt, &info->has_vencrypt); if (vd->dcl.con) { - dev =3D DEVICE(object_property_get_link(OBJECT(vd->dcl.con), - "device", &error_abort)); - info->display =3D g_strdup(dev->id); + Object *obj =3D object_property_get_link(OBJECT(vd->dcl.con), + "device", NULL); + if (obj) { + dev =3D DEVICE(obj); + info->display =3D g_strdup(dev->id); + } } if (vd->listener !=3D NULL) { nsioc =3D qio_net_listener_nsioc(vd->listener); --=20 2.51.1