From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11021100.outbound.protection.outlook.com [40.107.130.100]) by lore.virtuozzo.com (Postfix) with ESMTPS id 2DB1380474 for ; Fri, 23 Oct 2026 17:34:36 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dArXNCpy1p4ZbJiERKoFUcOLxMUXMDspjiacvA5NOQOhcnNQLsFwf/mrLKUJEScKHhrEnQHJXG1XKV/80bFafBZ6pIpm1ZZcEcW8iCAfXocX08PJePbkzIs7bnscRPx/ptLWGUOmzsqfRKhgE16xb9GLtIOFlPbthpF5IgmuuljLYZ6MP5jmjBPrrFxpoLQjoee9wp9bsIwFlcwUHvwzKjLyjJijj0RKSm6asrV/NEQ7BgsK2YpYXQXtwAopYY4UMhbnugJorYuoYnq7HRLW88gRMSBdpNSiOmjyhtvk8TYzMi5fGMjE34nfaNzDKNLQoTrkcwlUXQwVUUHJevwopA== 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=zcjbasaPDDcoH0Lmoef3HlkqaeJo4Kac8bA9T2iNyfg=; b=WyoMdnBABzRORfeKN3oyBE4lQlfBCVKImXX7XiVb1CAImVqrdUTWmFK0OLWh14oZ4d2K2c2+jTXov3cqr0xFsZZni4RHCoW0HF8jPUUzlBHcbk/Igw46gsfKcSZjiXzj78X2FlCxRoK56HiY+bwChmz8DUH+k217Ak32Uhf8eplX3HkXG6LsAcJcu+G67ruH0rdLFEDLDAb+T7Gki04I6nNjYmWGiDWlSvoDAaXEHoDHysVcpUC75XChFiwPO4R8jwA2/WS7KERPSSVyQoUFl3JJoZ+/aSZzDo9gPJwn4MqoLVLf+tJmg4nOj+UZUY+Ysj1+ONA5olkYtZCKbS9g+A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 69.169.224.5) smtp.rcpttodomain=virtuozzo.com smtp.mailfrom=eu-central-1.amazonses.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=sashiko.virtuozzo.com; dkim=pass (signature was verified) header.d=sashiko.virtuozzo.com; dkim=pass (signature was verified) header.d=amazonses.com; arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.onmicrosoft.com; s=selector2-virtuozzo-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zcjbasaPDDcoH0Lmoef3HlkqaeJo4Kac8bA9T2iNyfg=; b=QZm36Ei+8JPpnqOrwq+Ctgkm0SwIkwQOCvjFLdzKt8m8FrVeL/xgifxHwK/QeT57TYMGZQdvbrSIpoXD+xyaKgSM0WTzsfM0ORaaBvuMe/PpCU+vZkfR/rd8kNJXvreqW04TIvUcMqnC9cYhgLyHxzUpF0PdkZPdAnkkyKpucWY= Received: from DUZPR01CA0215.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b4::9) by AMCPR08MB999890.eurprd08.prod.outlook.com (2603:10a6:20b:781::12) 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 17:34:32 +0000 Received: from MAD0EPF000008BB.eurprd04.prod.outlook.com (2603:10a6:10:4b4::4) by DUZPR01CA0215.outlook.office365.com (2603:10a6:10:4b4::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.546.19 via Frontend Transport; Fri, 23 Oct 2026 17:34:32 +0000 Authentication-Results: mx.microsoft.com 1; spf=pass (sender IP is 69.169.224.5) smtp.mailfrom=eu-central-1.amazonses.com; dkim=pass (signature was verified) header.d=sashiko.virtuozzo.com;dkim=pass (signature was verified) header.d=amazonses.com;dmarc=pass action=none header.from=sashiko.virtuozzo.com; Received-SPF: Pass (protection.outlook.com: domain of eu-central-1.amazonses.com designates 69.169.224.5 as permitted sender) receiver=protection.outlook.com; client-ip=69.169.224.5; helo=b224-5.smtp-out.eu-central-1.amazonses.com; pr=C Received: from b224-5.smtp-out.eu-central-1.amazonses.com (69.169.224.5) by MAD0EPF000008BB.mail.protection.outlook.com (10.167.241.170) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.569.4 via Frontend Transport; Fri, 23 Oct 2026 17:34:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=23yjbh4k34hwzfubhuiim7m4inbd3ick; d=sashiko.virtuozzo.com; t=1792776871; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=zpM7yCzP+l0ldZeYtvCHjOiPp0jpkA0ePMPAWUl/SSI=; b=FRkMZ7igsNbUCMwz+fF3t7IarXzshBkbnmuJYW6MDPGpxXaRtWyNiIye5zZVxBsN /mEtWRa7Hw1g+GU1jxD8FUmzzuBkoLTMYt01SwSOF0vNO8jIAjyemfbYHg6lSYYtrvO JkWHxbaa1q5Aefboxm8YNWrM18WMNO2XGpMOjEy6a9vd5bHFIDf4XfM2zSRT9++nFFZ 3Llw5/psnL3mryP5E/Y5Yxvqag18y2ZEh5WeuA93hy6Rq22btC0x1a0xvBQSP2gxgIQ CS8WtEst3GGisrREyAWTdaMEdWEhPWD06B8esRlpKACQx31qlKPNoHOlIVDlqZKjPsK 4K7DB+O+Sg== DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh; d=amazonses.com; t=1792776871; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date:Feedback-ID; bh=zpM7yCzP+l0ldZeYtvCHjOiPp0jpkA0ePMPAWUl/SSI=; b=A7sMu71hDi93QEu/gQ16OPS9aerP5WYBK57e3fyP9D1LxtjfRY0DVqJnfJlMdchj NDGlvv9I80038+/aA+dDXOLH1zVQ1HLfiABJFZddj0zJTwFdi4mE8ePFCsCKCNYPnT8 PWRF9sSgVO5VJV370bMvh0Cj2TfM4rDMfm+1IdPo= Message-ID: <010701a169d41f02-532c67c0-c720-44dc-a5b9-4081f468c3d3-000000@eu-central-1.amazonses.com> From: no-reply@sashiko.virtuozzo.com Subject: Re: [PATCH QEMU HCI-8.1 v5 34/36] VZ: vfio/container: lift the CPR blocker for mdev devices #VSTOR-103860 To: svt-core@virtuozzo.com, Andrey Drobyshev In-Reply-To: <20261023-vfio_v1-v5-34-ba0bf3c6d122@virtuozzo.com> References: <20261023-vfio_v1-v5-0-ba0bf3c6d122@virtuozzo.com> <20261023-vfio_v1-v5-34-ba0bf3c6d122@virtuozzo.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Fri, 23 Oct 2026 17:34:31 +0000 Feedback-ID: ::1.eu-central-1.2wRQJBpg9g1fGRYexx3dUuYGS25Bux+2TEOx72/m6U4=:AmazonSES X-SES-Outgoing: 2026.10.23-69.169.224.5 X-EOPAttributedMessage: 0 X-EOPTenantAttributedMessage: 0bc7f26d-0264-416e-a6fc-8352af79c58f:0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MAD0EPF000008BB:EE_|AMCPR08MB999890:EE_ MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: a797a8ca-c242-4ed2-5bbc-08df312be611 X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr X-MS-Exchange-AtpMessageProperties: SA List-Id: svt-core@virtuozzo.com X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|32142699015|61400799027|48200799018|376014|9140799003|5063699009|56012099006|4143699003|5023799004|261022105027099003|261021121427099003|261021123027099003|261009223027099003|22082099003|4113699003|18002099003|16102099003|55112099003|10067099003|5113699003|13003099007; X-Microsoft-Antispam-Message-Info: jb/R5K7Pe6mLS4rQD5JzB9ST/qXN8V5iTttwCX0KEuYqRstgKMyg5ZDi9zgXo7BrzCuullwXFraVa1IB3aR1rQNLgp3djMb/NmZj4jX0OLPmuNIoNrtFd+YsCp0r3fYazFQQ/33Xt/8e4gbA6MWYfP+qH/il/GqACNLkblmxlm464Mbx5uUeXUKdpCvXyiTte+dlWjpubVZq2WYoBVud6ftAJPszPNtJ2IAJXwUYmj6Coaoy2gHvjlJEofKsFDhVcl7TgbepH15PB8b3PsAeD/h7jEShLtohs2Dcm10vbClBmHiGpnAhF8qpkzL+Q7suD94fG/rMJvyC/4/aRou7Q1D7tY/hdkXCsmHInmtsKMPIP9v8L6o307kQ3kzQpHQTTtntLdUDxJdGbZ5Xp7p/kLQ5Bi++z2IGno+DK9Zr7RRkYeHringlQtP+OIUJpWwW4o4Q5B5cih+AQfZJcsth/hTJm4r+WNk4yuYd96/AhtjgcMmhen8wiDOCSqMvkgu3E/fqNY3GMwDzlHKG3nTFkJ+P97Zh8wYmOCv+MWHyMgVrMcP9QJ87w3w3sY+yRSo3CJ0x4Qf9B0LCkl5L8jhNcosARhS1oLle4YIgh82YMRWzIKrMc44WYdCd2jO/caq9tmnxUNTad6d7mE5Hbjm0/O6do+jHODe6MuUsE9vyC/qdlFYcsKec87gU6dngBz/N1ooAu42dmf5dizC0VzCHfTnNQPR4wz5lPPsLL7/IkB8X5bA6VnoWRqzFg8PIXdK3hcR3ntnKvbzCURSfW3yJlR1T/Pw65baKWDH4XKGcf25YeTTr9LaxMfRk6sFMpdjzU+FloL/Zx8VoiO6YYa9fX52wJQ1oL/nMMwNe9cudnDwqjJL7OimWblTAnjWuTqrE X-Forefront-Antispam-Report: CIP:69.169.224.5;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:b224-5.smtp-out.eu-central-1.amazonses.com;PTR:b224-5.smtp-out.eu-central-1.amazonses.com;CAT:NONE;SFS:(13230040)(32142699015)(61400799027)(48200799018)(376014)(9140799003)(5063699009)(56012099006)(4143699003)(5023799004)(261022105027099003)(261021121427099003)(261021123027099003)(261009223027099003)(22082099003)(4113699003)(18002099003)(16102099003)(55112099003)(10067099003)(5113699003)(13003099007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0HlBd8T0SWkMrlEpNRg3B8i88IOn/eFQA16doYBpvZRErhsuj/Fqu0SPS4aqPdM3rPx9SwhHbxNnOc+vQ3LogwLAUkr/Om1R6ZINGf7DYon2PtOYgFfKSjV3yJ5Hprisw/+/U+Akziz9Hx1tvq/DvmK8yXkTjmjt1vcTN2j0VOkRDAY74BApZ/CRYOCllshVJx2qTLl7gL4FFv+N6i1XXOxFfSlZfzu2Ya0/pGXIDcQtVMWAGcCmFuGuEnsARnYGrqSR5ix3qMgZJ6j+AVFWqaMZ1fvRT0LuL5KDFlfz0aRKRAitNgBazZ9hE4u/9UXF0VvZdFdG7DVKEpbaPlATegyby3hVZyRWPWvIgX8WTDwzDkzOSoeSIW9Y1jRoHIg7SWOtx1QdSyX/N29eAa4tXCfC52XtB1cnjNgbiDWjvPuRR+5lla0QFIiKTVZjtOLV X-ExternalRecipientOutboundConnectors: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-Auto-Response-Suppress: DR, OOF, AutoReply X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2026 17:34:32.2111 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a797a8ca-c242-4ed2-5bbc-08df312be611 X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: MAD0EPF000008BB.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMCPR08MB999890 Thank you for your contribution! Sashiko AI review found 1 potential issue(= s) to consider: - [Medium] vfio: mdev CPR blocker removed; kernel capability check only run= s once per container -- commit df2c9f0ff7e7012bfa39fe116e7f04b6a2a0cd4e Author: Andrey Drobyshev VZ: vfio/container: lift the CPR blocker for mdev devices #VSTOR-103860 This patch removes the per-device mdev CPR blocker from the legacy VFIO container code. It also drops the now-unused mdev_blocker field from VFIODeviceCPR. The commit message says a kernel that reverts ef3a3f6a294b is required, and that the VFIO_UPDATE_VADDR extension check in vfio_cpr_supported() still blocks CPR otherwise. > diff --git a/hw/vfio/container-legacy.c b/hw/vfio/container-legacy.c > index e437eb0c7417..285e594b048b 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 *na= me, VFIODevice *vbasedev, > goto device_put_exit; > } > =20 > - 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_CP= R_EXEC, > - -1) < 0) { > - goto hiod_unref_exit; > - } > - } > - > return true; [Severity: Medium] Can CPR now be accepted at command time and then fail partway through on a host kernel that still carries ef3a3f6a294b? The commit message relies on the VFIO_UPDATE_VADDR extension check in vfio_cpr_supported() as the remaining gate: hw/vfio/cpr-legacy.c:vfio_cpr_supported() { ... if (!ioctl(container->fd, VFIO_CHECK_EXTENSION, VFIO_UPDATE_VADDR)) { error_setg(errp, "VFIO container does not support VFIO_UPDATE_VADDR= "); ... } That check is per container. It is reached only through vfio_legacy_cpr_register_container(), which vfio_container_connect() calls when it creates a new container: if (!vfio_legacy_cpr_register_container(container, errp)) { goto fail; } A group or device that joins an existing container goes through vfio_container_group_add() and skips that check. The removed per-device blocker was the only check that covered this case. For example, an mdev could be added to a container that was already registered for a physical device in the same address space. Nothing would re-check it. If the kernel refuses VADDR unmap for that mdev, the failure shows up late, in vfio_container_pre_save(): if (!vfio_dma_unmap_vaddr_all(container, &local_err)) { error_report_err(local_err); return -1; } That would fail the migration mid-CPR instead of blocking it up front. I did not check the kernel source, so how ef3a3f6a294b treats an mdev added after container creation is inferred, not verified. Separately, the blocker is now lifted for every mdev type, not only vGPUs. Would it make sense to limit it, or to add a per-device capability check? > -hiod_unref_exit: > - object_unref(vbasedev->hiod); > device_put_exit: [ ... ] > @@ -1017,7 +1005,6 @@ static void vfio_legacy_detach_device(VFIODevice *v= basedev) > =20 > vfio_device_unprepare(vbasedev); > =20 > - migrate_del_blocker(&vbasedev->cpr.mdev_blocker); > object_unref(vbasedev->hiod); [ ... ] --=20 Sashiko AI review =C2=B7 https://sashiko.vzint.dev/#/patchset/20261023-vfio= _v1-v5-0-ba0bf3c6d122@virtuozzo.com?part=3D34