From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (mail.openvz.org [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id AD3518045D for ; Fri, 30 Oct 2026 14:51:09 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69UEnpBh014308; Fri, 30 Oct 2026 17:49:51 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69UEnpBh014308 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="rY4Vs5B/" Received: from mail-yx1-f69.google.com (mail-yx1-f69.google.com [74.125.224.69]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69UEnjog014291 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Fri, 30 Oct 2026 17:49:45 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69UEnjog014291 Received: by mail-yx1-f69.google.com with SMTP id 956f58d0204a3-677d93efa20so1363364d50.1 for ; Fri, 30 Oct 2026 07:49:45 -0700 (PDT) X-Gm-Message-State: AFq9FYLqvn6b8pIU+4ikfNXI7xNRQS+q3ZRNzNLcR9li5lAQxdxgoNQn WB4+QYijvSAnXTaoxEEFQxgheH9GyCDzO0V/FYo3TyFA8OiWz0SQHDNFvFH/MoYp1O+57ovsTSh B+ppVDVi152D7sHx5pRSD7CWccq2y6JOHqB6IrHN/G/AaGqOX0i87vw== X-Gm-Gg: AYBFou0BYgVE1nnmANz6qILAxBkQNFI+yhrfu4d5/bWveKbz2hEEVT+SMPs+g4XpMG2 8sS3+Cq5a26PW5WzV8WNtn2zc2yzQwVuBaQAd9T5YdJCms176TehQZM8MQQfJ/CirTOWnbdOEYe M1ZL16wm7AuWe9PxqbUe0o2ean5qNmJAYvP+/TAh6n5NZSjtqQLv6bh5u+VZ5mP68vG9hlqeKgw tqKkMlvx7iFY+OzdYgUTu5hxBeE24BVwDkhgAWGEkoLh7Wm9bq2Z8+eEydKhg/u4QIpT9mDJ37J Drgyt4cz+eUegsKs7knwdkpHJRTYi44g5Lh+Y4uXI4M0Aob20KQ0p107Czap3oEQo2f3g99RI3G rKvrsvCcQoMuk8iaYgX4tXzdAB3QoUxCxBhgUZ/iHI+z+196LDggld4X0SQ4DsFRf8shus2qDyq qTR0W46PWAwyQcd2XhrsMqVaTSHMCeknc= X-Received: by 2002:a05:690e:1348:b0:679:9e90:a985 with SMTP id 956f58d0204a3-67ba4f65a3fmr1469406d50.51.1793371784638; Fri, 30 Oct 2026 07:49:44 -0700 (PDT) X-Received: by 2002:a05:690e:1348:b0:679:9e90:a985 with SMTP id 956f58d0204a3-67ba4f65a3fmr1469379d50.51.1793371783923; Fri, 30 Oct 2026 07:49:43 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1793371783; cv=pass; d=google.com; s=arc-20260327; b=PWEtr+aZoTO4dHPLapX+jaRr0fVC8H9LqDd32yO3fRMdXb1OUoWLNKLQFy7NYchXq2 Kc/T/xLkc9nVHkhhnOLtpA2ohCUWLZYr6uhYa6lN2Ro0udQn3noNvhYquCL+BWMHGqb7 UHakXStqdctzYe993Wtv0d0vB5+J8cMGCT+rhgn4gSOWH3HIYRkYlXYQqr3bvGO6uaAD U/ctTfyIi5+N/PWOBbwos3uBx5+yXwC53T70vr5yCVSpcR83CivJ208m2Kpy9ODH3J56 /1pfxgmQxoXUoeWik1ClvYjXQOlWWk5rQKmbyNC50MxIyWhma1Z0JwgKD/8yR22KdaSD /G1g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=mime-version:content-transfer-encoding:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=zd1mNoRjcIfCC5fDZiylT4ZaJDR/YGHlVceMEFUU0y4=; fh=+bcAEjp//7O3A4WDIzCdqY8p87h3NsxnWABfa5VgzUs=; b=KtCG5GjsmNqujrnFhQ6OUrIhfokRj6jDOLIv5GxImw/AbZmg8CcjuxWu3nlDsfURLa AkCPHDiZCa0ql6FEEg8hu5H/4Sab19PUvftUld4NSbNuGOfTt2XiC/ynTPXfmtVFvsVc oLueX0GbKz8DxrgSmlVzfczi1o0Vhyi+gyfP+YmJPcKAzMXK4NPjnR/8r19NhzIUsI3L 3RUL55pqhzwGgsxxPsQwLD7/tWTtnFrnsy/iHsXGZJdbG43Eu1hxaSVJlqCVJ9ade+5Y HQqPFQyxSfBxm86JfakcirEO98Qp5WEmZTH9bt88ARSZvQOxPzXO0FX1ea2sm/J/yNOD zDMw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b="rY4Vs5B/"; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of andrey.drobyshev@virtuozzo.com designates 2a01:111:f403:c20f::7 as permitted sender) smtp.mailfrom=andrey.drobyshev@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazlp170130007.outbound.protection.outlook.com. [2a01:111:f403:c20f::7]) by mx.google.com with ESMTPS id 956f58d0204a3-67baf417c93si69637d50.297.2026.10.30.07.49.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Oct 2026 07:49:43 -0700 (PDT) Received-SPF: pass (google.com: domain of andrey.drobyshev@virtuozzo.com designates 2a01:111:f403:c20f::7 as permitted sender) client-ip=2a01:111:f403:c20f::7; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b="rY4Vs5B/"; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of andrey.drobyshev@virtuozzo.com designates 2a01:111:f403:c20f::7 as permitted sender) smtp.mailfrom=andrey.drobyshev@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=opdKBTmzMRXMZI2YvoUCpa+6jIIG+zkAQQVJHxmrYMzioScWMRSxC5Od3jYgNvLfP7QWPgzMPJU3ywcduqW6owkMnjS+qX3u6KXjfqLmGsrCPQR6BpNXtkhf+08W3Z8zj4nHHG6zIGRgg5f7faOCxCf6HxXH9JrR2metlPJr2rMee7rqTekL0hoQnbwX7TZ7lNczFj+FgoOQ5fkBRHiPV+1eR9F1QE+dkSWxXaZMiQ8mvMXQ7/8k0qO6DVguNqvnq11bv/F+K+gUk8YsqVuO8ZsIMf4dODfgoQZ+47MKk8r5hhKwg39CjNt465TmPBF3oEERbzHdThLyYkx7lN3haw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zd1mNoRjcIfCC5fDZiylT4ZaJDR/YGHlVceMEFUU0y4=; b=JPrMMpgpCerkjdVfe7tXV9wapgL6RVeTKzWOXQz6J3zauQEOUYnKJDdnR+OXmJGByLj9pDoX4hkyUkP5o2JQ8xVepVioJ2nwLaNPEI9e7W+CJFwo/KsIQM9Xo+0eClf2JxRxdQDNlvLTKugQQKITyprwZvI3PuBXjdz9Fs6aqsNam1rsANsTA84m990/qeiI7NgIgRaLvjAxZfZxc8GWoaJWURiwbiz723GuMY1otFxG8WTrtd2z+xIP4/WgJ9kKj3Uof9vDxs9CXihOvbgJxWBl4tkwAVPgvqJLNRCU7K1PAFn8DNvRx7CKpgjE7BcJ9nXymRS4uoCEn55H0YVdmg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zd1mNoRjcIfCC5fDZiylT4ZaJDR/YGHlVceMEFUU0y4=; b=rY4Vs5B/RJJA3hrnj58FAU1chdVLlKkXRyx1X0Gt5p7v/z/PoE5FN2xGgg5Z8+nPGpZO7FqIQtl04VHWCFTj967oRCOp6jf0b04ciHjYIjhRJBtp1A/9YjuKz1d8n6twgMgsi7CclJvzoTjn7YhykUhr8gM0GPmS/Hhg16JtaSswgu2Cd/QIq/VRNcZ7NcTPJL57A43c4XH0yqvNtXAN6xYn1OH0gTH81OF6LOgLN8i6VlgUzdyvfj7qqPILQDFnEcVlAlMQze3WCrNJaAHDNsEmvj1dlQFErM2vrQwI2COYLJGpb5usvGcxPHoIMGItUDoHjvrvBKu2N2C9gHw81g== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) by FRRPR08MB11968.eurprd08.prod.outlook.com (2603:10a6:d10:1ce::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.569.10; Fri, 30 Oct 2026 14:49:41 +0000 Received: from VI0PR08MB10656.eurprd08.prod.outlook.com ([fe80::4e37:b189:ddcd:3dd8]) by VI0PR08MB10656.eurprd08.prod.outlook.com ([fe80::4e37:b189:ddcd:3dd8%7]) with mapi id 15.21.0569.008; Fri, 30 Oct 2026 14:49:41 +0000 From: Andrey Drobyshev To: devel@openvz.org Date: Fri, 30 Oct 2026 16:49:32 +0200 Message-ID: <20261030144933.944360-2-andrey.drobyshev@virtuozzo.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20261030144933.944360-1-andrey.drobyshev@virtuozzo.com> References: <20261030144933.944360-1-andrey.drobyshev@virtuozzo.com> X-ClientProxiedBy: VI1PR0502CA0012.eurprd05.prod.outlook.com (2603:10a6:803:1::25) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|FRRPR08MB11968:EE_ X-MS-Office365-Filtering-Correlation-Id: 18c2dbf2-cc45-4672-9f56-08df36950757 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|52116014|376014|366016|1800799024|38350700014|5023799004|56012099006|261009223027099003|261026121527099003|261021121427099003|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: 84521TqkoeS9fQAi8rs0lNnr/aTjQv1jDgI4z/lM+5bvnyBFqsNYJ46T1Vdx+d+/GuGwnhqQ4nJUUmjiYpbhsy5C1JICAhFZgzidto4HtIKEg10/C9VdEiC1dmY9LKdmWkFsS+UhNzbaojDkHW6LnNTY0fSfwc7FK1A64zbPSy/QZfQSRyysA1dlEFK4meYTUhpCLdHadno12KI2FPTseK0viFSCKnVQGBGWsIOWKShDhSXU74QDRBvzNhUN5xzJaBSZVRZzyl+Z/hItoyEK7li9it9nOKbX+sb30ay8mx5ku2Otg4oWugHUIg/dnmtKWi/xl0fqzWkRYmUEjz8dhzdcCOGhYlRnIOQE3se3oEi9CJd4IZx9VUSWlPagz5VzP0yHvPQgsjF4ulmtujwNtBJsRCXmmPyKPtCaE5A5Vi0CEzfuryY/CTVLyvnkanjSGLqA3LNhPWAqrSITfpq/KJc505/KITMYLDaogf+rcMkhpurg5b0w5U3PvnR9Zg6jK1lsR+apnR6uggkF+TZsJTb7o6/NJpx+TP1neZgljOyRgjbnZ9fYBTMJCCyhF24OB0gKZ2xFjkY+oMQO8d1VAYLCAdGQkkEN99Z4X7kGsXOTonweN3jvdttKJFgISN42CEKAFca+6Is76M6rxD7T0YrMselIRDiC3mxdTmGiGf8= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10656.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(52116014)(376014)(366016)(1800799024)(38350700014)(5023799004)(56012099006)(261009223027099003)(261026121527099003)(261021121427099003)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?YbxctYpJe0Gr+sL5N8X/HQQs7xNNzTV7eP8AFt3KDoLjfoCcJfyjlS+QbjTg?= =?us-ascii?Q?WVBxJkpmsuXMToZB4hZ1NCciJH9xJw713vT0msGYdNmYjlSU/x+fj87n0i6C?= =?us-ascii?Q?4Hxqn/Vc8hdP/20SnAHbX23td3nuqmRE4CplhZxPdGAgAvMJ3XOxC4JOtzmK?= =?us-ascii?Q?cgRjaEuobLv2mOFH3iSOdwph+UBv87prCnkDnzeKRMRKNK7sM72W3+OvQhpa?= =?us-ascii?Q?WtbtaMpwkbaXbb1A4gox2cfuv62NANi8aWSEhWocTWZkygIsJDQ65OK34MKg?= =?us-ascii?Q?cHG94wOC7Luuc+w3Bj6NUEzXVNrGlFed4pycSrrOlbXcCA2H91va9hr5mnLw?= =?us-ascii?Q?O/AqREW+Ea01LfPTGM+ThroioMrtx2EfPZq+mGYDb9je5V9wD4oc/f3i1Bkn?= =?us-ascii?Q?FhJzHgkoAij9hIs6fVVbjlCYtp+PwqdFRESwnaqKkLgEylWfVWRvC9TvYasN?= =?us-ascii?Q?dTTsy3P8o1c6JIrT11pKodnYxnXP/xHROFidhlwG2CKXkOCBaa7UNQQZ4vSy?= =?us-ascii?Q?fLOup/PHd7hhn84xILENFXunjIkPP9eEkAi+Ym+7wb9V9IMKLmDJy3u3+iW5?= =?us-ascii?Q?IDL8lLdsUgwuLFIfcZf+ns8Q48OA1X2U9FUFYkGYafFhLKw+bF5XlQFCANIP?= =?us-ascii?Q?HkjnS7DkMbofJcysImyjAVrx3fgJB0hJ2i6zKIq4G5z6ivf05SX95Hy+/hKe?= =?us-ascii?Q?KdsAlUrOUpMGpJrZxfkVFumHam2yNCdViFeAVWSHYsjT/J317GosPL+2Us9N?= =?us-ascii?Q?Gj8CweLbgPr8QbAA6oniQdmAX2RWkxGvJz3DlUSRq3WDK+baLfx9QxjuQtvc?= =?us-ascii?Q?rXg5hOZs4ecpLc4v2WY4sBQW1cT2pxjZsaUD9euka8+PFDSCwEMMo51TeJGP?= =?us-ascii?Q?VRROvmguPUQsaN/Ns0EMQhRdqex4aU1qdsVTXM3C5+9kK4ftPHIecOU73s1E?= =?us-ascii?Q?F61jEkmCLmtxN0hNUkiNlix8lFoZdqzJvoiF4DTKyGsuqQ7DJtsojYY7Ctjz?= =?us-ascii?Q?tWakxfLp6WG73mcpz9UnKvbu4FtNh03f59xB95ftN71U5qn01SD4v+Y1Bwi5?= =?us-ascii?Q?oSVleKvC5K900vaCMKJT01AZwVIUD/yCObo8IHkpHIO65HW/FlGwP9vSi8TX?= =?us-ascii?Q?wwSUFBYtQJVyDx+LITaBi4ioWFWR73RNtz2jZo114cS0I0bCqLlDtmJzhxXp?= =?us-ascii?Q?WuxqARlsGoih66sr0veXVIrXkThyhMYHCBVHG2vz+UYmg4k5VY4Xboz/jiaF?= =?us-ascii?Q?WD/+Y9L1SqLfpjhUCRa2BuZli7U3RV7p9gkMl8AzLiof9B5UgaLSRn2NM6Pu?= =?us-ascii?Q?i0W8orXrb8rZdpaCSJ+oDlwXYHKXqFA2nnxvpHH/YvSX11968xXFrDyYiAvi?= =?us-ascii?Q?K4CWQ6INoc+T2vhBPtjK4z4yTv0iiLzi1zazxGT8SS04bdxORwtMYWzl25oW?= =?us-ascii?Q?v92LmAqnNUmthQLHPYVWkN5P/MgviVORDYXj8mq/DSqZuOiP42kN3cbo/EcH?= =?us-ascii?Q?idyLl7j5HXY9yNy35P5mb01cxC9I2TKLD2HbD3hcKiViApOr+LFdmCXQdKit?= =?us-ascii?Q?wNOECFiFuk3sBphyxFh2/t8Fgm4qxqiAeRMw1oFkJDq1BVlXo+uUs+CvYAOB?= =?us-ascii?Q?dG1GpFxaGXqkrAR4oGEXjUxZhrkb0Rud0oJrrav3JnlKmFkUmXEtjAak5CoR?= =?us-ascii?Q?k1+a+AW7PMgsAPJCjmPlV6QH1Uejg/cWmMP69zRckrsCRxWmDmwfu/p00cI9?= =?us-ascii?Q?M8wVOdfSZc+ZiWBZjNOJWpIE07O11nM=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 18c2dbf2-cc45-4672-9f56-08df36950757 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2026 14:49:41.2152 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lx/VP9/tRlQRb3nqQuUCkeg+Br7YXlHjDZKoZR2OijMb+ZeQgWuHg/v6/ljDKTEk05uzZMLYI2m1ocieys3X7oEalal+cIuNvYk8IwXxj5Y= X-MS-Exchange-Transport-CrossTenantHeadersStamped: FRRPR08MB11968 X-OZ-Fwd: true Subject: [Devel] [PATCH hci-8.1 1/2] vfio: move an open device's kvm reference when its group gets a new kvm X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org A device opened through its group takes a reference to the group's kvm and drops it only at the last close. QEMU's cpr-exec and cpr-transfer keep the device open while the VM is re-created: the new QEMU just adds the group to its new kvm-vfio device. That updates group->kvm, but the open device keeps pinning the old kvm until the VM is shut down. Seen as a second KVM instance in debugfs after a live update of a vGPU VM. Move the reference to the new kvm. Leave NULL alone: that is the old kvm-vfio device going away under kvm->lock, and the new kvm, if any, arrives on its own. https://virtuozzo.atlassian.net/browse/VSTOR-150597 Signed-off-by: Andrey Drobyshev --- drivers/vfio/group.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/drivers/vfio/group.c b/drivers/vfio/group.c index 5f2b2c950bbc..e78c06bb7db3 100644 --- a/drivers/vfio/group.c +++ b/drivers/vfio/group.c @@ -892,9 +892,30 @@ bool vfio_group_enforced_coherent(struct vfio_group *group) void vfio_group_set_kvm(struct vfio_group *group, struct kvm *kvm) { + struct vfio_device *device; + spin_lock(&group->kvm_ref_lock); group->kvm = kvm; spin_unlock(&group->kvm_ref_lock); + + /* + * Open devices hold a reference to the kvm they were opened with. + * Move it to the new kvm, or the old one stays pinned until the + * device is closed. Nothing to move to on NULL. + */ + if (!kvm) + return; + + mutex_lock(&group->device_lock); + list_for_each_entry(device, &group->device_list, group_next) { + mutex_lock(&device->dev_set->lock); + if (device->kvm && device->kvm != kvm) { + vfio_device_put_kvm(device); + vfio_device_get_kvm_safe(device, kvm); + } + mutex_unlock(&device->dev_set->lock); + } + mutex_unlock(&group->device_lock); } /** -- 2.47.1 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel