From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021127.outbound.protection.outlook.com [40.107.130.127]) by lore.virtuozzo.com (Postfix) with ESMTPS id DF01B80CB4 for ; Fri, 23 Oct 2026 16:55:22 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WhA5NGaTweTU5xr/PITG4ghtsFeui1kLrUoLGuqIrPER+NCQrFcud6INwkEbnhanC9+Ldg0dgabLAFYK6O4LuzJWHRxjAZbOM71uHM194ORmJ3Cmg8GuccR8MBvoz4mSHNPdgJdFD07FqUMjChWhfzcT1Ok0J1xl8fbX63XkAKLtL0tXamYZUhl0dfjN9z0GbFVIjmFMMYYxQzQVOTrChLMcIJtU0sdmcNQxo8FcjMrWW8HPR0Oq1jvflq7afyRhbIM5wGorZFMSQngbXp1ujscUyiuN9OGDXRaYAUR9PSWvn7N+scGwFkWQeQwmujJ69++zkqUjBlqIkZdxMfLm6A== 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=8tQ15kZPJhTkwM4VUp6ZRXJuEYO+WXtM/cSzRpR0w3Q=; b=uDE/9sIw/4FRFofKDz44RFN95h4yJclz7FfoY0UhZ6fdH3HYV/Py1AdOIsx8r24IskGPrwY9HD/ENSwiNoEkiQKs2iIYtISjROUls4WcX1XrNZNP0OKH8lEaip8Ctp8/GkOX+ZYMC67PQg5k33Pf3BC/ti2DSMPAW7COI1AfEhjUWRteo6pMnQW0+BmN8i/+Aty3jb9kwzGUf1l0eYNxFKu9icatP4+yS6P/t+3zHCfZCs0K0ztm5x8S622Y/1QFCMhW/6eNjwlK3Am7AQDsZMVf/bKxQGmc3+bmylDqrBgZx5CyfHN7tyCBw6sbXEbUvGGUalgDlpWFi46kFo6Utg== 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=8tQ15kZPJhTkwM4VUp6ZRXJuEYO+WXtM/cSzRpR0w3Q=; b=KVuyajSt51kx+QiGV/F1v5MNUWi4ZE/zjOS+4C6dVxwAT/vWpRZNM+PykPG8ZAIa+eT8hkGlyOjhWeofWSkTnuV7kreVUlkpUN+o6WtNtkXGAqYSc6gJ2w0T4mvEfw0Ij8cNsT+it3a46VDdEgBQrxrWwC5S9AIl7wI/rrDaC2DYu8+zGB3XVkW6JeeWMkknY/VZ0Z+P2HKacN+lA6T/S3v3tMZBJAqW0qdAR7/nIZeJF1waDKnH2Mtrkm3N9MAyvg+IrQEs3zFYl9rucICBhH1lbQNG5oUGzGEp++qXGGjeyvznbghNFczn+d7FBRZ65eojJy4uvtpCbJVILcdRnQ== 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 AS8PR08MB6373.eurprd08.prod.outlook.com (2603:10a6:20b:33a::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.18; Fri, 23 Oct 2026 16:55:21 +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.0546.017; Fri, 23 Oct 2026 16:55:21 +0000 From: Andrey Drobyshev Date: Fri, 23 Oct 2026 19:54:11 +0300 Subject: [PATCH QEMU HCI-8.1 v5 34/36] VZ: vfio/container: lift the CPR blocker for mdev devices #VSTOR-103860 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20261023-vfio_v1-v5-34-ba0bf3c6d122@virtuozzo.com> References: <20261023-vfio_v1-v5-0-ba0bf3c6d122@virtuozzo.com> In-Reply-To: <20261023-vfio_v1-v5-0-ba0bf3c6d122@virtuozzo.com> To: svt-core@virtuozzo.com Cc: Andrey Drobyshev X-Mailer: b4 0.16.0 X-ClientProxiedBy: VI1PR0902CA0027.eurprd09.prod.outlook.com (2603:10a6:802:1::16) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|AS8PR08MB6373:EE_ X-MS-Office365-Filtering-Correlation-Id: b50596cb-9dd1-4542-084d-08df31265884 X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr List-Id: svt-core@virtuozzo.com X-MS-Exchange-Transport-Rules-Loop: 1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|366016|23010399003|1800799024|38350700014|56012099006|261009223027099003|261021123027099003|261022105027099003|10067099003|18002099003|22082099003|5113699003; X-Microsoft-Antispam-Message-Info: eT+ZCKz/I9dU5MAZZ90XqRsLfVSTlr2luu72+3EwqurmHshamlz3s+F/DXGQqJj5Z0py2a2hede2rI9NoK5I/YEzIuDHbX3NZpxKXsOycVcf2FD19IrbE4zRwWSVizKSG3tCijndaGKzBJSpYn9V7jzI+G1BNS3KSN19vG6BfcoB6j5dUFcNMIhQK0ojdkCBoAVug4qiZiab7992AVNuTFhCbSLROaiIHOM0kQ0uSCpJNYCVVftJ+xf5H19UCSuDDaDLAZiOkxdryrIBCYRBnxzyoR0yt+hDlkH9F0lsmHHyd5LDsvxSa7X9FJn2TUMpUJDuAHScYwj83mxd4V0jk7JDPJGhPxJGki6R8+1yOM6lzaCHU9v9rsudWfASvXQmGDNlKD0Brtc4SvUN3Xx3788yIhFPnfwWkbhdxsMyeN6GQwYAbYXErZJBG+AhuQDTGU65gqFcpdhwSXSqkNK/IO4BovMlk0iIN1FFxiH/VqMiQ8JpXsc1W43Q9Fy8uf3+1pBnNBB+d0CFigqICIw/lLyoMoe5UJRRXOaijh7gTQL7XfwRBwJw0XBMwCr4XXfyEIiRoVj49oNLFNFoJ7mtFcJpO9LgziVGHDCeUVx25uxIZDNMemQPkPEnbMNKzTFeToERX5BGxQJ5KQqL3f5fGE+lGT3XFbCKNFrDmxH3zBXNisHv7R93ffP8bA7b7mU04UIDiANYwSn8HYETUFLNwPBSksfJXQ7w0z+w835V798= 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)(52116014)(376014)(366016)(23010399003)(1800799024)(38350700014)(56012099006)(261009223027099003)(261021123027099003)(261022105027099003)(10067099003)(18002099003)(22082099003)(5113699003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?T0FhSjJoaEthVGxCYldTdkpYOXZwZkxvT202bUlhdXBwZXJmR3JEeFlna0hj?= =?utf-8?B?bnYvclBGYTBPN2xPZi8zeVBTMGY3NUdvUnAvU1N2OEJsZWllcVpCdzJzeHRP?= =?utf-8?B?a1NnVFliNFhrdTJnWEliZmJoVlFtWmxwaHZPbCtjRU0wYVRFMG1YTGFJbzZq?= =?utf-8?B?TC9CR3VCQ05CbXE1WHZiZ2VYSmVhamwxTWhxbVphOFA3SklBRVNnSlM4a0FN?= =?utf-8?B?OHpUUUU0RURNVUhlWWJCa21vSTVlcGRBYXVjaDFnSnBLdWw0MWwxald2L1hK?= =?utf-8?B?c0o1aXZTT3VTYkZvTUptNVpTN0ltN3BuVkcyYVFvc05JbDB5WG5vbE8xa2hD?= =?utf-8?B?U0FEclhoMmkzZUZMajNLSFZJczczcENOcnl1dW9ielQ2MjlMTFVxamNDZ3lF?= =?utf-8?B?amZYN3ZiaDFtV1dNQTJxbmpGMzk0S3drUTl2S2pIUXZpSEl4aDdMYWFEM1E0?= =?utf-8?B?WG9rSDRiRlJRek1iS0ppeVdWVmJZcEhnbnRMc3pvU1hOWS9WelRselk3QkxS?= =?utf-8?B?UEdwZFV2cEpMOGlWbXNQSEZMak1uOUJKVWlvYWFod1BiWGsxMm5kb1NuelBv?= =?utf-8?B?dnBWTnRyQU5vbWo5WFdqNmtFWTk4dWJKbWg3ZW9QUlc3ZU5EK243SkxuM1pz?= =?utf-8?B?SUNlYk52RUZsY21Nbmk5M3Z4T2JUbFoxcUN6L1ArQkNwWWRGTHRBa1lmT1d3?= =?utf-8?B?OG1McmhYY2hNS1k1eTNlS1owSENFa0pzbEFGMUE4QnhtcGYrOW5VSUxZLzJG?= =?utf-8?B?TlFzendQT05hcDRlS2FhdlhTck1ZdlBaV3pjZEJkaFRacnpOYUZyWUZLTXR1?= =?utf-8?B?NWpTZnZiZVNnMXJHZ2Y1Y1pUdUVsZTJDMC9jZHNQRUZ4S1NRc1NOMDh1S1B2?= =?utf-8?B?eE45YlNmanhNM1UyR3ZJTkZYNlJsT3VIM2E4em9GMWZabUJuNVFPcVdKZ1Yr?= =?utf-8?B?Ykl1RU1tZU9SaEo5aUplWjFNNncvNFVpdkRkWng4bXRGWnlJUy9sNGwrK1Ir?= =?utf-8?B?WWhCNlVhdi82Q1ZjVUJsN2J6WlZjTHFnSFNCQnRSK2NRcTdRZWJQRWxtQkcx?= =?utf-8?B?WXoxOG90RkVlREx1Rlc2bW1oTXAzQjdiaUhua2Y2V3lIS3hsOTQ3OGxqbU1P?= =?utf-8?B?UVdNaEg3ZVhSYTZ6S09FUy9ETmFrbWVrY2dzK1dRajROL1JPNmZTd2FzRlNU?= =?utf-8?B?YmdxeUhtQnh5djUyZ1F3TnB2VXJ2cXlUajh0cXlXNHEvZE4xZEZ0TUtlQkh3?= =?utf-8?B?cEcwY1dBZTBxRkxXdWU0ZG1HR01uaVFwRFQ0Y0hTSWZoNFFRckVqaTBYQnVh?= =?utf-8?B?bFRzQkhUYTFOVnN6a0N0WTFhQ0ZMVkRFZ1d4eVFBaVJ6bkFPZzZuTmVkS0ha?= =?utf-8?B?cUpQUHQ5YTlJNkpSM3NUZWxMQXoycEdBdVQyQVVnelRkdFJYekRZZTJuVjQ3?= =?utf-8?B?RXJGcnVaK1lPNTIvanN2LzZWUlNjbGUrYTlBOUtqTyt1RUVkcEVZL05aTmxU?= =?utf-8?B?ckdIQTY4UHRqcHdHZDNpYUw4TnJwVnR5SlZrTlhLOHFnZ0lNazRRT0M0RGtK?= =?utf-8?B?OFBEVnoxaUl5MG5zS0M0TWNUYVB6QTJvaERLZzZRSEJGQUxvVnhWVGJWSW54?= =?utf-8?B?ZVlGbVpuRldkL3FKRFliQjMrVTN5MzVZTm12THBwdytPd0RObktobGJUNFly?= =?utf-8?B?MXhlTTd2NzB1TVY5L2MyRGtIUSt0T3dKU0ZKSzRmSVRGZ0JMdWlpWVpscUEz?= =?utf-8?B?VVU1Y1lMWmVsR2tEemduZjc0U2lxSzBhY2hobzdLeXBkWHB1M1E4dkRrTkdx?= =?utf-8?B?MEVZMG05dnk1akI2Nm0xTmVtcXUzZU9jNFJqZ1JOQWZJOVlpM05oZlRHUEFI?= =?utf-8?B?T2g1MHp6b3I3ZHhpL2ZuRmNzYTJWUWdhUUhXbkxxNEJ3K1hZa25pZ3cxZDAv?= =?utf-8?B?ZTFuL2pMSEpEc3Y5Q08xV1hDZmlNaUg4elBuc1dHdTVJOFQyNUljNE9GbVZw?= =?utf-8?B?VGkvSDZNVmMwenh3b0FGdFdJVlBLejE2VnhqMXRDcGcxQ281cnBDRUVCTHJ4?= =?utf-8?B?eUw3OHRhaXdzMy9HTTBqQVJQMVExT0Q5Vnl0THk1ZnZRWU5yTkhHL2VpL2pz?= =?utf-8?B?VG5neTNNUTdEV1lCYlE1NHVGODR4TWtIRHpaaWNtOG1XdzdLYUdZeDRrY1pW?= =?utf-8?B?YUx4ZzVacklkM2JiVldJRXJMaGtPM2g5YzRoclVMQmJMMERNZ0w5Q2dsdUZR?= =?utf-8?B?RnE1SDhpNTh6RHdlTk80d2lqaUlKcDMvelJ6MHlQRTFJZ2NnOTBtM1ZESWow?= =?utf-8?B?OW81NjFiL2dibXZOTXlRL2NyTnkrVFRvVDNpRktrREhxclB3ZUUxbE81KzJQ?= =?utf-8?Q?7g6mQhlrjSlvCr8c=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: b50596cb-9dd1-4542-084d-08df31265884 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2026 16:54:47.5116 (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: 1D7IS6zX9MGRGCE6hJc5lIiXM8wnUCWm9QWbEXDU2Empark9hlTZhcwVS7B1CAGUPBo/Ky12f7JlCbMTM7ygnDxiUnHqpSX/PeTQ7j8Dv5I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6373 Upstream commit dac0dd68d9b ("vfio/container: mdev cpr blocker") blocks cpr-transfer and cpr-exec for mdev devices on the legacy container, as the kernel refuses VFIO_UPDATE_VADDR for them since ef3a3f6a294b ("vfio/type1: exclude mdevs from VFIO_UPDATE_VADDR"). We want CPR for mdev vGPUs, so lift the blocker. This needs a kernel which reverts ef3a3f6a294b, as UEK does. Without it the VFIO_UPDATE_VADDR extension check in vfio_cpr_supported() still blocks CPR. Signed-off-by: Andrey Drobyshev --- hw/vfio/container-legacy.c | 13 ------------- include/hw/vfio/vfio-cpr.h | 1 - 2 files changed, 14 deletions(-) diff --git a/hw/vfio/container-legacy.c b/hw/vfio/container-legacy.c index e437eb0c741..285e594b048 100644 --- a/hw/vfio/container-legacy.c +++ b/hw/vfio/container-legacy.c @@ -988,20 +988,8 @@ static bool vfio_legacy_attach_device(const char *name, VFIODevice *vbasedev, goto device_put_exit; } - if (vbasedev->mdev) { - error_setg(&vbasedev->cpr.mdev_blocker, - "CPR does not support vfio mdev %s", vbasedev->name); - if (migrate_add_blocker_modes(&vbasedev->cpr.mdev_blocker, errp, - MIG_MODE_CPR_TRANSFER, MIG_MODE_CPR_EXEC, - -1) < 0) { - goto hiod_unref_exit; - } - } - return true; -hiod_unref_exit: - object_unref(vbasedev->hiod); device_put_exit: vfio_device_put(vbasedev); group_put_exit: @@ -1017,7 +1005,6 @@ static void vfio_legacy_detach_device(VFIODevice *vbasedev) vfio_device_unprepare(vbasedev); - migrate_del_blocker(&vbasedev->cpr.mdev_blocker); object_unref(vbasedev->hiod); vfio_device_put(vbasedev); vfio_group_put(group); diff --git a/include/hw/vfio/vfio-cpr.h b/include/hw/vfio/vfio-cpr.h index fa1699857ca..a486b3b2578 100644 --- a/include/hw/vfio/vfio-cpr.h +++ b/include/hw/vfio/vfio-cpr.h @@ -32,7 +32,6 @@ typedef struct VFIOContainerCPR { } VFIOContainerCPR; typedef struct VFIODeviceCPR { - Error *mdev_blocker; Error *id_blocker; Error *mmap_blocker; uint32_t hwpt_id; -- 2.47.1