From nobody Sun Sep 27 23:50:18 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=1789471522; cv=none; d=zohomail.com; s=zohoarc; b=M+KfY0DwBwDm/LZ3ZFpsxQM0epYZUr8Q1C7lSTQfWSCOn0a+LJ1/dFJJEwmlpqCQV6dKPMxp88oCNJG1stWGuIgDtRyy8d3Nvs56mJhCV2xxKqTVwAzVUPLrX04IRxfuY2rfjufzfjTAFXKOnKsLy2KzV7eqO5eicVcm3RGlGos= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471522; 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=UTlYybsMXAYvZF3UQHED8ZeGGlyjUpO5NQlKib95GMY=; b=mvUFt0cVQYOt7Cr5LdXMqs6Kv5PkjWgCpNyW7NitlsBksTaKDk/iyyQPOpQBHqGgEnr2MRzhZApvfc77hPvGRpAbaOH5xKEUMR/WqL+Be4hHfqoSoPauVAb5nRBaWxtRM8y8Yf+KQ9NW8xrlCEplfmhXGTFUgmBtMDIiWeJf1WY= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178947152244936.35793505835079; Tue, 15 Sep 2026 04:25:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RGq-0007yE-8k; Tue, 15 Sep 2026 07:24:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RGi-0007xG-AG for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:08 -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 1x6RGg-0001mR-Gh for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:08 -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-17-SEbvNW5RO0eVp-Jr1ZuwmQ-1; Tue, 15 Sep 2026 07:24:04 -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-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 7BD6B1800762; Tue, 15 Sep 2026 11:24:03 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 7F7C51956045; Tue, 15 Sep 2026 11:24:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471445; 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=UTlYybsMXAYvZF3UQHED8ZeGGlyjUpO5NQlKib95GMY=; b=E+A+0o0vX39DJ6OSFhwQd9i1vik8+y+Ocjj9GzgefmtTka8tmToHNVOV4bbxhzpJoHiSEd jEeslHSyjtUS2rUBdlORRFWQoA/ym4I9tw5fy+ls6Gtj8NxEboLjN8kNs4X6CDeEpSN5Pq q1gN4IixdGVLgkwjIWlY6fSn+ETfbP0= X-MC-Unique: SEbvNW5RO0eVp-Jr1ZuwmQ-1 X-Mimecast-MFC-AGG-ID: SEbvNW5RO0eVp-Jr1ZuwmQ_1789471443 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: Roman Bogorodskiy , Markus Armbruster , Kostiantyn Kostiuk , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PULL 01/19] qga: implement 'guest-get-fsinfo' for FreeBSD Date: Tue, 15 Sep 2026 14:23:19 +0300 Message-ID: <20260915112337.43307-2-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=kkostiuk@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_H2=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: qemu development 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: 1789471524380158500 From: Roman Bogorodskiy Implement the qmp_guest_get_fsinfo() API for FreeBSD. To implement it, reuse build_fs_mount_list() which is already implemented for FreeBSD. Extend the FsMount type to include a string "fromname" attribute to store the disk the FS is mounted from. Disk mapping info is not covered by this implementation. Signed-off-by: Roman Bogorodskiy Acked-by: Markus Armbruster Reviewed-by: Kostiantyn Kostiuk Reviewed-by: Daniel P. Berrang=C3=A9 Link: https://lore.kernel.org/qemu-devel/20260714165759.7521-1-bogorodskiy@= gmail.com Signed-off-by: Kostiantyn Kostiuk --- qga/commands-bsd.c | 53 ++++++++++++++++++++++++++++++++++++++++++- qga/commands-common.h | 1 + qga/commands-posix.c | 3 +++ qga/qapi-schema.json | 12 +++++----- 4 files changed, 62 insertions(+), 7 deletions(-) diff --git a/qga/commands-bsd.c b/qga/commands-bsd.c index 94ff6fee6a..1c51d099eb 100644 --- a/qga/commands-bsd.c +++ b/qga/commands-bsd.c @@ -20,6 +20,7 @@ #include #include #include +#include #if defined(__NetBSD__) || defined(__OpenBSD__) #include #include @@ -28,7 +29,7 @@ #endif #include =20 -#if defined(CONFIG_FSFREEZE) || defined(CONFIG_FSTRIM) +#if defined(CONFIG_FSFREEZE) || defined(CONFIG_FSTRIM) || defined(__FreeBS= D__) bool build_fs_mount_list(FsMountList *mounts, Error **errp) { FsMount *mount; @@ -55,6 +56,7 @@ bool build_fs_mount_list(FsMountList *mounts, Error **err= p) =20 mount->dirname =3D g_strdup(mntp->f_mntonname); mount->devtype =3D g_strdup(mntp->f_fstypename); + mount->fromname =3D g_strdup(mntp->f_mntfromname); mount->devmajor =3D major(mount->dev); mount->devminor =3D minor(mount->dev); mount->fsid =3D mntp->f_fsid; @@ -178,3 +180,52 @@ bool guest_get_hw_addr(struct ifaddrs *ifa, unsigned c= har *buf, return true; } #endif /* HAVE_GETIFADDRS */ + +#if defined(__FreeBSD__) +static GuestFilesystemInfo *build_guest_fsinfo(struct FsMount *mount) +{ + GuestFilesystemInfo *fs =3D g_new0(GuestFilesystemInfo, 1); + struct statvfs buf; + unsigned long used, nonroot_total, fr_size; + + fs->mountpoint =3D g_strdup(mount->dirname); + fs->type =3D g_strdup(mount->devtype); + fs->name =3D g_path_get_basename(mount->fromname); + + if (statvfs(fs->mountpoint, &buf) =3D=3D 0) { + fr_size =3D buf.f_frsize; + used =3D buf.f_blocks - buf.f_bfree; + nonroot_total =3D used + buf.f_bavail; + fs->used_bytes =3D used * fr_size; + fs->total_bytes =3D nonroot_total * fr_size; + fs->total_bytes_privileged =3D buf.f_blocks * fr_size; + + fs->has_total_bytes =3D true; + fs->has_total_bytes_privileged =3D true; + fs->has_used_bytes =3D true; + } + + return fs; +} + +GuestFilesystemInfoList *qmp_guest_get_fsinfo(Error **errp) +{ + FsMountList mounts; + struct FsMount *mount; + GuestFilesystemInfoList *ret =3D NULL; + + QTAILQ_INIT(&mounts); + if (!build_fs_mount_list(&mounts, errp)) { + return NULL; + } + + QTAILQ_FOREACH(mount, &mounts, next) { + g_debug("Building guest fsinfo for '%s'", mount->dirname); + + QAPI_LIST_PREPEND(ret, build_guest_fsinfo(mount)); + } + + free_fs_mount_list(&mounts); + return ret; +} +#endif /* __FreeBSD__ */ diff --git a/qga/commands-common.h b/qga/commands-common.h index 263e7c0525..a07d0885f5 100644 --- a/qga/commands-common.h +++ b/qga/commands-common.h @@ -29,6 +29,7 @@ typedef struct FsMount { #if defined(__FreeBSD__) dev_t dev; fsid_t fsid; + char *fromname; #endif QTAILQ_ENTRY(FsMount) next; } FsMount; diff --git a/qga/commands-posix.c b/qga/commands-posix.c index 837be51c40..837e285b6d 100644 --- a/qga/commands-posix.c +++ b/qga/commands-posix.c @@ -731,6 +731,9 @@ void free_fs_mount_list(FsMountList *mounts) QTAILQ_REMOVE(mounts, mount, next); g_free(mount->dirname); g_free(mount->devtype); +#if defined(__FreeBSD__) + g_free(mount->fromname); +#endif g_free(mount); } } diff --git a/qga/qapi-schema.json b/qga/qapi-schema.json index c57bc9a02f..8cd0ba048b 100644 --- a/qga/qapi-schema.json +++ b/qga/qapi-schema.json @@ -874,7 +874,7 @@ 'data': [ 'ide', 'fdc', 'scsi', 'virtio', 'xen', 'usb', 'uml', 'sata', 'sd', 'unknown', 'ieee1394', 'ssa', 'fibre', 'raid', 'iscsi', 'sas', 'mmc', 'virtual', 'file-backed-virtual', 'nvme' ], - 'if': { 'any': [ 'CONFIG_WIN32', 'CONFIG_LINUX' ] } } + 'if': { 'any': [ 'CONFIG_WIN32', 'CONFIG_LINUX', 'CONFIG_FREEBSD' ] } } =20 ## # @GuestPCIAddress: @@ -892,7 +892,7 @@ { 'struct': 'GuestPCIAddress', 'data': {'domain': 'int', 'bus': 'int', 'slot': 'int', 'function': 'int'}, - 'if': { 'any': [ 'CONFIG_WIN32', 'CONFIG_LINUX' ] } } + 'if': { 'any': [ 'CONFIG_WIN32', 'CONFIG_LINUX', 'CONFIG_FREEBSD' ] } } =20 ## # @GuestCCWAddress: @@ -912,7 +912,7 @@ 'ssid': 'int', 'subchno': 'int', 'devno': 'int'}, - 'if': { 'any': [ 'CONFIG_WIN32', 'CONFIG_LINUX' ] } } + 'if': { 'any': [ 'CONFIG_WIN32', 'CONFIG_LINUX', 'CONFIG_FREEBSD' ] } } =20 ## # @GuestDiskAddress: @@ -942,7 +942,7 @@ 'bus': 'int', 'target': 'int', 'unit': 'int', '*serial': 'str', '*dev': 'str', '*ccw-address': 'GuestCCWAddress'}, - 'if': { 'any': [ 'CONFIG_WIN32', 'CONFIG_LINUX' ] } } + 'if': { 'any': [ 'CONFIG_WIN32', 'CONFIG_LINUX', 'CONFIG_FREEBSD' ] } } =20 ## # @GuestNVMeSmart: @@ -1063,7 +1063,7 @@ 'data': {'name': 'str', 'mountpoint': 'str', 'type': 'str', '*used-bytes': 'uint64', '*total-bytes': 'uint64', '*total-bytes-privileged': 'uint64', 'disk': ['GuestDiskAddress= ']}, - 'if': { 'any': [ 'CONFIG_WIN32', 'CONFIG_LINUX' ] } } + 'if': { 'any': [ 'CONFIG_WIN32', 'CONFIG_LINUX', 'CONFIG_FREEBSD' ] } } =20 ## # @guest-get-fsinfo: @@ -1077,7 +1077,7 @@ ## { 'command': 'guest-get-fsinfo', 'returns': ['GuestFilesystemInfo'], - 'if': { 'any': [ 'CONFIG_WIN32', 'CONFIG_LINUX' ] } } + 'if': { 'any': [ 'CONFIG_WIN32', 'CONFIG_LINUX', 'CONFIG_FREEBSD' ] } } =20 ## # @guest-set-user-password: --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471504; cv=none; d=zohomail.com; s=zohoarc; b=kOnyzGFMc0GvX6H42K5CxgTVB1s3j3hBkUX61ZQ4e/cI5/iA3dHAN6ZdUHjHQodaEkN+pkGCd4qr+CtHnjHxLpV1EeWjQmz6n6/emzSMhNc86HRYHLZvjgVmszFYbboLR69rH6Hx7s/QyzGH2VylzLJn0HTNqIu8QeuZkxKzdZQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471504; 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=ccE2zgt0jqBC8ogsnlq+1Ah2j9TDOmv+44dYpdRKuV0=; b=K6awElmnpzR9nWVCZXPOiD4Y3GDEsQUrZ7xH/NxAZyQgNxuBg8OpHZ/C5izAbUe8bLr3JTYjdZAyerOYWdST4t0k8yaqJ1ZiX2vVtU1fcTpzxRXQ6qvzpantHxwIGxgDRFduMbP5bfJnl5u7RmZPslbIx55k4gP1mHmnbxG5cJs= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471504246785.837035707011; Tue, 15 Sep 2026 04:25:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RGx-00081J-A3; Tue, 15 Sep 2026 07:24:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RGl-0007xm-4C for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24: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 1x6RGi-0001mi-SA for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:10 -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-155-cbIhyOAvMxCNhAfKw_pzTQ-1; Tue, 15 Sep 2026 07:24:06 -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-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id A9E691828BAF; Tue, 15 Sep 2026 11:24:05 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E17E01956045; Tue, 15 Sep 2026 11:24:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471448; 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=ccE2zgt0jqBC8ogsnlq+1Ah2j9TDOmv+44dYpdRKuV0=; b=QEV2R90vIDztHR1tS7qP6PETksbuUVwXa9/laz3hI0HuJ4/rrfqbYaU943BXZvHEGfZiFV npjwmIV2KEJQzYTRykASNgkn0soZzmiU3MKbgIYMeK5VMcFut1mla8/HGE2SHS/UQuYNFf x1Xrd07/DR4Nfgaw719qLYFGQK1ZeK8= X-MC-Unique: cbIhyOAvMxCNhAfKw_pzTQ-1 X-Mimecast-MFC-AGG-ID: cbIhyOAvMxCNhAfKw_pzTQ_1789471445 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: Kostiantyn Kostiuk , Valentino Paulon , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PULL 02/19] qga: Change effective user/group ID in guest-ssh-* commands Date: Tue, 15 Sep 2026 14:23:20 +0300 Message-ID: <20260915112337.43307-3-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=kkostiuk@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_H2=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: qemu development 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: 1789471506366158500 Before this commit, when qmp_guest_ssh_add_authorized_keys adds an SSH key for an existing local user, the agent (running as root) decides whether to create the user's .ssh directory with a symlink-following directory test, and then writes and chowns the authorized_keys file. A local unprivileged user who owns their home directory can pre-stage their .ssh directory (or the authorized_keys file) as a symbolic link so that, when the host or operator triggers a key add for that user, the root agent follows the link and transfers ownership of an arbitrary root-owned file or directory to the unprivileged user, who can then rewrite it to obtain root. Fixes: CVE-2026-12080 Fixes: https://gitlab.com/qemu-project/qemu/-/work_items/3929 v1: https://patchew.org/QEMU/20260709105707.91209-1-kkostiuk@redhat.com/ v2 -> v1: Change effective user/group ID instead of checking for symlinks and changing ownership of the file. v2: https://patchew.org/QEMU/20260810104659.82320-1-kkostiuk@redhat.com v3 -> v2: Deduplicate code. Fail daemon when can't rollback effective user/group ID. v3: https://patchew.org/QEMU/20260810140641.161728-1-kkostiuk@redhat.com/ v4 -> v3: Added comment about assert in rollback_effective_info Fix memory leak in rollback_effective_info Reported-by: Valentino Paulon Reviewed-by: Daniel P. Berrang=C3=A9 Link: https://lore.kernel.org/qemu-devel/20260810142818.170418-1-kkostiuk@r= edhat.com Signed-off-by: Kostiantyn Kostiuk --- qga/commands-posix-ssh.c | 71 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/qga/commands-posix-ssh.c b/qga/commands-posix-ssh.c index 661972e34e..aa3411049f 100644 --- a/qga/commands-posix-ssh.c +++ b/qga/commands-posix-ssh.c @@ -8,11 +8,34 @@ #include #include #include +#include =20 #include "commands-common-ssh.h" #include "qapi/error.h" #include "qga-qapi-commands.h" =20 +typedef struct EffectiveUserInfo { + uid_t uid; + gid_t gid; +} EffectiveUserInfo; + +typedef EffectiveUserInfo *PEffectiveUserInfo; + +static void rollback_effective_info(PEffectiveUserInfo info) +{ + if (info) { + /* There is nothing to do in case when rollback to original user/= group IDs + * fails. In that case, the process will be terminated by the kern= el + * and systemd should restart the daemon again. + */ + assert(seteuid(info->uid) =3D=3D 0); + assert(setegid(info->gid) =3D=3D 0); + g_free(info); + } +} + +G_DEFINE_AUTO_CLEANUP_FREE_FUNC(PEffectiveUserInfo, rollback_effective_inf= o, NULL); + #ifdef QGA_BUILD_UNIT_TEST static struct passwd * test_get_passwd_entry(const gchar *user_name, GError **error) @@ -112,6 +135,36 @@ write_authkeys(const char *path, const GStrv keys, return true; } =20 +static PEffectiveUserInfo set_privileges_to_user(const struct passwd *p, E= rror **errp) +{ + g_auto(PEffectiveUserInfo) info =3D g_new0(EffectiveUserInfo, 1); + + info->uid =3D geteuid(); + info->gid =3D getegid(); + +#ifndef QGA_BUILD_UNIT_TEST + /* The initgroups requires CAP_SETGID. During build time unit tests, w= e can't do this. */ + if (initgroups(p->pw_name, p->pw_gid) =3D=3D -1) { + error_setg_errno(errp, errno, "failed to set group for user '%s'", + p->pw_name); + return NULL; + } +#endif + + if (setegid(p->pw_gid) =3D=3D -1) { + error_setg_errno(errp, errno, "failed to set effective group ID fo= r user '%s'", + p->pw_name); + return NULL; + } + if (seteuid(p->pw_uid) =3D=3D -1) { + error_setg_errno(errp, errno, "failed to set effective user ID for= user '%s'", + p->pw_name); + return NULL; + } + + return g_steal_pointer(&info); +} + void qmp_guest_ssh_add_authorized_keys(const char *username, strList *keys, bool has_reset, bool reset, @@ -123,6 +176,7 @@ qmp_guest_ssh_add_authorized_keys(const char *username,= strList *keys, g_auto(GStrv) authkeys =3D NULL; strList *k; size_t nkeys, nauthkeys; + g_auto(PEffectiveUserInfo) effective_user_info =3D NULL; =20 reset =3D has_reset && reset; =20 @@ -135,6 +189,11 @@ qmp_guest_ssh_add_authorized_keys(const char *username= , strList *keys, return; } =20 + effective_user_info =3D set_privileges_to_user(p, errp); + if (effective_user_info =3D=3D NULL) { + return; + } + ssh_path =3D g_build_filename(p->pw_dir, ".ssh", NULL); authkeys_path =3D g_build_filename(ssh_path, "authorized_keys", NULL); =20 @@ -172,6 +231,7 @@ qmp_guest_ssh_remove_authorized_keys(const char *userna= me, strList *keys, g_auto(GStrv) authkeys =3D NULL; GStrv a; size_t nkeys =3D 0; + g_auto(PEffectiveUserInfo) effective_user_info =3D NULL; =20 if (!check_openssh_pub_keys(keys, NULL, errp)) { return; @@ -182,6 +242,11 @@ qmp_guest_ssh_remove_authorized_keys(const char *usern= ame, strList *keys, return; } =20 + effective_user_info =3D set_privileges_to_user(p, errp); + if (effective_user_info =3D=3D NULL) { + return; + } + authkeys_path =3D g_build_filename(p->pw_dir, ".ssh", "authorized_keys", NULL); if (!g_file_test(authkeys_path, G_FILE_TEST_EXISTS)) { @@ -219,12 +284,18 @@ qmp_guest_ssh_get_authorized_keys(const char *usernam= e, Error **errp) g_auto(GStrv) authkeys =3D NULL; g_autoptr(GuestAuthorizedKeys) ret =3D NULL; int i; + g_auto(PEffectiveUserInfo) effective_user_info =3D NULL; =20 p =3D get_passwd_entry(username, errp); if (p =3D=3D NULL) { return NULL; } =20 + effective_user_info =3D set_privileges_to_user(p, errp); + if (effective_user_info =3D=3D NULL) { + return NULL; + } + authkeys_path =3D g_build_filename(p->pw_dir, ".ssh", "authorized_keys", NULL); authkeys =3D read_authkeys(authkeys_path, errp); --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471486; cv=none; d=zohomail.com; s=zohoarc; b=mA+SNQmOPtyOEhWSixDPtnzh1NqicgoUpPCQRmf2MVi71OdxbqJf8e/4Q9hxRKIzicIu5nyRnWtkLIQe3G8O+YcemeAzqt7/inEEkOa75R7HRFLHCBbISQFI8d5NjZ++Q6sshBGsM9vT2oMGyoh0K6FKjJfAc4fNWXPC4+gVFns= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471486; 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=D6hgPK2IS1QKGNozGyvaYa9W0IoQnt5bz9ayovwpZ6o=; b=MIQ2CMTqx0RFG6uYZrELCUbGGcDxQcSXpGFrCGXS/b6LrRl6oeTqAo8W7Ep7hvLW8T7WyIBJUclnYmy95/PxyunFTARms/Gw118j3ey/nXT8LmA0gV/KpNdUamY78O6LGouf/yH+/rHHudlzLnHApgn2vuPU2XUZ0kkpZBVjvmM= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471486462452.18018397043545; Tue, 15 Sep 2026 04:24:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RGt-0007yZ-Nw; Tue, 15 Sep 2026 07:24:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RGo-0007xt-7Q for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:14 -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 1x6RGm-0001mz-F4 for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:13 -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-604-l6wt7EesOBq90630h2kR2g-1; Tue, 15 Sep 2026 07:24: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-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id D3B30180B5D6; Tue, 15 Sep 2026 11:24:07 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 1AE481956045; Tue, 15 Sep 2026 11:24:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471451; 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=D6hgPK2IS1QKGNozGyvaYa9W0IoQnt5bz9ayovwpZ6o=; b=LDYCIB43wOkmGcpr+PfgzSSbkv0lOcWONpBgSbXo5toN9uR3RkMfcp1SSNjOVFjc51K0ca gv2HcXDiM52btzI/WEnu2E8Z8Fy7PfsDXZiX7Xyz2z9EfstlLihMTGppHTDRcXUk/VQKXe JlAQK/r8HolTa/4aO/KrRHsgWQZqY9k= X-MC-Unique: l6wt7EesOBq90630h2kR2g-1 X-Mimecast-MFC-AGG-ID: l6wt7EesOBq90630h2kR2g_1789471447 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 03/19] qga/installer: preserve VssOption registry value across upgrades Date: Tue, 15 Sep 2026 14:23:21 +0300 Message-ID: <20260915112337.43307-4-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kkostiuk@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_H3=0.001, RCVD_IN_MSPIKE_WL=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: qemu development 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: 1789471488263158500 From: Marc-Andr=C3=A9 Lureau The VssOption registry value was unconditionally written to 1 on every install, overwriting any administrator customization. Additionally, it was created even when VSS support was not being installed. Move VssOption into its own component guarded by the InstallVss preprocessor conditional. Use a RegistrySearch to read any existing value into the VSSOPTION_VALUE property (defaulting to #1 for fresh installs), and write it back via MSI property substitution so admin customizations survive upgrades. Update the registry_entries component GUID since its resource set changed. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/2919 Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-1-86456ad356e2@red= hat.com Signed-off-by: Kostiantyn Kostiuk --- qga/installer/qemu-ga.wxs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/qga/installer/qemu-ga.wxs b/qga/installer/qemu-ga.wxs index 32b8308728..5be19b211c 100644 --- a/qga/installer/qemu-ga.wxs +++ b/qga/installer/qemu-ga.wxs @@ -31,6 +31,15 @@ /> 1 + + + + + - + @@ -122,11 +131,16 @@ + + + - + + + @@ -167,6 +181,7 @@ + --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471522; cv=none; d=zohomail.com; s=zohoarc; b=BRjC+5Fo1V1gwblrvsZokauH97za85noNq5BEz7XoQsXWppC4fDO1LPxTeRtOwZj+j3cQXtxR5AIsSvxag9vA/APabgtWoer+klLsCHCOUxmNsUc84WcSP5CWZhzR/C6WUDQ/IhNVgdQ/D6BWHwn0t51Ns8WuSlMAiuaHAFKUU8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471522; 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=uqXJTPBkoj9p57VcHxIQWiCwKjYvYo6IVC3flMu3b+M=; b=ZVgan6HPkgRr/BMv5tdsqIPFFXRY8rRihfE4WuL/j4nXc9wTdusgljUaQxBqYqnENdkGtWT+jXJr5QMro8b6D5J74aVU3X/WZQxZUxN5JikdwbiErSnXTupykIGyW/W3MFUn9FDEU1hAUmpeIW2hWfZgXMJS3pBoQv+kkEi8IvA= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471522284319.80770139458104; Tue, 15 Sep 2026 04:25:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RH4-00082z-O1; Tue, 15 Sep 2026 07:24:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RGq-0007yY-UO for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:19 -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 1x6RGp-0001n9-1w for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:16 -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-391-AaJE9729PG-6-rPEX6U4SA-1; Tue, 15 Sep 2026 07:24:10 -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-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id D599E1869D9C; Tue, 15 Sep 2026 11:24:09 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 44A021956045; Tue, 15 Sep 2026 11:24:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471454; 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=uqXJTPBkoj9p57VcHxIQWiCwKjYvYo6IVC3flMu3b+M=; b=grWI3z7sjIq88Z6hJH+CFs93ZsIsA6FTwbEKAl3ybd/8kkWy9HcXRpZ5cbQIcKc0bZU6uw t+b7v3Sgi67Xpv5Ohz8pVlqAIIXHL8hX5njKuxG1LiSNFs3zd6AENHQbTkETof5OltZ3MT CIP07cezvSVrsReFiBFk7U6TwCPMYng= X-MC-Unique: AaJE9729PG-6-rPEX6U4SA-1 X-Mimecast-MFC-AGG-ID: AaJE9729PG-6-rPEX6U4SA_1789471449 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 04/19] qga/vss-win32: fix race condition in COM Release() methods Date: Tue, 15 Sep 2026 14:23:22 +0300 Message-ID: <20260915112337.43307-5-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=kkostiuk@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_H2=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: qemu development 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: 1789471524310158500 From: Marc-Andr=C3=A9 Lureau All three Release() implementations checked the member m_nRefCount after InterlockedDecrement instead of using the local return value. In a multi-threaded context (vssvc), two threads decrementing concurrently could both read m_nRefCount as 0 and double-free. Fixes: b39297aedfab ("qemu-ga: Add Windows VSS provider and requester as DL= L") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-2-86456ad356e2@red= hat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/provider.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/qga/vss-win32/provider.cpp b/qga/vss-win32/provider.cpp index 2b5c6f8e8e..79906dcc24 100644 --- a/qga/vss-win32/provider.cpp +++ b/qga/vss-win32/provider.cpp @@ -108,7 +108,7 @@ STDMETHODIMP_(ULONG) CQGAVSSEnumObject::AddRef() STDMETHODIMP_(ULONG) CQGAVSSEnumObject::Release() { long nRefCount =3D InterlockedDecrement(&m_nRefCount); - if (m_nRefCount =3D=3D 0) { + if (nRefCount =3D=3D 0) { delete this; } return nRefCount; @@ -244,7 +244,7 @@ STDMETHODIMP_(ULONG) CQGAVssProvider::AddRef() STDMETHODIMP_(ULONG) CQGAVssProvider::Release() { long nRefCount =3D InterlockedDecrement(&m_nRefCount); - if (m_nRefCount =3D=3D 0) { + if (nRefCount =3D=3D 0) { delete this; } return nRefCount; @@ -477,7 +477,7 @@ STDMETHODIMP_(ULONG) CQGAVssProviderFactory::AddRef() STDMETHODIMP_(ULONG) CQGAVssProviderFactory::Release() { long nRefCount =3D InterlockedDecrement(&m_nRefCount); - if (m_nRefCount =3D=3D 0) { + if (nRefCount =3D=3D 0) { delete this; } return nRefCount; --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471507; cv=none; d=zohomail.com; s=zohoarc; b=NOpsQWW7q63Z6Qc059l+EB9R/0xXtjhBdI1ChowAfLO1jTFviSyqTn27NIJLm8m76tvicLsAsoVByIsVX0FOB3jYVlSJkCY7MGqJaRwzWcsjQVT1cyKrw4PoFgISPERCVz2SA6rvyEnFvo9HUBulrcosbDrQqD2ERdWd5f80sgk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471507; 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=sJQLTqvdiTKmBFNInRWlirXQ86w+Ldaf4Tc3OGu9tTY=; b=bLfqyAi70AbGZy4CMyYF26ObhYeFunwEM2pw6O/2TsvWHVwh8s9NYQj3psh2BQe/+yZS8/QsLn3RZrjaei09UYA5LOgOAygUTE9h10yOdAgk6xLI+ZzfSgRW3cTsQ6o2rph0kfdYj8bxPTbqbiHyXdxoC2FfVoomdXmwSk0felQ= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471507690565.2098166121916; Tue, 15 Sep 2026 04:25:07 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RH8-00083a-Q5; Tue, 15 Sep 2026 07:24:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RGs-000802-CK for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:19 -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 1x6RGq-0001nI-TC for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:18 -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-387-sK35Op9ZPGauNIRNBuHHhg-1; Tue, 15 Sep 2026 07:24:12 -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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id CC95419560BF; Tue, 15 Sep 2026 11:24:11 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 461751956045; Tue, 15 Sep 2026 11:24:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471456; 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=sJQLTqvdiTKmBFNInRWlirXQ86w+Ldaf4Tc3OGu9tTY=; b=KMhIaR8gtXmGlE3XATRLm3vslxGM2NA3r8jPbz3lIPGmnQ2iQR+dJ09IDJU5ALlwQaoaa5 tZHZJR9BVgJj+oT5nUwmlRxmJgyCW2Rlp1rWRjBKBrid8nDh9yYidyh/6XtfXgLSbsxB17 7KgDX2BPEkDHtJcd9V2pMvCw8M/e/4w= X-MC-Unique: sK35Op9ZPGauNIRNBuHHhg-1 X-Mimecast-MFC-AGG-ID: sK35Op9ZPGauNIRNBuHHhg_1789471452 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 05/19] qga/vss-win32: pass valid SERVICE_STATUS to ControlService Date: Tue, 15 Sep 2026 14:23:23 +0300 Message-ID: <20260915112337.43307-6-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=kkostiuk@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 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_H2=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1789471508157158500 From: Marc-Andr=C3=A9 Lureau ControlService requires a non-NULL lpServiceStatus parameter ([out] vs [out, optional]). Passing NULL is undefined behavior per MSDN and can crash on some Windows versions. Fixes: 917ebcb17027 ("qga-win: Fix QGA VSS Provider service stop failure") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-3-86456ad356e2@red= hat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/install.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qga/vss-win32/install.cpp b/qga/vss-win32/install.cpp index 5b7a8e9bc5..f89658d277 100644 --- a/qga/vss-win32/install.cpp +++ b/qga/vss-win32/install.cpp @@ -572,6 +572,7 @@ namespace _com_util /* Stop QGA VSS provider service using Winsvc API */ STDAPI StopService(void) { + SERVICE_STATUS status; qga_debug_begin; =20 HRESULT hr =3D S_OK; @@ -590,7 +591,7 @@ STDAPI StopService(void) hr =3D E_FAIL; goto out; } - if (!(ControlService(service, SERVICE_CONTROL_STOP, NULL))) { + if (!(ControlService(service, SERVICE_CONTROL_STOP, &status))) { errmsg(E_FAIL, "Failed to stop service"); hr =3D E_FAIL; } --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471553; cv=none; d=zohomail.com; s=zohoarc; b=cfbArw4UgFB+1WK8bpt4DnuVKJ97bD/zSN394kqRmlABotI+5OscIpPMG7qOdfF0c+lGOcjMWv3KBjuGHZg5ChTzUsmWfXuE6W6tMX/jx3/lv+CNmIlYswnlvOBu3FBPlWmLZarFKVC2s6hMbccYrH5xZdrRH2Ft27HCpslKZyc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471553; 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=nyxt3Ph9FjkWPDzeyjyr2dRARVBNe47DI2FzEFfXQ6o=; b=I2PLt0CHu/BWyRlztcYHTil/XGdV2PULQuEg3mxxyCeu4uk2qmJaQM2pdFKSv9D+yz9N97/xs7cb3L8mbY3Lz6XVcCcfhhMBScPGcwjZzBArWEnJo3PJQZYAPUWl7mxf8eHuW4FYtUAnX/wS3sgdQARC41SHX7qhqrJJl4wACqo= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471553254423.0344697592741; Tue, 15 Sep 2026 04:25:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RHE-0008G1-VE; Tue, 15 Sep 2026 07:24:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RGx-00081u-FJ for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:25 -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 1x6RGv-0001nh-GU for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24: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-460-bphY2KO8MaOyEPBsvIaVJw-1; Tue, 15 Sep 2026 07:24:14 -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-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E0BFE1865FF5; Tue, 15 Sep 2026 11:24:13 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 5C62F1956045; Tue, 15 Sep 2026 11:24:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471461; 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=nyxt3Ph9FjkWPDzeyjyr2dRARVBNe47DI2FzEFfXQ6o=; b=JF0V8TjoDr9wlEZo1J0dqhx/NfNNmCmET8NdmcvlW2JwpLUMLsNI3d+wrtzOvy1aVUFQ8n wUpjz0liAOz+B1zn7pVdLnlyJrQL1R/HM+oyB70iyMBD+kPqTJK9rHjKZ+qC8dHj3CJg5c zD8uulx1JBA068xYMFj3VJLYaO9YGs4= X-MC-Unique: bphY2KO8MaOyEPBsvIaVJw-1 X-Mimecast-MFC-AGG-ID: bphY2KO8MaOyEPBsvIaVJw_1789471454 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 06/19] qga/vss-win32: explicit NULL/zero initialization Date: Tue, 15 Sep 2026 14:23:24 +0300 Message-ID: <20260915112337.43307-7-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kkostiuk@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_H3=0.001, RCVD_IN_MSPIKE_WL=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: qemu development 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: 1789471554453158500 From: Marc-Andr=C3=A9 Lureau We use -ftrivial-auto-var-init=3Dzero, but static analyzers don't.. Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-4-86456ad356e2@red= hat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/install.cpp | 2 +- qga/vss-win32/requester.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/qga/vss-win32/install.cpp b/qga/vss-win32/install.cpp index f89658d277..12b045e207 100644 --- a/qga/vss-win32/install.cpp +++ b/qga/vss-win32/install.cpp @@ -61,7 +61,7 @@ static void errmsg(DWORD err, const char *text) =20 static void errmsg_dialog(DWORD err, const char *text, const char *opt =3D= "") { - char *msg, buf[512]; + char *msg =3D NULL, buf[512] =3D ""; =20 FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSER= TS, diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp index 493ecd5717..52176d7512 100644 --- a/qga/vss-win32/requester.cpp +++ b/qga/vss-win32/requester.cpp @@ -170,7 +170,7 @@ static void AddComponents(ErrorSet *errset) unsigned int cComponents, c1, c2, j; COMPointer pMetadata; COMPointer pComponent; - PVSSCOMPONENTINFO info; + PVSSCOMPONENTINFO info =3D NULL; HRESULT hr; =20 hr =3D vss_ctx.pVssbc->GetWriterMetadataCount(&cWriters); --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471492; cv=none; d=zohomail.com; s=zohoarc; b=ARR0+YulbWQjlZXCh6PQKQ4Tp8+X1bGCL977Cje0HObkAEcInWa2sokVJQVPRLSUrR9VN6yMUAn0qEQL98liki9dYgDnxyujSrjsHasHdvDORUJS4mff9676/XqsQXlE+BxCoPVvUOdyOdhX+YPG8s1FEjpyzRxFBD+HWJH5mzI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471492; 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=Q4OsjleNRysLm7KOq87H/DSoQ5NAUdhx5FlGRkHBmXU=; b=av6Ac2EA7dD9KLG/3njUW/dzdOk8YKAHa1iqr5d84Dxyj7USYryTTstYQ1q1lqdJGl3uEjDPh2mndsTzGP2Sv5U0eMrbUTcZDBvoX2RQTrcRgSaK/Fx41DGP7dHF8MsYdlylSOjWYJwBRQvoModv0CMvk6LU6FGjI+9VBE4lpOo= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471491907353.8504054846328; Tue, 15 Sep 2026 04:24:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RHC-00083z-CR; Tue, 15 Sep 2026 07:24:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RGw-00081e-7B for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24: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 1x6RGu-0001nZ-LF for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:21 -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-676-7fsPCpGtP7SYo29qwT6WHg-1; Tue, 15 Sep 2026 07:24:16 -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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id DC1A4197752F; Tue, 15 Sep 2026 11:24:15 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 51EF81956045; Tue, 15 Sep 2026 11:24:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471460; 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=Q4OsjleNRysLm7KOq87H/DSoQ5NAUdhx5FlGRkHBmXU=; b=FN0T+XpaWpelfs/UP8grJQFOXJBo/d5ZH840ov48lE0tQNY/N60+bdF5Yr1o4XtRLJvi94 O5mT8hHxsXY9fcgSqF4SUbNY1ch7cIm9HSY+ttTBs9roBkrqNEnF5IOBDf2dJG5z3Uca40 fzMMnbCeBJMQga6yTH/qM5mF3Ibgwl0= X-MC-Unique: 7fsPCpGtP7SYo29qwT6WHg-1 X-Mimecast-MFC-AGG-ID: 7fsPCpGtP7SYo29qwT6WHg_1789471456 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 07/19] qga/vss-win32: free bstrWriterName in outer writer loop Date: Tue, 15 Sep 2026 14:23:25 +0300 Message-ID: <20260915112337.43307-8-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kkostiuk@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1789471494174158501 From: Marc-Andr=C3=A9 Lureau bstrWriterName is obtained from GetIdentity in the outer writer loop, but freed inside the inner component loop. When a writer has multiple components, the second and subsequent iterations operate with a NULL bstrWriterName. If an error occurs in those iterations, the error message passes NULL Move SysFreeString(bstrWriterName) to the end of the outer loop where it belongs. Fixes: b39297aedfab ("qemu-ga: Add Windows VSS provider and requester as DL= L") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-5-86456ad356e2@red= hat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/requester.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp index 52176d7512..b9269acb5b 100644 --- a/qga/vss-win32/requester.cpp +++ b/qga/vss-win32/requester.cpp @@ -230,11 +230,11 @@ static void AddComponents(ErrorSet *errset) goto out; } } - SysFreeString(bstrWriterName); - bstrWriterName =3D NULL; pComponent->FreeComponentInfo(info); info =3D NULL; } + SysFreeString(bstrWriterName); + bstrWriterName =3D NULL; } out: if (bstrWriterName) { --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471575; cv=none; d=zohomail.com; s=zohoarc; b=JovhCTmfN7AKUN12gl0aHYUYShu5n6lQzVW+HKMT/TTTmnDEwU/Fs5LdAUdgx2uilDQYWArYNCcYLU1Pb3usX/pi7BEbLbN0kNj2y2VoQRqqu2IS9gca4PzUmJGSsNd80iYEUJ8e7HcqU48532Vahhkqy9s12Y71waXwPMpFmWY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471575; 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=nDU8Nf3PN2nt/80mktXZ65jseqymqDvwkY8qN5gzF1Q=; b=cfSKIKf9mSacUAypE2YdarkDTZZEFL0D7bKypUb30nTCbHzoVHcXVLXEX8gA06bYfkfH3qvYqOH9twVrnSSN6euc5cwU6inxkDtI6HNYwraKtlv3VyPUQLhyWXjIiAVLQj4keVFgCA9lQ2qnhib4CBNhhngcC6S8BaRaNoBS410= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471575334675.9188503489881; Tue, 15 Sep 2026 04:26:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RHH-0008K1-9S; Tue, 15 Sep 2026 07:24:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RGw-00081f-Dd for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24: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 1x6RGu-0001nc-Tm for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:22 -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-684-4qvSBo_vPDa9S98a20uLhQ-1; Tue, 15 Sep 2026 07:24:18 -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-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 039D71800762; Tue, 15 Sep 2026 11:24:18 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 471C31956045; Tue, 15 Sep 2026 11:24:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471460; 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=nDU8Nf3PN2nt/80mktXZ65jseqymqDvwkY8qN5gzF1Q=; b=MxTstWt69md04dt4RreLX+EAnRAuV01XNFF/HdymhaTrhcEulS/IcaS9ee8SrLoNqgbv+4 LoDusLRKC7rRhh4byhTQxPvfXVykuK7ROispyVpbSTIFhWMjlCfcgnIy24mDZj+XLoan1H qkBTrh00iofJzYsWdJ2hhOw374SuExQ= X-MC-Unique: 4qvSBo_vPDa9S98a20uLhQ-1 X-Mimecast-MFC-AGG-ID: 4qvSBo_vPDa9S98a20uLhQ_1789471458 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 08/19] qga/vss-win32: pass character count instead of byte count to volume APIs Date: Tue, 15 Sep 2026 14:23:26 +0300 Message-ID: <20260915112337.43307-9-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kkostiuk@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_H3=0.001, RCVD_IN_MSPIKE_WL=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: qemu development 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: 1789471576583158500 From: Marc-Andr=C3=A9 Lureau FindFirstVolumeW, FindNextVolumeW and GetVolumePathNamesForVolumeNameW expect a buffer length in characters, not bytes. Use ARRAYSIZE() to pass the correct character count. Fixes: b39297aedfab ("qemu-ga: Add Windows VSS provider and requester as DL= L") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-6-86456ad356e2@red= hat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/requester.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp index b9269acb5b..1fd73312ba 100644 --- a/qga/vss-win32/requester.cpp +++ b/qga/vss-win32/requester.cpp @@ -432,7 +432,7 @@ void requester_freeze(int *num_vols, void *mountpoints,= ErrorSet *errset) } =20 if (!mountpoints) { - volume =3D FindFirstVolumeW(short_volume_name, sizeof(short_volume= _name)); + volume =3D FindFirstVolumeW(short_volume_name, ARRAYSIZE(short_vol= ume_name)); if (volume =3D=3D INVALID_HANDLE_VALUE) { err_set(errset, hr, "failed to find first volume"); goto out; @@ -447,7 +447,7 @@ void requester_freeze(int *num_vols, void *mountpoints,= ErrorSet *errset) WCHAR volume_path_name[MAX_PATH]; if (GetVolumePathNamesForVolumeNameW( short_volume_name, volume_path_name, - sizeof(volume_path_name), NULL) && + ARRAYSIZE(volume_path_name), NULL) && *volume_path_name) { display_name =3D volume_path_name; } @@ -459,7 +459,7 @@ void requester_freeze(int *num_vols, void *mountpoints,= ErrorSet *errset) num_fixed_drives++; } if (!FindNextVolumeW(volume, short_volume_name, - sizeof(short_volume_name))) { + ARRAYSIZE(short_volume_name))) { FindVolumeClose(volume); break; } --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471554; cv=none; d=zohomail.com; s=zohoarc; b=Q1gZxM39/R1KMkbleiUUNWcXeat3x0sH63qRoUNhPAdjXUwAl3fB0QUVcgAQAKDyCXieJYRgO3qvvfFSjRObCQmjr4NVF2q2WgqeI6tzLAiVBY1IpiAcgMZrNsnOt/STdozwETrtGMNjmUWK/Mf5HwhReGPF2sOzPpEgEuH4sOw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471554; 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=pHeRAY3up/fCWfSMHTPhayN/XbpIkWUW5Lfa9WxRmzs=; b=eUzVX8cAPd/OxGppsCAe0Hvnpu7fPB5q8U03JvytmjR4NfLdXd9ZpbjgcGzKqcFhHH/G8IB9eM+cjIn2Ya89GWY7RBndLPsDKCQiF/QZTocUAtVC4iGzFLmfVzBsGGDrbcJKMs1yQd9Y1Hwyr6y0gGbDzp6T11QWWLgjyLB2T1k= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471554277431.7008416223789; Tue, 15 Sep 2026 04:25:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RHD-0008CK-Qg; Tue, 15 Sep 2026 07:24:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RH1-00082X-5M for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:27 -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 1x6RGx-0001nx-1B for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:24 -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-170-PHk0T4OsP8qWceRwGm33FQ-1; Tue, 15 Sep 2026 07:24:20 -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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id EE83419539BE; Tue, 15 Sep 2026 11:24:19 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 684501956045; Tue, 15 Sep 2026 11:24:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471462; 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=pHeRAY3up/fCWfSMHTPhayN/XbpIkWUW5Lfa9WxRmzs=; b=SH0b3vT0rCcvcA+b9m22fEqY6MVjhuax0Kn62HDE/TodRKzKNNTYOiAnV06WSh0CdMvRCo 786HojQE8YuxQvpelaBr2PeZcTegLkSz2CxU1RZaGQm5NfGdLe6ps8F9Ejfu1XXrVF9Ldc 6N/B/IUf40flHWmTifPHmbVzGfRVsy4= X-MC-Unique: PHk0T4OsP8qWceRwGm33FQ-1 X-Mimecast-MFC-AGG-ID: PHk0T4OsP8qWceRwGm33FQ_1789471460 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 09/19] qga/vss-win32: allow pceltFetched==NULL in IEnumObject::Next Date: Tue, 15 Sep 2026 14:23:27 +0300 Message-ID: <20260915112337.43307-10-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kkostiuk@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1789471554447158500 From: Marc-Andr=C3=A9 Lureau The COM IEnumXxx/IEnumUnknown::Next API allows callers to pass NULL for pceltFetched when celt is 1. Guard the write to prevent crashing. Fixes: b39297aedfab ("qemu-ga: Add Windows VSS provider and requester as DL= L") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-7-86456ad356e2@red= hat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/provider.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qga/vss-win32/provider.cpp b/qga/vss-win32/provider.cpp index 79906dcc24..377571b948 100644 --- a/qga/vss-win32/provider.cpp +++ b/qga/vss-win32/provider.cpp @@ -117,7 +117,9 @@ STDMETHODIMP_(ULONG) CQGAVSSEnumObject::Release() STDMETHODIMP CQGAVSSEnumObject::Next( ULONG celt, VSS_OBJECT_PROP *rgelt, ULONG *pceltFetched) { - *pceltFetched =3D 0; + if (pceltFetched) { + *pceltFetched =3D 0; + } return S_FALSE; } =20 --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471562; cv=none; d=zohomail.com; s=zohoarc; b=XsHT+D2/4b5X6irs+5BX3yXxJnjOaBxbSRpQe0jIencKXfTJBGdZkAEcZgaw8vzFtrEZvx8EgHu0I25sfTYMxOAVa9zljz+I2MMJvcBG++H6AZDfFYNlIE2Ap6LNCtlvdP+SCA7ie4ZV0btNHGYAvnE9iEC/lcIJDQ+hmHxCkt8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471562; 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=TYnX9mPK2x67ZDs6gPfEbMYlm/sJLO4I3WVtzVyPus4=; b=lW4iPRmc73MlthlZ++fxt+mtqo5ABxlcBAtx3YYmC0j8P1FYvFqaxIpVlzeJmBDle+6p0rPmoKQRmAtg+MTWTfBSKu+53LdGytgafq/dTryTZs/L3pdDFDjv6n/jLCxAQN3fVdrnLgo/ndvQTYjeYnD9pnTi5pFkc8Iqxd1HNcM= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471562610244.61417898075194; Tue, 15 Sep 2026 04:26:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RHI-0008Ns-QC; Tue, 15 Sep 2026 07:24:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RH2-000832-FF for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24: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 1x6RH1-0001oM-0I for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:28 -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-221-hcocvDFpMueGV8LLpMJRUw-1; Tue, 15 Sep 2026 07:24:23 -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-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 3856D1869D97; Tue, 15 Sep 2026 11:24:22 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 7D9A01956045; Tue, 15 Sep 2026 11:24:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471466; 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=TYnX9mPK2x67ZDs6gPfEbMYlm/sJLO4I3WVtzVyPus4=; b=B+NbJMXm7sfC8ujCT5FJxk1AJv6jU3w00S4aF5hUmoqwCgK+2anbzJnwBLuZIlB9C+jDON 27MpcZ9vTgJfiZQI5Q8TIWGF70YTXwkqPFyuFvW4eXuwTa0rmYIh6TlpZ+qy1IPQ8ZLDaP 7O7tQMQrQC0idcO798QbOvEXGJm0YEY= X-MC-Unique: hcocvDFpMueGV8LLpMJRUw-1 X-Mimecast-MFC-AGG-ID: hcocvDFpMueGV8LLpMJRUw_1789471462 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 10/19] qga/vss-win32: return an interface pointer for IID_IUnknown Date: Tue, 15 Sep 2026 14:23:28 +0300 Message-ID: <20260915112337.43307-11-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=kkostiuk@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_H2=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: qemu development 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: 1789471564498158500 From: Marc-Andr=C3=A9 Lureau CQGAVssProvider implements three COM interfaces, each with its own IUnknown base subobject. Returning the complete object address for IID_IUnknown relies on IVssSoftwareSnapshotProvider remaining the first base class. Return the IVssSoftwareSnapshotProvider subobject instead. This selects the canonical IUnknown identity without relying on the complete-object layout. Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-8-86456ad356e2@red= hat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/provider.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qga/vss-win32/provider.cpp b/qga/vss-win32/provider.cpp index 377571b948..44c3c74bd2 100644 --- a/qga/vss-win32/provider.cpp +++ b/qga/vss-win32/provider.cpp @@ -212,7 +212,8 @@ CQGAVssProvider::~CQGAVssProvider() STDMETHODIMP CQGAVssProvider::QueryInterface(REFIID riid, void **ppObj) { if (riid =3D=3D IID_IUnknown) { - *ppObj =3D static_cast(this); + *ppObj =3D static_cast( + static_cast(this)); AddRef(); return S_OK; } --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471503; cv=none; d=zohomail.com; s=zohoarc; b=QcoDxk3vkuOCAbd4XJY/xKfqFcc0onovc+SZi57+/JK0JfuX8tsSjbhgMSrGVCHQ2lJupdcXgWY//ldxECA1Wlg0/ZmoyC3oUVO04leSqJO1NBckN+O4QZiQFGC8l+JOKx32C7NGsYuxv4Dmpj4D6bgbTAbDZdyPT2G2qgGt76E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471503; 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=jloJXwFZRD6FL3VYyH1bTDaUCCcwl60wVrzdVoXKKM8=; b=RcUUTkvcKczBiQGvWQaE+7RfCCUOe60A12+b0dFHTP2k6HZqXDA91J/Bxjxkw8wTf01WFUSjhf6uaiY/xOpWgzd2oRuSDWj2pr16JDDWnyaG49I8VG6yNG/doU0Mkm4kSeY10ti1RIIR2CzSXVanYw9wqYGqtrlyI3awGi2ENBw= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471503954700.4580076860598; Tue, 15 Sep 2026 04:25:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RHF-0008HS-FA; Tue, 15 Sep 2026 07:24:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RH3-000835-7y for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:30 -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 1x6RH1-0001oS-Kz for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:29 -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-154-mEefcD9kM264tk4FRmwFyw-1; Tue, 15 Sep 2026 07:24:25 -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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 8A4BC1955F2E; Tue, 15 Sep 2026 11:24:24 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 87AA51956045; Tue, 15 Sep 2026 11:24:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471466; 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=jloJXwFZRD6FL3VYyH1bTDaUCCcwl60wVrzdVoXKKM8=; b=OVnijIwb8+HLv+digBpjP42CMVXGF2jBXPpp40PRkNBJskK1ppTEqcODvC28aGrJcaZ33Z 6PCUM59CFr4nXGsSH5r9eLT3dKBWqKeV7FLkZvR5SeycXYbc09neAOSWWgsy7c6v2YcOkY Lrhq1oNkmJrgq/gn61hQWGe40h6nSxM= X-MC-Unique: mEefcD9kM264tk4FRmwFyw-1 X-Mimecast-MFC-AGG-ID: mEefcD9kM264tk4FRmwFyw_1789471464 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 11/19] qga/vss-win32: use GetLastError() after FindFirstVolumeW failure Date: Tue, 15 Sep 2026 14:23:29 +0300 Message-ID: <20260915112337.43307-12-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kkostiuk@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1789471504202158500 From: Marc-Andr=C3=A9 Lureau When FindFirstVolumeW fails, the error was reported using a stale HRESULT from a prior SetContext call instead of the actual Windows error. Use GetLastError() to report the correct failure reason. Fixes: 0692b03ee135 ("qga-win: add support for qmp_guest_fsfreeze_freeze_li= st") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-9-86456ad356e2@red= hat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/requester.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp index 1fd73312ba..d7907c2306 100644 --- a/qga/vss-win32/requester.cpp +++ b/qga/vss-win32/requester.cpp @@ -434,7 +434,7 @@ void requester_freeze(int *num_vols, void *mountpoints,= ErrorSet *errset) if (!mountpoints) { volume =3D FindFirstVolumeW(short_volume_name, ARRAYSIZE(short_vol= ume_name)); if (volume =3D=3D INVALID_HANDLE_VALUE) { - err_set(errset, hr, "failed to find first volume"); + err_set(errset, GetLastError(), "failed to find first volume"); goto out; } =20 --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471491; cv=none; d=zohomail.com; s=zohoarc; b=cIZ/fK2LNCUiht/gM/bU13JUfZYIyDKbMg6DMYIkmu1KK7EFoG5gWwMW4KfkWfkMwo3Q/6H+ivV9XNd3f6liN8hlDa21fT6LobNNOeHLAZCGsJQh8Li8DlRAyr0Y9SKSNGa4f48x8ibrQPT8Jm+/0HS2KtRy6ZYPkukrVc5HylA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471491; 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=tI/kBaH46/yvBz2vazGlWSqhJKRGjroOUfOcAtUpEyc=; b=eKfNwvjvOjuE3j0NTEoU99Ce1J1AeL2R5CP3r+j8oG2YrDqFa/sq+trt8EZu6NNxwTa1EnOt5r+K6f+PsZCAsxjXwP/oXg3US2lWQYM20TlZ2MgG4iv1DgdIuaTS7o3kDauLNbkZEZIZk+yugRKIe+0VVziXt0TNAC4dtiGqp5Q= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471491839476.23198413486557; Tue, 15 Sep 2026 04:24:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RHG-0008JH-7Z; Tue, 15 Sep 2026 07:24:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RH7-00083h-Vy for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:34 -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 1x6RH5-0001p0-BJ for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:33 -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-266-2xtlEKVpO8KZE2MAf1kMAg-1; Tue, 15 Sep 2026 07:24:27 -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-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 7FBF41945118; Tue, 15 Sep 2026 11:24:26 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id EE05A1956045; Tue, 15 Sep 2026 11:24:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471470; 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=tI/kBaH46/yvBz2vazGlWSqhJKRGjroOUfOcAtUpEyc=; b=JGf5NJlusOmva5UNR8IP+7eTtCZsYoCr8JoOv0Jo/SB7EdLToTmx+hDOg9pgEoftKR1Qq1 IdfwPK7vB33zQIdCuUR1b75dfn7QSm5FmA7IFzQ0d1fVTdus8CtQwegpCAI6dkekAcfZsi 1kHV/+YlLAsRvlzioO0kX6/X5fi41qM= X-MC-Unique: 2xtlEKVpO8KZE2MAf1kMAg-1 X-Mimecast-MFC-AGG-ID: 2xtlEKVpO8KZE2MAf1kMAg_1789471466 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 12/19] qga/vss-win32: guard CloseServiceHandle calls against NULL handles Date: Tue, 15 Sep 2026 14:23:30 +0300 Message-ID: <20260915112337.43307-13-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kkostiuk@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1789471494205158500 From: Marc-Andr=C3=A9 Lureau StopService() unconditionally calls CloseServiceHandle() on both the service and manager handles in the cleanup path, even when OpenSCManager() or OpenService() failed and the handles are NULL. Fixes: 917ebcb17027 ("qga-win: Fix QGA VSS Provider service stop failure") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-10-86456ad356e2@re= dhat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/install.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/qga/vss-win32/install.cpp b/qga/vss-win32/install.cpp index 12b045e207..9e8db79c12 100644 --- a/qga/vss-win32/install.cpp +++ b/qga/vss-win32/install.cpp @@ -597,8 +597,12 @@ STDAPI StopService(void) } =20 out: - CloseServiceHandle(service); - CloseServiceHandle(manager); + if (service) { + CloseServiceHandle(service); + } + if (manager) { + CloseServiceHandle(manager); + } qga_debug_end; return hr; } --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471557; cv=none; d=zohomail.com; s=zohoarc; b=mBSciXZlT2s+OXys9IH8WIBGFrgQ5eDxZZrQAJj19PcSDp5toBilyKUsrF+f+q5dHDKQY2MUstoh5A4b1Y20qS8x5aLWspkQCjpYKWNVAFgNkvajlN647kRTtw/UbJp94iuo1hxkEpM2Q9W0DJ12ckXrvr1nrRezi2ltJmy2i7E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471557; 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=i6Lqu51p+g8Crb8y3pHVjcEKuISYhyxXQzzUTGjr6/I=; b=XWIaHFHfKoIL3rQoTVvh2J8zxhL4V7jmv8oC/lfDEeSMdAIWiwcWoW5bHpZf5PKQnA2UUf1BH+3SFATV0UOMPyGpRoEqRBFsoypicQDdBnqVS+ri/mdjhMpiBadO9tYzMrKEhzUYQAUZL/dWCESpMPMATN4OM+eHxejzexMOs84= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471557489634.7865956979541; Tue, 15 Sep 2026 04:25:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RHH-0008Jw-1i; Tue, 15 Sep 2026 07:24:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RH9-00084D-Q8 for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:36 -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 1x6RH8-0001pG-7w for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:35 -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-563-lWTp0XOuPBCaU9YDbu4rfg-1; Tue, 15 Sep 2026 07:24:29 -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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 78E911956070; Tue, 15 Sep 2026 11:24:28 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E3D691956045; Tue, 15 Sep 2026 11:24:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471473; 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=i6Lqu51p+g8Crb8y3pHVjcEKuISYhyxXQzzUTGjr6/I=; b=U2giH2oJ/IwXLiItUZw5PrekXatbWyilkYUUmib4aPICzQHhLrk3LSLhEUfCezdi4+yF+6 lPcSEW7bC6iFweE02HHzeDFjZtDMvic24rnKbfF+5+qAWuRDg4bWlFsE9iPQpsRs2760L+ NmktK5UPvGxOFMlWggGkV3gHZl9ML6w= X-MC-Unique: lWTp0XOuPBCaU9YDbu4rfg-1 X-Mimecast-MFC-AGG-ID: lWTp0XOuPBCaU9YDbu4rfg_1789471468 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 13/19] qga/vss-win32: avoid CRT calls in DllMain debug logging Date: Tue, 15 Sep 2026 14:23:31 +0300 Message-ID: <20260915112337.43307-14-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=kkostiuk@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 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_H2=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1789471558437158500 From: Marc-Andr=C3=A9 Lureau qga_debug() uses vsnprintf, snprintf and fputs while DllMain holds the loader lock. CRT I/O can deadlock under the loader lock. Replace with direct OutputDebugStringA calls, which are safe to call from DllMain. Fixes: 61df91b33caf ("QGA VSS: Add log in functions begin/end") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-11-86456ad356e2@re= dhat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/provider.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qga/vss-win32/provider.cpp b/qga/vss-win32/provider.cpp index 44c3c74bd2..1c8eb236e5 100644 --- a/qga/vss-win32/provider.cpp +++ b/qga/vss-win32/provider.cpp @@ -536,11 +536,11 @@ BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReaso= n, LPVOID lpReserved); EXTERN_C BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID lpReserved) { - qga_debug("begin, reason =3D %lu", dwReason); + OutputDebugStringA(QGA_PROVIDER_NAME ": DllMain begin\n"); if (dwReason =3D=3D DLL_PROCESS_ATTACH) { g_hinstDll =3D hinstDll; DisableThreadLibraryCalls(hinstDll); } - qga_debug_end; + OutputDebugStringA(QGA_PROVIDER_NAME ": DllMain end\n"); return TRUE; } --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471492; cv=none; d=zohomail.com; s=zohoarc; b=PhAgxR9vKTnX6bcB2NpzSiyOwfA8VjnBrvI+rciHNHglQPr2/Bg7i+/wRB+oZiY0J7WnmC3kDcc+pxdpVZsfQCMda1JthIWHOJnfKtR3G17EsBmpk45hs7r3Qtc/8UdrsfynUHWtfSG0pOLSFjHijghr3eFylLwHhoToJH/KUhc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471492; 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=pPSdsN6SIfE5yvuY+AN6/ufI52VlrwO620ehIh7QivA=; b=lVKnIbjSNk3ai3Qroi2EoY4o3vmkG1ow8iltuMvCkFosL1qu8XYbv/yHznFfdcaJFwdTXJ+j973JU+LerJhN8+FoGhoGfnEwzG7TjQnahU8+RvmK/qAeGEFRfQ60G31vQQDJx0X2MZMr+1nIOnRozkG4ZXwKHTne2CpafqCSg7M= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471492630408.2690818792928; Tue, 15 Sep 2026 04:24:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RHF-0008Hn-Jt; Tue, 15 Sep 2026 07:24:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RHA-00084P-SO for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:38 -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 1x6RH9-0001pP-79 for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:36 -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-422-sk6E1SdoNpeFsSx3hIkHag-1; Tue, 15 Sep 2026 07:24:31 -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-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 7189E1800845; Tue, 15 Sep 2026 11:24:30 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id DE9071956045; Tue, 15 Sep 2026 11:24:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471474; 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=pPSdsN6SIfE5yvuY+AN6/ufI52VlrwO620ehIh7QivA=; b=HND5VSrBg6b/qvLIEkRTMMxG3VbgyotdKJdBwru/2A6VblDo8mT06m0AaZPThR+z6c0AuI w8vlRwEDHZo49gzXk2SnG7DcEbqWyW2USWD9sRWazpDrinqSSrrPKthWCUXBvPYSIRYACW V5aU+l//c0uHtGnrAQcpSmfJyNJjF2A= X-MC-Unique: sk6E1SdoNpeFsSx3hIkHag-1 X-Mimecast-MFC-AGG-ID: sk6E1SdoNpeFsSx3hIkHag_1789471470 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 14/19] qga/vss-win32: evaluate err_set() macro argument only once Date: Tue, 15 Sep 2026 14:23:32 +0300 Message-ID: <20260915112337.43307-15-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kkostiuk@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_H3=0.001, RCVD_IN_MSPIKE_WL=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: qemu development 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: 1789471494186158500 From: Marc-Andr=C3=A9 Lureau The err_set macro expands its 'err' parameter three times. When callers pass GetLastError(), the Win32 error code is fetched on each expansion and may change between evaluations, since the intervening function calls can reset the thread's last-error value. Capture the argument in a local DWORD once and reference that throughout the macro body. Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-12-86456ad356e2@re= dhat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/requester.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp index d7907c2306..e3a15f83bf 100644 --- a/qga/vss-win32/requester.cpp +++ b/qga/vss-win32/requester.cpp @@ -27,10 +27,11 @@ #define DEFAULT_VSS_BACKUP_TYPE VSS_BT_FULL =20 #define err_set(e, err, fmt, ...) { = \ + DWORD _e =3D (DWORD)(err); = \ (e)->error_setg_win32_wrapper((e)->errp, __FILE__, __LINE__, __func__,= \ - err, fmt ": Windows error 0x%lx", = \ - ## __VA_ARGS__, err); = \ - qga_debug(fmt ": Windows error 0x%lx", ## __VA_ARGS__, err); = \ + _e, fmt ": Windows error 0x%lx", = \ + ## __VA_ARGS__, _e); = \ + qga_debug(fmt ": Windows error 0x%lx", ## __VA_ARGS__, _e); = \ } /* Bad idea, works only when (e)->errp !=3D NULL: */ #define err_is_set(e) ((e)->errp && *(e)->errp) --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471574; cv=none; d=zohomail.com; s=zohoarc; b=PAyVqlWQKqIwrVpAEooE4WB9/nM/LBm3M5yPKaS2B8FsmcOH87sZboHgwsxAuaetf0czC8Tz0NjzvJsjgFYt5WREnSNgpJdKnkGV8tdYQXws2b+p+FFTxY3+sUbdtseiMxgzGpo9/sgwl+UFdapfRwbNC81N+zVBmMvtjokkHH8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471574; 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=d79WJLQuKUsAPuMtMy3+aXdCjC3ZVQbUOUzNIZmC+GU=; b=Be4HrIAbtOEkULLRusYte6HfJIcgiI/PZZeTxESDb+00HLxI27J1EFg6VSbOBnp6RF7DDx7FLISr5omXzsJzrwQVlrJoOJrtYAHwex/x66eL5lbStp71T3Py7wRpvLPjN+o9bAo+NzJm1nxFJYuJ8iPJCx1UWyna9srx1PyjtMg= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471574346400.7300659048832; Tue, 15 Sep 2026 04:26:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RHI-0008Ng-QZ; Tue, 15 Sep 2026 07:24:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RHC-00086E-FN for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:38 -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 1x6RH9-0001pY-Ik for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:37 -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-488-kHGIOs49MDGYknDwmtsIUA-1; Tue, 15 Sep 2026 07:24:33 -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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 7CDE9195DE75; Tue, 15 Sep 2026 11:24:32 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id D65591956045; Tue, 15 Sep 2026 11:24:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471475; 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=d79WJLQuKUsAPuMtMy3+aXdCjC3ZVQbUOUzNIZmC+GU=; b=GbbP3qwaRdbpav6wOwNizJSsZ8lCyfm0astAC1qI0FlbwCAF2EOGQ53nT4d6qKVyME8v5g zYj11fNYkpbnyMENO6w+6KJGe7nrn8XigEK8Mm00B0c2/xlgNfzCwOikbQlCFzpX5TaMxz xS6YssKc6iSdfIqAR5rhS6BCn73QOyk= X-MC-Unique: kHGIOs49MDGYknDwmtsIUA-1 X-Mimecast-MFC-AGG-ID: kHGIOs49MDGYknDwmtsIUA_1789471472 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 15/19] qga/vss-win32: report QueryStatus return value on failure Date: Tue, 15 Sep 2026 14:23:33 +0300 Message-ID: <20260915112337.43307-16-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kkostiuk@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1789471574539158501 From: Marc-Andr=C3=A9 Lureau When IVssAsync::QueryStatus fails, the error was reported using its output parameter `hr` rather than its return value `hr2`. Since the output parameter is not guaranteed to be written on failure, this could report a stale or uninitialized HRESULT, masking the actual error. Fixes: b39297aedfab ("qemu-ga: Add Windows VSS provider and requester as DL= L") Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-13-86456ad356e2@re= dhat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/requester.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp index e3a15f83bf..b3daa060ac 100644 --- a/qga/vss-win32/requester.cpp +++ b/qga/vss-win32/requester.cpp @@ -506,7 +506,7 @@ void requester_freeze(int *num_vols, void *mountpoints,= ErrorSet *errset) for (i =3D 0; i < VSS_TIMEOUT_FREEZE_MSEC/VSS_TIMEOUT_EVENT_MSEC; i++)= { HRESULT hr2 =3D vss_ctx.pAsyncSnapshot->QueryStatus(&hr, NULL); if (FAILED(hr2)) { - err_set(errset, hr, "failed to do snapshot set"); + err_set(errset, hr2, "failed to query snapshot set status"); goto out; } if (hr !=3D VSS_S_ASYNC_PENDING) { --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471557; cv=none; d=zohomail.com; s=zohoarc; b=WEaJRJqxTzwp+IegbVgpXmA9LPqva9bd4563foh00Wi+ITf8SCE85tBYZJGJHeRVh6gLJ0uXU2tavvAsmHxhiOEoL+JA/fbYMfhISQiirjKQd/gco7csevPUB6J9hJF/5WJxFlv0m0P080RZ9Qpn/tioeWgBr+u/E34V3lEbmYE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471557; 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=13yTLm5brikKpqrnLL3A85YqWuKvAGicciGZdgduuKw=; b=ev1moJ5Vv8jfzXxIWgU6zdcoKVVT9NhibefwjBDcCojX3QBhEyBlx2lcGgPCGrW6F9pGpoj52nGTIpxHsxgG4Gf1Q4eMMNzXTAyUqmT9HdvQ11wgJWaXNjXnSpwWAakS7g2hhm0cKafNmzONA5cYL3+uSuHpBWXIznX9R3NCbR0= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471557970861.520698316808; Tue, 15 Sep 2026 04:25:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RHH-0008KD-M2; Tue, 15 Sep 2026 07:24:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RHE-0008D7-1m for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:40 -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 1x6RHC-0001pv-3l for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:39 -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-630-kezkAa7dOEO39tE5HXpQNw-1; Tue, 15 Sep 2026 07:24:35 -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-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 8A9981955D59; Tue, 15 Sep 2026 11:24:34 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id CCFA41956045; Tue, 15 Sep 2026 11:24:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471476; 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=13yTLm5brikKpqrnLL3A85YqWuKvAGicciGZdgduuKw=; b=Tjr3lLkERtY0F5rSdudX7AlrYe8ffp/EwOQDyv8tKdxTXPjlSufYbelqn8N0zziBE0WZOz sxaT5k81XDYpDnKRI4GeTK7w0vJ54a7uhMn8DXwM3RDhe6Zpr50y0gC6EuVbT9hIa5vdEd 7R0OiZzm9RgS/0fp9QOy5LXqpdMy9IU= X-MC-Unique: kezkAa7dOEO39tE5HXpQNw-1 X-Mimecast-MFC-AGG-ID: kezkAa7dOEO39tE5HXpQNw_1789471474 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 16/19] qga/vss-win32: check GetLastError() after FindNextVolumeW failure Date: Tue, 15 Sep 2026 14:23:34 +0300 Message-ID: <20260915112337.43307-17-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kkostiuk@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1789471558436158500 From: Marc-Andr=C3=A9 Lureau FindNextVolumeW returning FALSE can mean either normal end of enumeration (ERROR_NO_MORE_FILES) or an actual error. The code treated both cases as end-of-list, silently skipping any remaining volumes on a real failure. Distinguish the two by checking GetLastError(). Fixes: b39297aedfab ("qemu-ga: Add Windows VSS provider and requester as DL= L") Signed-off-by: Marc-Andr=C3=A9 Lureau Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-14-86456ad356e2@re= dhat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/requester.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp index b3daa060ac..f14c47f9f7 100644 --- a/qga/vss-win32/requester.cpp +++ b/qga/vss-win32/requester.cpp @@ -461,6 +461,13 @@ void requester_freeze(int *num_vols, void *mountpoints= , ErrorSet *errset) } if (!FindNextVolumeW(volume, short_volume_name, ARRAYSIZE(short_volume_name))) { + DWORD err =3D GetLastError(); + if (err !=3D ERROR_NO_MORE_FILES) { + err_set(errset, err, + "failed to find next volume"); + FindVolumeClose(volume); + goto out; + } FindVolumeClose(volume); break; } --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471522; cv=none; d=zohomail.com; s=zohoarc; b=fzPSDxryBz+ag69IqNvWN2kXxvk9r1EFiep+TT/FpLeHZOpX30ls1R11SaPmtKTfjOIQmUcKWiaTwbFxIbbRoH/qsdujp1JGvJcxydXNsW9MetsgcXVzX7HZk8u++l4Q+U5vAl/K4GpsceNXcevFoGB3d3g15C4ZKgDC9maTYr0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471522; 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=/D1CSJj4qg9OTM53Xadj1ubFr9znaorvqbRtVhhmNAw=; b=MspOMQFkqgYgpnFqruV2pCw/OCI14mpxVaYtV19lAZ5eOxWqBjym1wQvHY+Hqq+mT5xZrgK65Wk272An3ccjh4wY+49iI9938EJwko4nNOxBPgloWEEqGH1BtwSjCwyHqeq7WoVF7xFmeFUUiWMIu51fr3KrWLHnDEBfdfPpNsw= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471522886579.1755915649796; Tue, 15 Sep 2026 04:25:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RHK-0008Rw-4x; Tue, 15 Sep 2026 07:24:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RHH-0008Jz-3h for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:43 -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 1x6RHF-0001qZ-Ff for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:42 -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-296-d0ANVsgsPM6oRh34ZK1o2A-1; Tue, 15 Sep 2026 07:24:37 -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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 80C241964CCE; Tue, 15 Sep 2026 11:24:36 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id EFA291956045; Tue, 15 Sep 2026 11:24:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471480; 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=/D1CSJj4qg9OTM53Xadj1ubFr9znaorvqbRtVhhmNAw=; b=Rwo9SYS9vsvPDU8A7VDU00zNPRv61/gIqZQy2WGItRk/Pd9c9JJcV3XiRD5IBY71AdQAF8 ORU0tF10AyhUA0I950D/WpEdPctw28UiToBbuEJC+A98YSJSSXncD1KV2wI2BufGp/XQhJ jLgN+c8b5G0Mx6xnFDQ1ykGwCU1zs9Q= X-MC-Unique: d0ANVsgsPM6oRh34ZK1o2A-1 X-Mimecast-MFC-AGG-ID: d0ANVsgsPM6oRh34ZK1o2A_1789471476 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 17/19] qga/vss-win32: initialize *num_vols at start of requester_freeze Date: Tue, 15 Sep 2026 14:23:35 +0300 Message-ID: <20260915112337.43307-18-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kkostiuk@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1789471524314158500 From: Marc-Andr=C3=A9 Lureau Initialize *num_vols to 0 at the top of requester_freeze() so all error paths and zero-volume early exits return a defined value to the caller. Previously, only the already-frozen path and the success path set *num_vols; every goto-out error path left it indeterminate. The sole caller is qga_vss_freeze(), which already sets *nr_volume =3D 0. Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-15-86456ad356e2@re= dhat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/requester.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp index f14c47f9f7..d36a90c17d 100644 --- a/qga/vss-win32/requester.cpp +++ b/qga/vss-win32/requester.cpp @@ -306,8 +306,9 @@ void requester_freeze(int *num_vols, void *mountpoints,= ErrorSet *errset) int num_mount_points =3D 0; VSS_BACKUP_TYPE vss_bt =3D get_vss_backup_type(); =20 + *num_vols =3D 0; + if (vss_ctx.pVssbc) { /* already frozen */ - *num_vols =3D 0; qga_debug("finished, already frozen"); return; } --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471552; cv=none; d=zohomail.com; s=zohoarc; b=L4sCmfi+Vir7ShYwpDsyLkLpyNBzfAy+soTAagKj+IJqGSd7b+tLCoX+6PnuLuYdSsP33jV22pBqBcliha9R6a19/6Bs+8VT1tT8kwo3P7ORyu/zTM4HngRjQ+0O7d00VrjmhXr+9lbIPayDQviFQ6SgfUMnQOh2mnBOdJ6o5dU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471552; 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=yqIBFZngfcTGR4vOmOjvGoM6AErrj1Ho2k4OMoq6+4w=; b=PJ2U/yl8t2afeCxdLPA8teOCuR3/ehqtTwfgVQCQ7NyWV61njbc09AE2twsIM2bdWi/BmGDlUaClYGF5ZYetP6r6lCz6pCxo0IZBE3zdPKrrulIwoBVGYxt9GTGT4qseLhVZq2xaXuMgVjwb2kDGw3WmaSYftyUrbCblQ3fnyUs= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178947155221046.47742826656679; Tue, 15 Sep 2026 04:25:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RHK-0008Rd-3k; Tue, 15 Sep 2026 07:24:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RHI-0008Nf-4u for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:44 -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 1x6RHG-0001qf-6R for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:43 -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-659-4h8SQIqJO5i8SJofXyN9BA-1; Tue, 15 Sep 2026 07:24:39 -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-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 774B01869D9C; Tue, 15 Sep 2026 11:24:38 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E66D8195604C; Tue, 15 Sep 2026 11:24:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471481; 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=yqIBFZngfcTGR4vOmOjvGoM6AErrj1Ho2k4OMoq6+4w=; b=JSFLaVz8xnmpl9b8cWBESUKCYePm17sofGlGKIx+UPxdB6GHL4l/IcQvmAtD7xZ8o1MFKD yqMMvuUdlrwBiL0Q+pxIyCOy+lemfgunzVeoXcFBeN5/hMbDKcn9EbEcGt2qyMXu7MrdNi JHFbOmLsAb4v0Os0UANCjR8pXrPFLAM= X-MC-Unique: 4h8SQIqJO5i8SJofXyN9BA-1 X-Mimecast-MFC-AGG-ID: 4h8SQIqJO5i8SJofXyN9BA_1789471478 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Kostiantyn Kostiuk Subject: [PULL 18/19] qga/vss-win32: restrict access to freeze/thaw synchronisation events Date: Tue, 15 Sep 2026 14:23:36 +0300 Message-ID: <20260915112337.43307-19-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=kkostiuk@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_H2=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: qemu development 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: 1789471554490158500 From: Marc-Andr=C3=A9 Lureau The freeze, thaw and timeout events were created with a NULL DACL, granting unrestricted access. Any local process could open and signal them, allowing an unprivileged guest process to trigger a filesystem freeze or premature thaw. Replace the NULL DACL with an explicit ACL that grants EVENT_ALL_ACCESS only to SYSTEM and the built-in Administrators group, which are the accounts under which the VSS service and qemu-ga operate. Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-16-86456ad356e2@re= dhat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/requester.cpp | 52 ++++++++++++++++++++++++++++++++++--- 1 file changed, 49 insertions(+), 3 deletions(-) diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp index d36a90c17d..1b0155c691 100644 --- a/qga/vss-win32/requester.cpp +++ b/qga/vss-win32/requester.cpp @@ -17,6 +17,7 @@ #include "install.h" #include #include +#include =20 /* Max wait time for frozen event (VSS can only hold writes for 10 seconds= ) */ #define VSS_TIMEOUT_FREEZE_MSEC 60000 @@ -298,10 +299,14 @@ void requester_freeze(int *num_vols, void *mountpoint= s, ErrorSet *errset) HRESULT hr; LONG ctx; GUID guidSnapshotSet =3D GUID_NULL; + SID_IDENTIFIER_AUTHORITY sia_nt =3D SECURITY_NT_AUTHORITY; + PSID pSidSystem =3D NULL, pSidAdmins =3D NULL; SECURITY_DESCRIPTOR sd; SECURITY_ATTRIBUTES sa; + EXPLICIT_ACCESS ea[2]; + PACL pAcl =3D NULL; WCHAR short_volume_name[64], *display_name =3D short_volume_name; - DWORD wait_status; + DWORD wait_status, aclResult; int num_fixed_drives =3D 0, i; int num_mount_points =3D 0; VSS_BACKUP_TYPE vss_bt =3D get_vss_backup_type(); @@ -313,9 +318,48 @@ void requester_freeze(int *num_vols, void *mountpoints= , ErrorSet *errset) return; } =20 - /* Allow unrestricted access to events */ + /* Grant access to SYSTEM and Administrators only */ + if (!AllocateAndInitializeSid(&sia_nt, 1, + SECURITY_LOCAL_SYSTEM_RID, 0, 0, 0, 0, 0, 0, 0, + &pSidSystem)) { + err_set(errset, GetLastError(), "failed to create SYSTEM SID"); + goto out; + } + if (!AllocateAndInitializeSid(&sia_nt, 2, + SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, + 0, 0, 0, 0, 0, 0, &pSidAdmins)) { + DWORD err =3D GetLastError(); + FreeSid(pSidSystem); + err_set(errset, err, "failed to create Administrators SID"); + goto out; + } + + ZeroMemory(&ea, sizeof(ea)); + ea[0].grfAccessPermissions =3D EVENT_ALL_ACCESS; + ea[0].grfAccessMode =3D SET_ACCESS; + ea[0].grfInheritance =3D NO_INHERITANCE; + ea[0].Trustee.TrusteeForm =3D TRUSTEE_IS_SID; + ea[0].Trustee.TrusteeType =3D TRUSTEE_IS_WELL_KNOWN_GROUP; + ea[0].Trustee.ptstrName =3D (LPTSTR)pSidSystem; + ea[1].grfAccessPermissions =3D EVENT_ALL_ACCESS; + ea[1].grfAccessMode =3D SET_ACCESS; + ea[1].grfInheritance =3D NO_INHERITANCE; + ea[1].Trustee.TrusteeForm =3D TRUSTEE_IS_SID; + ea[1].Trustee.TrusteeType =3D TRUSTEE_IS_WELL_KNOWN_GROUP; + ea[1].Trustee.ptstrName =3D (LPTSTR)pSidAdmins; + + aclResult =3D SetEntriesInAcl(2, ea, NULL, &pAcl); + if (aclResult !=3D ERROR_SUCCESS) { + FreeSid(pSidSystem); + FreeSid(pSidAdmins); + err_set(errset, aclResult, "failed to create ACL for events"); + goto out; + } + FreeSid(pSidSystem); + FreeSid(pSidAdmins); + InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION); - SetSecurityDescriptorDacl(&sd, TRUE, NULL, FALSE); + SetSecurityDescriptorDacl(&sd, TRUE, pAcl, FALSE); sa.nLength =3D sizeof(sa); sa.lpSecurityDescriptor =3D &sd; sa.bInheritHandle =3D FALSE; @@ -551,6 +595,7 @@ void requester_freeze(int *num_vols, void *mountpoints,= ErrorSet *errset) } =20 qga_debug("end successful"); + LocalFree(pAcl); return; =20 out: @@ -559,6 +604,7 @@ out: } =20 out1: + LocalFree(pAcl); requester_cleanup(); =20 qga_debug_end; --=20 2.55.0 From nobody Sun Sep 27 23:50:18 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=1789471498; cv=none; d=zohomail.com; s=zohoarc; b=gWNM/piBfJSiwKaEDDhRQG5RAc87FiRGyVxhNhVdZZlJFOXv/HfPQqhzHZsHJ9uMocXNDjdKy0IwbT7OpLkxmiOopplg8K6qNVXXKEc2yLFkYveYVBySIlGJ7REqAmI3NGGiCpruTD+ZiKRIxAbdEdLeqUPjlLr2EKeEuF2jmHA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789471498; 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=yDvZwmKlTunqeDY7rGJtKtMmu91abbeCHQ5f/F885LM=; b=OXgGA7EKeqUor3JYM2SBxIqqQDJpXqrHXClQ4R+WxyFimCAG9pERt5sTm2viXvnr/DmpWMrFSUQU2vef5d0Zqbmw02wLnclLsxeLykdz0zK4WScgOwLLFHezo6+O8JbETncxm83c54zT4KlPNrDShs0p9F7eQB/x5HuKAkSJ4Kg= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789471498574575.8941019901656; Tue, 15 Sep 2026 04:24:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x6RHM-0008Ud-Kg; Tue, 15 Sep 2026 07:24:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x6RHJ-0008QV-Ey for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:45 -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 1x6RHH-0001r2-Js for qemu-devel@nongnu.org; Tue, 15 Sep 2026 07:24:45 -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-182-CwSKfApZNxeiW0Jjli7NzA-1; Tue, 15 Sep 2026 07:24:41 -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-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 9BD2F19540ED; Tue, 15 Sep 2026 11:24:40 +0000 (UTC) Received: from srv1.redhat.com (unknown [10.44.49.17]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id DC9621956045; Tue, 15 Sep 2026 11:24:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1789471483; 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=yDvZwmKlTunqeDY7rGJtKtMmu91abbeCHQ5f/F885LM=; b=bGDi+CWxADt8y/8yTl+nLXviwvk07SVJXnp0f9u3+u/1/eR8q04zKng13xl8vMiBVbuKyb Z1B9H4LgOmyEjPmejv5Nh1jUZKxD4MmXv8OaRKuQXRzTci85H6nnUlrCe4dSk/cz8t3yje kUn7h5VGCHBhgVmman4kxWm/VeEmNXo= X-MC-Unique: CwSKfApZNxeiW0Jjli7NzA-1 X-Mimecast-MFC-AGG-ID: CwSKfApZNxeiW0Jjli7NzA_1789471480 From: Kostiantyn Kostiuk To: qemu-devel@nongnu.org, Peter Maydell , Stefan Hajnoczi Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Konstantin Kostiuk Subject: [PULL 19/19] qga/vss-win32: log to file during COM+ registration Date: Tue, 15 Sep 2026 14:23:37 +0300 Message-ID: <20260915112337.43307-20-kkostiuk@redhat.com> In-Reply-To: <20260915112337.43307-1-kkostiuk@redhat.com> References: <20260915112337.43307-1-kkostiuk@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=lists1p.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=kkostiuk@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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: 1789471500195158500 From: Marc-Andr=C3=A9 Lureau COMRegister and COMUnregister are invoked both from the MSI installer (via DLLCOMRegister/rundll32) and from qemu-ga -s vss-install, where stderr is typically not visible. Redirect stderr to %SystemRoot%\Temp\qga-vss-install.log so that qga_debug output is captured for post-install troubleshooting. Suggested-by: Konstantin Kostiuk Signed-off-by: Marc-Andr=C3=A9 Lureau Reviewed-by: Kostiantyn Kostiuk Link: https://lore.kernel.org/qemu-devel/20260907-qga-v1-17-86456ad356e2@re= dhat.com Signed-off-by: Kostiantyn Kostiuk --- qga/vss-win32/install.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/qga/vss-win32/install.cpp b/qga/vss-win32/install.cpp index 9e8db79c12..09d94edd4f 100644 --- a/qga/vss-win32/install.cpp +++ b/qga/vss-win32/install.cpp @@ -241,10 +241,27 @@ out: return hr; } =20 +static void qga_vss_open_log(void) +{ + char path[MAX_PATH]; + UINT n; + + n =3D GetSystemWindowsDirectoryA(path, sizeof(path)); + if (n =3D=3D 0 || n >=3D sizeof(path)) { + return; + } + snprintf(path + n, sizeof(path) - n, + "\\Temp\\qga-vss-install.log"); + if (freopen(path, "a", stderr)) { + setvbuf(stderr, NULL, _IONBF, 0); + } +} + /* Unregister this module from COM+ Applications Catalog */ STDAPI COMUnregister(void); STDAPI COMUnregister(void) { + qga_vss_open_log(); qga_debug_begin; =20 HRESULT hr; @@ -260,6 +277,7 @@ out: STDAPI COMRegister(void); STDAPI COMRegister(void) { + qga_vss_open_log(); qga_debug_begin; =20 HRESULT hr; --=20 2.55.0