From nobody Mon Feb 9 18:18:20 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=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1694616669; cv=none; d=zohomail.com; s=zohoarc; b=VO9PTaJDaCybMcGDehOn/c8ne5s5CXrg/W4l7eqY11hps1DfuFgWpxpdbFQFXC7+r/Qbg8A/v78yDFcbT9VZgcMErYMWGOY/nfgDiMREtobOe5zkHWtOomKQ8R4GfFUl0mZIDrX84bsf2kVGw10mk3WlcerEKP784uqRGv0KOF0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694616669; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=otjEfooNuOif7HkdZH8mcdrv7l5FqBVatZP1E7Xnp/c=; b=Rt9FVMpmWlvnzgv6aiY8bW2JA9dopYc/QnHUwdnJMSRuwP8R900FBrY9HLuJOX6tdnmnMUoKTentfxrFLnsL7qdD9zPVNKpIsTBLvr3+rUQfN/kOXsfBSfzXPkcM93Oaii/3eppWZMd+PMztapk8HASTntrf+2kZ2+qvYtaEqJk= 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=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694616669363366.2996377891121; Wed, 13 Sep 2023 07:51:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qgRC9-00012C-LZ; Wed, 13 Sep 2023 10:50:21 -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 1qgRC0-0000yc-8f for qemu-devel@nongnu.org; Wed, 13 Sep 2023 10:50:12 -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 1qgRBy-0000Uu-0s for qemu-devel@nongnu.org; Wed, 13 Sep 2023 10:50:12 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-113-y7iLPsbcMKmAMtYbXxdYiA-1; Wed, 13 Sep 2023 10:50:07 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5B5D5100AF29 for ; Wed, 13 Sep 2023 14:50:07 +0000 (UTC) Received: from lacos-laptop-9.usersys.redhat.com (unknown [10.39.194.255]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7E06A7D4E4; Wed, 13 Sep 2023 14:50:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1694616609; 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=otjEfooNuOif7HkdZH8mcdrv7l5FqBVatZP1E7Xnp/c=; b=NYqqjW5tLF9B6zFUAEAb+svqYq77+WQ/IE6fvuKl5jsS+ShmEGQiNp8jxcvLocfj5nrMEj 1YsaOF7S1h8f0xD5Y07UWDXRlGHF/YHTHXhsgOd2RUCsTTjbDdjlYno3vjixG+/ZLTCpSH nEzxxSQkiJrlkBMU94TAVqgm6tF0QsU= X-MC-Unique: y7iLPsbcMKmAMtYbXxdYiA-1 From: Laszlo Ersek To: lersek@redhat.com, qemu-devel@nongnu.org Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Gerd Hoffmann Subject: [PATCH 4/4] ui/console: sanitize search in qemu_graphic_console_is_multihead() Date: Wed, 13 Sep 2023 16:49:59 +0200 Message-Id: <20230913144959.41891-5-lersek@redhat.com> In-Reply-To: <20230913144959.41891-1-lersek@redhat.com> References: <20230913144959.41891-1-lersek@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 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=lersek@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, DKIMWL_WL_HIGH=-0.001, 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, SPF_HELO_NONE=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: 1694616670615100001 Content-Type: text/plain; charset="utf-8" qemu_graphic_console_is_multihead() declares the graphical console "c" a "multihead" console if there are two different graphical consoles in the system that (a) both reference "c->device", and (b) have different "c->head" numbers. In effect, if at least two graphical consoles exist that are different heads of the same device that underlies "c". In fact, "c" may be one of these two graphical consoles, or "c" may differ from both of those consoles (in case "c->device" has at least three heads). The loop currently uses this awkward "two different consoles" approach because the function used not to have access to "c", only to "c->device", which didn't allow for fetching (and comparing) "c->head". But, we've changed that in the last patch; we now pass all of "c" to qemu_graphic_console_is_multihead(). Thus, look for the *first* (and possibly *only*) graphical console, if any, that refers to the same "device" as "c", but by a different "head" number. Cc: "Marc-Andr=C3=A9 Lureau" (odd fixer:Graph= ics) Cc: Gerd Hoffmann (odd fixer:Graphics) Signed-off-by: Laszlo Ersek --- Notes: context:-U4 ui/console.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/ui/console.c b/ui/console.c index 6424820c8521..9ce3c1248c7c 100644 --- a/ui/console.c +++ b/ui/console.c @@ -2367,10 +2367,8 @@ bool qemu_console_is_gl_blocked(QemuConsole *con) =20 static bool qemu_graphic_console_is_multihead(QemuGraphicConsole *c) { QemuConsole *con; - uint32_t f =3D 0xffffffff; - uint32_t h; =20 QTAILQ_FOREACH(con, &consoles, next) { QemuGraphicConsole *candidate; =20 @@ -2382,12 +2380,9 @@ static bool qemu_graphic_console_is_multihead(QemuGr= aphicConsole *c) if (candidate->device !=3D c->device) { continue; } =20 - h =3D candidate->head; - if (f =3D=3D 0xffffffff) { - f =3D h; - } else if (h !=3D f) { + if (candidate->head !=3D c->head) { return true; } } return false;