From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11022138.outbound.protection.outlook.com [52.101.66.138]) by lore.virtuozzo.com (Postfix) with ESMTPS id C67BD808A3 for ; Tue, 13 Oct 2026 15:28:11 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OTG9eC2epVVujZxlGAK5zHEZ1LO79NNaAs35S62JXYT/G/pnFbvRIywg/HSk41r0gcjU4YyWYw6XiD2Ijpkus0fELjBRPMp2jjAEAiUaYdlirZrK3KsFJj3b34Nj2+S8Vys/UNJnqea82ZsnZ5uIzGinWplqDWKQdAEZW/iKIhAcs5Fz0WF1meQFfsGy9mTuH5yuOH4cM2g8lYwfTe4VDVMortawIaiNzgrKmbd5UHG6kLwyRP+kyBMMI7JLffIEY+fOEooBG2ArWxDC/8oo3McpBPX57tMk5x9EHQJCCD9NsnOyP2ud06/XHD2Zn3x7eMUG0iJPn3mvkLgUXUrnrQ== 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=HEak6b/MBc8KeUZWXFhV46RxymFleOS6x3ZUJKZAaKo=; b=MSkBaFTTO44Gk/hWx+3I58Za3yCNMNK+d9S9r9xvPCctTDJ8Hw9aiDIhOVVyaEzYpykw4zw4kwK/mlAYs/vwVNw3BDrStU98Hl3/D7568+H1w4JSV/15f/zxLjphsbwyHO+T/nrTlXEQvYOHNxSEt/nhUt81ItK5g1Du721urOllXCJ9mMyH0f5Vh9Rcu/WacEwiUrkDTCsVmD1A9tMkk1Gnl554WfxPNc5RdmYK3pOrvtGKhClyWQufDSEscosDyG73maf/ksez0KkHBCz1Xqlqj0HcHblBz9nh/hJ/nBF7wbs8ybpO++GY6Tk1xMTxbHHE87QIGR72K5fQmooRNQ== 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=HEak6b/MBc8KeUZWXFhV46RxymFleOS6x3ZUJKZAaKo=; b=FNCkyvVNtQmkLfGce8CIE7RIV1LlkWEfNRO2YNkSeAfLin5E4uA1WEqQo/SGdWAfkbz4esz+mhqjzYQZGQAJ/TOnl0yPfi5U0OOTwZgnsXywOKTNS7DDipeLw1RCW6UueL1iOorq4q+vvPJAInnNtehE7nRljCEYWYATD58Ir2KqyLnJAvOH/MeyxSU3zfzhaRSrF7/q7W7AW+1nw8FINJ2+quYRcL90Tss+VsViX96AampPEaKGl0KY1r4BjEw6vLmdBptpxNRFJj1E0db/DAWAiNKU6lRJRIE69N0Z6/gGgiD1ZGdk3A0hsEPOdDur/FB/bqJktURCqvv4Qcb1Wg== 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 AM7PR08MB5448.eurprd08.prod.outlook.com (2603:10a6:20b:106::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.11; Tue, 13 Oct 2026 15:28:08 +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.0522.008; Tue, 13 Oct 2026 15:28:08 +0000 From: Andrey Drobyshev Subject: [PATCH QEMU HCI-8.1 v2 00/24] vfio: support qemu-update with passed through GPU's and vGPU's #VSTOR-103860 Date: Tue, 13 Oct 2026 18:28:04 +0300 Message-Id: <20261013-vfio_v1-v2-0-433455c0a294@virtuozzo.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-B4-Tracking: v=1; b=H4sIAAROzmoC/2VNTQuCMBj+K/Kem2zDlnYKIqhDhw6dQkK3qW+Qi 01HKf73ph2D5/J8j+C0Re1gG41gtUeHpg2EryKQTdHWmqAKHDjlglGaEV+huXtGCrYRUiklSpF ASL+srvC9LN3gcjhfZ/G4P5E0ZpD/Aq4vH1p2897sNug6Yz/Lt2dL8e8mgBJe6IypdZnSJN15t F1vhsHE0jwhn6bpCwpLEO7FAAAA X-Change-ID: 20261009-vfio_v1-a176cddd6b64 To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com X-Mailer: b4 0.16.0 X-ClientProxiedBy: VI5PEPF00000939.AUTP296.PROD.OUTLOOK.COM (2603:10a6:808:1::833) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|AM7PR08MB5448:EE_ X-MS-Office365-Filtering-Correlation-Id: cd44c33d-7764-4ba8-e987-08df293e9597 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|23010399003|1800799024|52116014|376014|366016|10067099003|261009223027099003|38350700014|5113699003|18002099003|56012099006; X-Microsoft-Antispam-Message-Info: pQUMUw1eCs7CRPOZo2QccqIPlDhAukMwWr7OHqX4QIu6b3+21gnmOioUxsKGrEyRgm09/l4s9UuGrdADSNhGOSPV2Ndy8nG1XFjEblM4JL8VZ3JtMEkg6U3NTptosDMTLr+OzqfFHZmh9biR4+8nxCen4kv9NsJ+BrxUM2COaBAEs27OkpOtp42XTKlTZtfJSvqsCcJzsWA0gUc4uDlExYyzHHWEgRc2bCO64dd5dERYttP6oHq+hUE9+hPSYmkyRXMfUyCPGd2KXjLAcyFJg+1wrIRf7k3kSb8Nz94JdftHIv3ju3DtwGkBqRs2LaHoycW8EeZuIOctF+Vr+Islzgiw4bbMeHmwCieOuSnXnYYXM3JdohGF3+J1x4j2SMzCP02yeLxbN/iNv5eUzNiKHXE9DWsA9xvhXKFIA6XcXXlgnU1l4WCG/S4Do33ixsuS90cHkj5kM7Sct0JxpIQrxeIKu75FoSXOD8kEsniJ4Z4fSzihZNfu8DvpiAOjzCicjowejhBkCa9PSiyuyOO0YswNO0fb2ptJ0KEZyqvM2cMLgON+bcR4hB8wzDCQDg87d36cjKr909yHeOSPBmc6jQ8YY+P8Ee2ZCYXIT+7dCdeC9sLyeJVGOkTH/1DzwzWCG7qcaqDUXqo3QxKV6jhC0wNE+KNCPm7F5Tm4rQnA2IY= 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)(1800799024)(52116014)(376014)(366016)(10067099003)(261009223027099003)(38350700014)(5113699003)(18002099003)(56012099006);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VGdzbEZPVlpPR2VLVC9ObmVTRUJCdkltak5uQ0w3TU8vVUlwTGlzUUFUaGdk?= =?utf-8?B?ZFJPRkg2VnVUM3hYaFFzOU5jaVR4UFR2M0ZLd2RzSW54VU5zZVlHb3VZYUp4?= =?utf-8?B?bXQyL3JLMkljOGMwMnJTTlNYckZYa2YwcGNMSXh4R2cyTVFKOFcxaHlTWXo4?= =?utf-8?B?ZU1QRmRaczgxckV0NFlzRWNtMEYxbDd3ZGs2YUl6UXViSlNmNHN3S0lUWWFB?= =?utf-8?B?Z1ZSVjR3VFRuTUZ0cFZCSWVLY1JydFVZV1hqNUMzTG5BZ2YrRzZLcVhYK1lm?= =?utf-8?B?dDYxUWxxbUFyM3FJUnB1NmpTeDBieXZpSlVaZTlMQTNpOGRFcEErWDRpditV?= =?utf-8?B?WWUwUlRtRXNmR0pQWllHMy9UNFFQOEo2dFkwZWtIMkFuMFFOcmRscXFBdDdQ?= =?utf-8?B?Q3ZsdGV0am1FUmV4V0FNSzNEY2Vkb3NWZGxIK3U1aStjU24wQXc1RGJONG96?= =?utf-8?B?emNObDVvRk81WWRaK0FneGhBUm5sVFJ6Q3graUZkSWFDL3U4NGNnUEc3NEdP?= =?utf-8?B?U21mcDNRWVFJeVV4NUxjbHZTbUlBbHpHRTJDM0dyKzRobXkzY0ZucnBlYk0r?= =?utf-8?B?QWFOaEJSZThZQTJDUHBUME5EYldvZDZTWjBxc3VUS3lLWHNIemM3U2VlUm5w?= =?utf-8?B?bFFEbUlNYXRXNzdEOUphb2gyKzZHQXBjSkFsMFR3N0JaNVBzV1hzdko1WlJr?= =?utf-8?B?RUswT3c3Z2kzazB6VmFxZmpDU1IxRnlSTmY4T0tLY09VTy9xZ1hqV1F6ajJ3?= =?utf-8?B?NHo5ZE1MZ0tOakpqUG5PVUVlanBLU2hoVVJPN2R4aEYzQUpDczVaQUF2aE1V?= =?utf-8?B?UExuVUdDWHFCbGFwVnJpakxvL2REQzRRNzNSdytXQ2xlV1YwVWZpZUx3WVd4?= =?utf-8?B?WFZEc1AzemtaeVNBSzZuVmQ5UXFidVhmc0kyNXVlVTNNd1dvV1hKaUgzZTNl?= =?utf-8?B?cC9vT0ppL1NjejkrdDFjN04yMDhPZG9lclBmU2phV2xycE9FeWFwRGpsK1ZS?= =?utf-8?B?eThVeG1kTVVvcm9yYXlDSFBZS2ZNaVYxaUNsRFMrc2p2L0c0QnUvb3FFcnI1?= =?utf-8?B?aU5iK0ZYV1VkZFhabjJZdURJaHdwV0habE1DMnZvTC8wZ0RjeTBwL1JXNklw?= =?utf-8?B?b3BIME9JOWpJNHhsZTRqUHFrd3pJOUF0ak9nWDNpeGhnb2xZNlhxS2JKelJh?= =?utf-8?B?SE94WXo0U1BwdVZuTU9aR3ZtVmpKc3o2T2xWZDhmWXBCY2VUYkwvYXp2a3FD?= =?utf-8?B?ZDJncXZVbWtya3pGT28zTHlIb1l6UWNNR1ZGS2NibUs4cnpIN2ZnRTNGY0Mz?= =?utf-8?B?NHBGVlI1ZnIzcGtieEhGVm1WR1IyOEpsVzlhSkkrc2NDaXEyKzB1TWtETlVZ?= =?utf-8?B?RkM1c0dnOE1kM0Z2eHNMOE9ZQU13bVgwRFJWdUNTcHVFUENHTkNNaTRJVEkw?= =?utf-8?B?K2VvU2lPeEVxaWEydkNVbU1Yem9FM2dKYmZzT3k3NndlYmtGNFJBUTFMcW85?= =?utf-8?B?dG5DemsxL1k2R21BT01HN1BtZ3p5OU43QmJ4cHgwd2g4bDBuZ3lVb2ljSlhl?= =?utf-8?B?SjN6cWw5NU1xS2psdkR1L1hyLzZlU3FLRWI5MmJRYkhnVW5KR0p1UWR4ckFu?= =?utf-8?B?c3BPcVR4bE9KWTJTQkJsL1Y3Y0dKMGVwcVJvSFVoL3RGM3I3Z1ZXUlhXZVNS?= =?utf-8?B?eExGZU5kdTJwT3dlYnppVUdKaUdhNms2RE5ObFEzZ0hBeVUxNWxTUWlGeVJa?= =?utf-8?B?ZzQwZlJ3YkowWTZZeDFkQkhjM2ZuR0txaVRMWWJBL0JCR3QrakJkNjJ3NC9n?= =?utf-8?B?NDdTaTVPbnlKRkxSWEo1UFlDZHh0azRST2lmdzk1dzhSaE5XYXRrNzBmckJ5?= =?utf-8?B?cTRJUXlBUXBQRGszRWVDVm8rL0RjYUVsL3RKTGxQWkRIcmRlZmMxSTlJY1dO?= =?utf-8?B?Q2Jqd2R5enJMcncrUXlJQ2prcHZiZzFwaG9qM2NvaWJHcjgva09Oa0tTaGdD?= =?utf-8?B?cjMwcmVvMU5lendYZlFibTNteVprQnhvWmZNbVlwdVBQTWZjbVdURVlNTkhl?= =?utf-8?B?U0ZONk11L28zMWtmUkVPamh3N2dwV0pHNFZwOC92VlRyTkRhTjJ1Wlg3ZkZm?= =?utf-8?B?aDhWVkxLTnJHVWk5RXFSdks4Z3hYWFFoaWhQSlJUZHptdXd5SmN4am1ISWVI?= =?utf-8?B?Z2dIMnV5bWtyYnVTOGY5OXU3MkJNeFZqN2YzcHlhNjF6V2pQWFhZdVcyaHV4?= =?utf-8?B?R1NPNE1LK2ZWNDhiSFg2MWhyOXQ5QUMvZXM1U1V5bVIzMlBsQmVlakx0ODY5?= =?utf-8?B?aVA4YWJQMlpFSmpjSVE1MXRwMExJcFZZQXdrTlphT0hXd1Z5T1ZlcU13UnRa?= =?utf-8?Q?uNsCPUIEARmn2Yeo=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: cd44c33d-7764-4ba8-e987-08df293e9597 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2026 15:28:08.6349 (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: Q3NofGDm8dsC4N//dVXs4pPGvBx4c5ZAw2qNM5R3bYFr/z0yP3dpncbkC4CkvvZ7lz5Res9M9cY2DcrsG5VHgXF7kEmX+f+0WG4y1N1eOaQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5448 v1 -> v2: Fixes of the issues found by Sashiko AI review. - Patch (NEW) 10: ("migration: vmstate_save_state_v: fix double error_setg"): upstream fix for patch 9 - Patch 10 -> 11 ("migration: yank: Move register instance earlier"): don't leak the yank instance when the start fails synchronously (next migrate would abort), don't unregister it on a resume - Patch (NEW) 17: migration/cpr: add cpr_is_in_progress() - Patch 16 -> 18 ("vfio/migration: don't migrate device state during CPR"): VM state change handlers are gated on cpr_is_in_progress() instead of the mode alone - Patch 17 -> 19 ("vfio/listener: skip dirty page tracking during CPR"): only the start is skipped, the stop stays unconditional - Patch 18 ("VZ: physmem: align fd-backed RAM like anonymous RAM"): dropped, not needed with the kernel-side memory preservation - Patch (NEW) 20: ("VZ: vfio/cpr: don't close KVM on cpr-exec"): a cpr-exec that gives up left the VM without KVM - Patch (NEW) 22: ("VZ: migration/cpr-exec: take the vhost-net devices back if exec fails") - Patch 20 -> 23 ("VZ: vfio/region: preserve BAR mappings across cpr-exec"): drop the saved mappings at region exit (hot-unplug blocked all later cpr-execs), check them like ram_block_add() does, block cpr-transfer for devices with mmapped regions v1: http://lore.virtuozzo.com/20261009-vfio_v1-v1-0-2ae91d5b8048@virtuozzo.com --- Akihiko Odaki (1): vfio/pci: Grow buffer in vfio_pci_host_match() Andrey Drobyshev (10): kvm: tolerate ioctls after kvm_close() kvm: fix coalesced MMIO flush racing with kvm_close() migration/cpr: add cpr_is_in_progress() vfio/migration: don't migrate device state during CPR vfio/listener: skip dirty page tracking during CPR VZ: vfio/cpr: don't close KVM on cpr-exec VZ: migration/cpr-exec: abort cpr-exec if memory can't be preserved VZ: migration/cpr-exec: take the vhost-net devices back if exec fails VZ: vfio/region: preserve BAR mappings across cpr-exec #VSTOR-103860 VZ: migration/cpr-exec: allow cpr-exec with VFIO devices #VSTOR-103860 Arun Menon (1): migration: Fix regression of passing error_fatal into vmstate_load_state() Cédric Le Goater (2): vfio/pci: Reject invalid MSI-X Table and PBA BIR values vfio/pci: Fix information leak in vfio_rom_read() Fabiano Rosas (3): migration: yank: Move register instance earlier migration: Free cpr-transfer MigrationAddress along with gsource migration: Move CPR HUP watch to cpr-transfer.c Igor Mammedov (1): q35: Fix migration of SMRAM state Mario Casquero (1): vfio/pci: Initialize rom_read_failed in vfio_pci_load_rom() Markus Armbruster (1): migration: Plug memory leaks after migrate_set_error() Peter Xu (1): migration: Fix crash on second migration when cancel early Tycho Andersen (AMD) (1): hw/vfio: Fix liveness check in vfio_connect_kvm_msi_virq() Vladimir Sementsov-Ogievskiy (1): migration: vmstate_save_state_v: fix double error_setg Yanfei Xu (1): migration: ensure APIC is loaded prior to VFIO PCI devices accel/kvm/kvm-all.c | 23 +++++++++++ hw/display/virtio-gpu.c | 22 +++++++---- hw/i386/kvm/apic.c | 6 ++- hw/intc/apic_common.c | 1 + hw/net/vhost_net.c | 25 ++++++++++++ hw/pci-host/q35.c | 25 ++++++------ hw/pci/pci.c | 15 +++++++- hw/s390x/virtio-ccw.c | 17 +++++++- hw/scsi/spapr_vscsi.c | 10 ++++- hw/vfio/cpr.c | 11 ++++-- hw/vfio/device.c | 6 +-- hw/vfio/listener.c | 6 +++ hw/vfio/migration.c | 32 +++++++++++++++ hw/vfio/pci.c | 25 ++++++++---- hw/vfio/region.c | 72 ++++++++++++++++++++++++++++++++++ hw/virtio/virtio-mmio.c | 15 +++++++- hw/virtio/virtio-pci.c | 15 +++++++- hw/virtio/virtio.c | 10 +++-- include/hw/vfio/vfio-cpr.h | 1 + include/hw/vfio/vfio-device.h | 2 - include/migration/cpr.h | 7 ++++ include/migration/vmstate.h | 1 + include/net/vhost_net.h | 1 + migration/cpr-exec.c | 32 ++++++++++++--- migration/cpr-transfer.c | 33 ++++++++++++++++ migration/cpr.c | 21 ++++++++++ migration/migration.c | 90 ++++++++++++++++++++----------------------- migration/migration.h | 5 +++ migration/multifd.c | 2 + migration/vmstate.c | 7 +++- tests/qtest/q35-test.c | 6 --- 31 files changed, 428 insertions(+), 116 deletions(-) --- base-commit: f3c1d9ef263edfab8d2a273078493bb766dcf8f8 change-id: 20261009-vfio_v1-a176cddd6b64 Best regards, -- Andrey Drobyshev