From nobody Fri Sep 20 22:16:24 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=quarantine dis=quarantine) header.from=suse.com Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1644359746313578.0613126329895; Tue, 8 Feb 2022 14:35:46 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-673-OZHWOSnpPCye2IxZQafXeA-1; Tue, 08 Feb 2022 17:35:43 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 1E6E683DEB5; Tue, 8 Feb 2022 22:35:38 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id EF19F4CEEC; Tue, 8 Feb 2022 22:35:37 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id C08A84A718; Tue, 8 Feb 2022 22:35:37 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 217L6XIe007496 for ; Mon, 7 Feb 2022 16:06:33 -0500 Received: by smtp.corp.redhat.com (Postfix) id 19382C080A0; Mon, 7 Feb 2022 21:06:33 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast07.extmail.prod.ext.rdu2.redhat.com [10.11.55.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 13111C0809E for ; Mon, 7 Feb 2022 21:06:33 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) (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 E72CD3C02193 for ; Mon, 7 Feb 2022 21:06:32 +0000 (UTC) Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-574-g0leK2jpNEW0rlv0rN7ePQ-1; Mon, 07 Feb 2022 16:06:30 -0500 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04lp2057.outbound.protection.outlook.com [104.47.14.57]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-8-up-z69OwNQSArFHcnVjSRQ-1; Mon, 07 Feb 2022 22:06:28 +0100 Received: from AM0PR04MB4899.eurprd04.prod.outlook.com (2603:10a6:208:c5::16) by DBAPR04MB7477.eurprd04.prod.outlook.com (2603:10a6:10:1a9::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.19; Mon, 7 Feb 2022 21:06:27 +0000 Received: from AM0PR04MB4899.eurprd04.prod.outlook.com ([fe80::9d7c:24e:fb2d:2b34]) by AM0PR04MB4899.eurprd04.prod.outlook.com ([fe80::9d7c:24e:fb2d:2b34%6]) with mapi id 15.20.4951.019; Mon, 7 Feb 2022 21:06:27 +0000 X-MC-Unique: OZHWOSnpPCye2IxZQafXeA-1 X-MC-Unique: g0leK2jpNEW0rlv0rN7ePQ-1 X-MC-Unique: up-z69OwNQSArFHcnVjSRQ-1 From: Jim Fehlig To: libvir-list@redhat.com Subject: [PATCH] libxl: Release auto-allocated spice ports Date: Mon, 7 Feb 2022 14:06:24 -0700 Message-ID: <20220207210624.6096-1-jfehlig@suse.com> X-ClientProxiedBy: AS9PR06CA0188.eurprd06.prod.outlook.com (2603:10a6:20b:45d::15) To AM0PR04MB4899.eurprd04.prod.outlook.com (2603:10a6:208:c5::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a2da3435-530d-42c9-a4bf-08d9ea7db48b X-MS-TrafficTypeDiagnostic: DBAPR04MB7477:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:4941 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0 X-Microsoft-Antispam-Message-Info: dUDfo04zPaym/KBDP9Cj/fcgDv+8gK6j22TajsD0A5B4kL2FwlI9oE8l0nBF++fGLOee63nw6AT2T3jhIAC5Fufa2FbTkGsVBQu8/oh/ej0w+j/GxRKlPnoCl7OzEqRpIISs/kf7vFUFMnBQ0cfHPRv7/IWb+QKjT+Huq6eM3TfnF2l30m0L3RyqHbMB55NPko0ApkOW1Nw8Dv1yZWFL9CFqarD94AYVBnrzkaz+cMGVhsjFpN5NJDDWvyaFucyg3+Uli/Wpc20RQ601wIWITBROryPfO5ngqjKC7CmW8wMqbBIOn5TgIHi8OdKdvLRkeC0s5pYd87B1ZpAgHEUcdccOj/vduoEukth/nHqLkEEaagBNfMQ7eXOzsGf6D1FiBouqWZhuHv8XWGj0edZtxRFR4q7WDzET5FEHtY8AuFn+mzgB2oMqq1+zFJkG3MWiceQkj5fJ3hcm2NH6rAQo43Iozn3zuF77tNlNr2RWBhHbI8in8pK0E9zdFypMnyYGVL81jZHDEy49pjgEYxeVCwFzCdaGFIxQ1s1XF9a1t5siP4GPJ7L4CfVTQGugPy7tWn/2tcLZJtGZsyusdSe4Lmz2a7t+Q9MTX2v4f5Fm7RaptiMnghMFLgORsxtuT1nBsv8Rlyw4iGw6yWdHRTzuzQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR04MB4899.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(316002)(6916009)(86362001)(6512007)(6666004)(6506007)(508600001)(6486002)(36756003)(2906002)(8676002)(8936002)(66476007)(66556008)(66946007)(5660300002)(66574015)(26005)(186003)(1076003)(38100700002)(83380400001)(2616005); DIR:OUT; SFP:1101 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?mPXd6yrabw143nzQ3Pp60u7sO+7gk/d1tG3tbEOIYNkZISw2hBYHundnQCjt?= =?us-ascii?Q?U0CPk3wLuLRSChSIlsjTOprQalpgu892jwtT6JN/Jku5hDd2woqSU4rJGtb6?= =?us-ascii?Q?S31d99I6IpDkJ9/ZX8+Qa42OjuRvGbY+TvSW04PH6o/VRgvSfTE9SG9NCkhg?= =?us-ascii?Q?CjVmtEm9JFYnFVXRu+OelqUeHwz2JanKlCsvkscrAmVDnACxgRCoRwZsy2D/?= =?us-ascii?Q?psWzp8t1nu1agjJU3eg4anWzl7FhZBNJ7rXyuZ2c49elnP/BYbudojcN2OkO?= =?us-ascii?Q?PtdwQjSgWp/lSRzugqzeR2b47JcxsHph9QZXtIVujT4AdB9vkyx9+LddckQ1?= =?us-ascii?Q?VBbkwVcMpghVvaAtiA7RsgDj7O6+CV0jQ/rxwJq5J4lr//DYekc3+iJr4IGF?= =?us-ascii?Q?fy6g0PJ+LCBpFd+ROwSNmeGkrRye6Fn532sv4tUcRI9LmUfA1huOrvY3jeIu?= =?us-ascii?Q?Ty1J3k93fCr/bAnRl4suXYYKlhquwCm6ex2ih1QmRFPLE1PlbYC1OeIkV84B?= =?us-ascii?Q?MuyXMe6w+0HY4ZogD2f2Ro99hbrrx+MzBSrAg7jYnnztMUUQoBXuz8iudbd3?= =?us-ascii?Q?/b8dEcSYuwACRfarvDbZCeygp/iAcXhFieTMxOWo6EOlU7U4QrwzFiKiOjn+?= =?us-ascii?Q?Sp/LMGOrl6pIWAkrKmuG3cRUPdseb4p0xvm/Nlvt2f2k16OnRGvLSiJRw9Qy?= =?us-ascii?Q?fKuJkwrQlEmxD52s4I1ZnzLslxOcr5FuArMcaLGgCID6w708dIrrkceCJ+e1?= =?us-ascii?Q?LJeNKBaIBZrxJVjbj6yfOi1h5z41gNGl6wF0yOr4E2Pv+Yprz+Ejer2LJecO?= =?us-ascii?Q?ibGKa8PCiiVIJb9XYYdRICv9T7BSQbI6bXMYhD9zJ2B7Pm1X3wg4bzk/VtWO?= =?us-ascii?Q?MgUTClT/496HdZH2ln/rSbMXdoinGkEgqJuYfutiFO0JK3DoS99P8snJTcg+?= =?us-ascii?Q?ouiTj7hbwLgtOoU+thMwfSAEHvKnUIEx+s1i9QoX3f2AnpWSgibj6qKZJ8/X?= =?us-ascii?Q?F8gBYcIFQZblBsntyyDrHQ58oS3g56dA5EERKJzOwuWzQGoGsoO3/bxgqh6Y?= =?us-ascii?Q?ns7OZgxxPGcyErR0SI1eQZmlVwFgrFMPFN4viLnhjN6b829FKSQtm1SwBjii?= =?us-ascii?Q?bgm56wz/1FPOXdWwrnc0SeXE7OVGfUKIV9EGiKs+GXmQ5cG2OjafPR24SPhd?= =?us-ascii?Q?l4jAgvK3nKIv07ryPb/uUb3bCS6xRqooJDLR6yprt8L5kujWXiDSdco/VeGm?= =?us-ascii?Q?DJRTB+fyDAXBNWgucmkfKEdB+x5Pk0YbSJ4Rvnnl3BSruKBY9FCcYXxuuQUk?= =?us-ascii?Q?5a2vj+IFtlucvR7kxEM7kdqSpGFDKpf1YyGc8SPtfbqb/esXY+CKqaZFzsxS?= =?us-ascii?Q?YMkDj6koBej+TapXlC1J+bf11ob1eJGTt6UNAevQeE3Y/UGOtSGC5JZqZ16u?= =?us-ascii?Q?i172Y/lOyFmQb+fILkYTWPlLkT/wLozr9arzCjUL5qZljk53r5Vhn4OrArYN?= =?us-ascii?Q?vFHK8xc5f4FQ7RfzKQY4QUjSwitq0pTGFdQp831ooQHmIbUJJZcivZNy8FqZ?= =?us-ascii?Q?6wPL36r0S7ru/b3oXH+EWoVgu02I070IjWW1pbiwTLMM0tlORxW/XFq98KxW?= =?us-ascii?Q?K7iU277zScaLJ8J6Z2C9gF0=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: a2da3435-530d-42c9-a4bf-08d9ea7db48b X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB4899.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2022 21:06:27.1435 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Bxhy/031M39D7BVnpxKGGn3i66pl1mjND81bdwxKLo3vJW8UMgxhojiW/uB/ja+quGIe+5YHg6u8VRkOUdztrw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7477 X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 2.85 on 10.11.54.8 X-MIME-Autoconverted: from quoted-printable to 8bit by lists01.pubmisc.prod.ext.phx2.redhat.com id 217L6XIe007496 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1644359747764100001 Content-Type: text/plain; charset="utf-8" While VNC ports auto-allocated by the libxl driver are released in libxlDomainCleanup, spice ports are overlooked. Rework the existing logic to release any auto-allocated graphics ports, not just the VNC port of the first graphics device. Signed-off-by: Jim Fehlig Reviewed-by: J=C3=A1n Tomko --- src/libxl/libxl_domain.c | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c index 577985b5ea..b995f20a64 100644 --- a/src/libxl/libxl_domain.c +++ b/src/libxl/libxl_domain.c @@ -906,10 +906,10 @@ libxlDomainCleanup(libxlDriverPrivate *driver, { libxlDomainObjPrivate *priv =3D vm->privateData; g_autoptr(libxlDriverConfig) cfg =3D libxlDriverConfigGet(driver); - int vnc_port; char *file; virHostdevManager *hostdev_mgr =3D driver->hostdevMgr; unsigned int hostdev_flags =3D VIR_HOSTDEV_SP_PCI; + size_t i; =20 VIR_DEBUG("Cleaning up domain with id '%d' and name '%s'", vm->def->id, vm->def->name); @@ -944,13 +944,31 @@ libxlDomainCleanup(libxlDriverPrivate *driver, if (!!g_atomic_int_dec_and_test(&driver->nactive) && driver->inhibitCa= llback) driver->inhibitCallback(false, driver->inhibitOpaque); =20 - if ((vm->def->ngraphics =3D=3D 1) && - vm->def->graphics[0]->type =3D=3D VIR_DOMAIN_GRAPHICS_TYPE_VNC && - vm->def->graphics[0]->data.vnc.autoport) { - vnc_port =3D vm->def->graphics[0]->data.vnc.port; - if (vnc_port >=3D LIBXL_VNC_PORT_MIN) { - if (virPortAllocatorRelease(vnc_port) < 0) - VIR_DEBUG("Could not mark port %d as unused", vnc_port); + /* Release auto-allocated graphics ports */ + for (i =3D 0; i < vm->def->ngraphics; i++) { + virDomainGraphicsDef *graphics =3D vm->def->graphics[i]; + int gport =3D -1; + + switch (graphics->type) { + case VIR_DOMAIN_GRAPHICS_TYPE_VNC: + if (graphics->data.vnc.autoport && + graphics->data.vnc.port >=3D LIBXL_VNC_PORT_MIN) + gport =3D graphics->data.vnc.port; + break; + case VIR_DOMAIN_GRAPHICS_TYPE_SPICE: + if (graphics->data.spice.autoport) + gport =3D graphics->data.spice.port; + break; + case VIR_DOMAIN_GRAPHICS_TYPE_SDL: + case VIR_DOMAIN_GRAPHICS_TYPE_RDP: + case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP: + case VIR_DOMAIN_GRAPHICS_TYPE_EGL_HEADLESS: + case VIR_DOMAIN_GRAPHICS_TYPE_LAST: + break; + } + if (gport !=3D -1) { + if (virPortAllocatorRelease(gport) < 0) + VIR_DEBUG("Could not mark port %d as unused", gport); } } =20 --=20 2.34.1