From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <010701a15a2cd9a7-3a6e9762-cfcc-47f0-8c21-2e954372a997-000000@eu-central-1.amazonses.com> Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11023120.outbound.protection.outlook.com [52.101.83.120]) by lore.virtuozzo.com (Postfix) with ESMTPS id 8C910802A5 for ; Tue, 20 Oct 2026 16:37:36 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hw+WepECstpXgkehzyHrWGB81DhjPeoSCR/iwRj6Dz5uuJ5hj1ipDHZwSpcI/ldjH6KFNIwnkmqoXvFO2uXk7No8yS/cIDcw7AN7Sl7HGX7gDL57sOXkV0ku9uoZ1TMWAfggw5S49bCs8yPVRbLWwUt1e3sKLwIJhE4sZ3GdbzzQ7MPeOU9j2M9tvIhrkDvrFUGA0lfOvuV4hnmlRmcwdNddPpLCxopcOenV2GXR1p8wsSMHz+Q+r5lCG97ayYjXvLCiZOz+6gCggN7gGNMfGE0Yk9Z23ByZXBZ/z8/81WAtYNnbleu/BFjyRDOA3ctkb96D3/N7Cs910mTIVwOw0A== 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=9BlDuzu9BjJLwLUel65LZ9p3ib4a1q0qriSyP6kPav4=; b=HYK/YkeLd+8fwDE64lKeq3nqtqgEya5xm1R+mB2g8dLD5ZSophqGNjpNasQbC4HrdE9nckU6RVoX7Xd8BErRa8tdfl9hR/MY6ysGXiYS8Muh2TPZxVs5XdrZFz7xt+9CBBOcAZPFKInPcuWz9IfG6oXe/yFczrUriIJgW/HhmLFtpqzWge9/eV1sUNf9gAwyjzmnAPiwnns19K+JIAFYFJTFzH+OrNpzUtfeF7SDdwM+0vYaClCPUO5YWpsEDq4f+AKVAfWE1hjlBPLbD/TWC5stcWXRTXHRSt07j9chlb0lzll3gDBddOvj/oukC6VSbseXBKzd3MeXSQW9ZVlZJw== 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=9BlDuzu9BjJLwLUel65LZ9p3ib4a1q0qriSyP6kPav4=; b=XXqf/QbEMAAO/B7sq0eexgMKzyes/9tMwEyW3zHjVWfwysgDAYWQ+Z/UZ/Liv+A6oD8tm593eK+4fwLcfdu+280aoPgqGoWWnOlS++eLYN/xsPrD+AbmsCwi/9ZCz/Mn5G3X4P4tnknY2In9gHbhsCvbwpnrOK0AwuRMxBjHfuM= Received: from OL1P279CA0027.NORP279.PROD.OUTLOOK.COM (2603:10a6:e10:13::14) by AM8PR08MB6339.eurprd08.prod.outlook.com (2603:10a6:20b:317::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.15; Tue, 20 Oct 2026 16:37:32 +0000 Received: from WA1PEPF00009B3B.eurprd05.prod.outlook.com (2603:10a6:e10:13:cafe::a5) by OL1P279CA0027.outlook.office365.com (2603:10a6:e10:13::14) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.522.20 via Frontend Transport; Tue, 20 Oct 2026 16:37: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 WA1PEPF00009B3B.mail.protection.outlook.com (10.167.242.41) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.546.15 via Frontend Transport; Tue, 20 Oct 2026 16:37:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=23yjbh4k34hwzfubhuiim7m4inbd3ick; d=sashiko.virtuozzo.com; t=1792514251; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=1wx2UCRu/15qmBN6VkGNBvt0E8wKHww1N4dDuWYSCEs=; b=XrQvW7qf7TE18nZIQ1w1kMWo1DfiZueOP8FiS1JkU18xLme48tH0PG3TkokkEU0x sNYyNis1kRIuXyJnCK7DTj8NoyhQsohSibhixwh7OMrZHESEUiZbFSmSiaR8w66C0wP 9d32aUgE0CYdwOp8FMSktPfHxz6Ko4mWsxMraIzC2em3wTUp4Fsi2JmScl+FKaRII6Y J79nczjk4LsyA1LKd//NQ0LcjEJ699ctd1JpU5D/DomS4a8KPvtex451I+1XVysKh8w lVovaEnxq1QgRTcWOIS36AQGDwy8AXdoKjD1omZVE9K//hYcNxR2rmtJPkqcyMWcyix aieoBuEkwQ== DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh; d=amazonses.com; t=1792514251; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date:Feedback-ID; bh=1wx2UCRu/15qmBN6VkGNBvt0E8wKHww1N4dDuWYSCEs=; b=eqalw41faG6VmZJTuH/XYk7EAg+/1ngbUWlt+bwmxDG52wCfixbU3ZU8EIggZgHI gfu0cZSSL1UtiWFWtDQwqu+b6l6hFH8ULk2mQQX8Uh+ofMyQnGZE8fS+DZ4LtuxAja6 Dleant8u7cOhWiVrcu27KYUPih439i6uSuVu+viM= Message-ID: <010701a15a2cd9a7-3a6e9762-cfcc-47f0-8c21-2e954372a997-000000@eu-central-1.amazonses.com> From: no-reply@sashiko.virtuozzo.com Subject: Re: [PATCH QEMU HCI-8.1 v4 04/31] migration/cpr-exec: require a file or exec migration URI To: Andrey Drobyshev , svt-core@virtuozzo.com In-Reply-To: <20261020-vfio_v1-v4-4-83a5668230e5@virtuozzo.com> References: <20261020-vfio_v1-v4-0-83a5668230e5@virtuozzo.com> <20261020-vfio_v1-v4-4-83a5668230e5@virtuozzo.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Tue, 20 Oct 2026 16:37:31 +0000 Feedback-ID: ::1.eu-central-1.2wRQJBpg9g1fGRYexx3dUuYGS25Bux+2TEOx72/m6U4=:AmazonSES X-SES-Outgoing: 2026.10.20-69.169.224.5 X-EOPAttributedMessage: 0 X-EOPTenantAttributedMessage: 0bc7f26d-0264-416e-a6fc-8352af79c58f:0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: WA1PEPF00009B3B:EE_|AM8PR08MB6339:EE_ MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 028167cb-5572-45ec-6b7f-08df2ec8700f X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr X-MS-Exchange-AtpMessageProperties: SA 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|376014|48200799018|61400799027|9140799003|32142699015|5063699009|56012099006|4143699003|261009223027099003|10067099003|22082099003|16102099003|18002099003|55112099003|4113699003|5113699003|13003099007; X-Microsoft-Antispam-Message-Info: ozZnzowIQG5RdkCIp23mpgXVcyPX2vpbecJOm4gvN2xdJXteIzHd6mgzcocYq5ir5wL5DjPts9MYnxaOKlnb1/GEabiI9Wg6fwDzQveehHMaO7c1QJqtZP4iT6MYUZKf0xhbrjcetg6vbvm4ZvVmQq/qcxk9OhCknh/D2TWyc4BO19Wou9JZE1SDICMZW3dTUwxsGUt+C7dro/5myfv1qYFuYkVvd0Qfik70HivjeOk3c/TohHCkW1FDULPiYdQLiLojhXPLuVMhgf2uiTN/nC0suEuQlOTDhkjeMN4q+Qs6rKTIopqwWe8ldfFeQvlJSpEMNzqMnyEeVC4aRTltj6uDCh7RFJCFDFuuss2Ci/IX5lmBMciXfqsQubRVezXytTKI4nNT9Rk1P/a/bQbOI16nTAsp8nSEt9ljpiUR/Fj66CEkNI4DfsJXZQgwRB1W0aIRY+mAkt07s9c+E2KJ1UpuinYZMeFpnPFVDiZyrYcDHwNGmWTb1RDyx0K598TYmFw7byjFR+7wd/j3VhqmmVij2pnKlxGq0U96sHZEj8rwfy69JLLPXtO3OiVKc3v8GGOd7qBFuidAZfNwkoCrBhjI9Xm/a8h1bPqbFfmM5rS9dS0DSUZ8Wrw2EknMSM0KUWFiFkYPXXpw8quScz6AuTmYvCpO6wJea87mkgXfvOlJT+J8wYEUxhzjVsELaGouAKm1r1Q7UIbsocaoThPbwf4fWOh+3/mXrLiVMSpVkm4kVaAe+KwaguQPyFQY6wEsFjUuya5JgLAAStN84h2/WtsGz6CIhWxJLz4HmC6bQIvxsy2NekFeIm+gZz7RgT/gy2rKtFF9SPPQ6rE2GR7AyRydNJ/sVM6MBvIYbXPuQ1qlYeQl9U4iDienfM+kma5y/QSGr3FOIWBCCA+eeaWoKP7H1IJu8seEcy6bVFzGKnZdkuY75BbpMRLeGq3u4ZW4 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)(376014)(48200799018)(61400799027)(9140799003)(32142699015)(5063699009)(56012099006)(4143699003)(261009223027099003)(10067099003)(22082099003)(16102099003)(18002099003)(55112099003)(4113699003)(5113699003)(13003099007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: xBBnFfxRZqehrPDFZAmM9AqK0EBqotmFeQApzHw97VGax67EBEExMzFfDwBoEhmMxnJybJj61eR3yJyDdyj/nWMZXLzfPc9DyQ24qh192rYB0JO/PE1iYqAS8aIXkh2NG/etzL2YshIMHcv5sRbh4//GdJiAR4LwGJ73PYeHdGM1rpWoZVGrRNP40m5HIPBISHDmh3vtI20+s+qgmwzTfkgxQSZDzMeTmUBt9S/tbMzb9ABzypcrkZd2lbD2WJlo/3uPjF/pkXq1WYU/+59dfHgV6NWp3A6oXTuXe7d8QiBD26h6MRZWsIKNa7nCvFT6CBnF6z1CqZZmfnDoDuNjgqJhJ3hpnfh8rqWeZ83CV4h6R/I2rynwcfx2Kt5tIoZx29WS6LemE2w4QoNfwg07fE5GU002gqp1smgQLYwxabtxTL/qj+7lvXq4/yNCru34 X-ExternalRecipientOutboundConnectors: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2026 16:37:31.7122 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 028167cb-5572-45ec-6b7f-08df2ec8700f X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: WA1PEPF00009B3B.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6339 Thank you for your contribution! Sashiko AI review found 1 potential issue(= s) to consider: - [Low] migration: cpr-exec URI allow-list rejects fd: and leaves CPR.rst w= ording stale -- commit fbc8a913b5e7d85aa60e1735bde2730f6a4684ad Author: Andrey Drobyshev migration/cpr-exec: require a file or exec migration URI This patch makes migration_channels_and_transport_compatible() reject any migration URI in cpr-exec mode unless its transport is file or exec. The aim is to stop a socket URI from sending a stream without guest RAM and then exec'ing the stale cpr-exec command. > diff --git a/migration/migration.c b/migration/migration.c > --- a/migration/migration.c > +++ b/migration/migration.c [ ... ] > @@ -258,6 +258,14 @@ migration_channels_and_transport_compatible(Migratio= nAddress *addr, > return false; > } > =20 > + if (migrate_mode() =3D=3D MIG_MODE_CPR_EXEC && > + addr->transport !=3D MIGRATION_ADDRESS_TYPE_FILE && > + addr->transport !=3D MIGRATION_ADDRESS_TYPE_EXEC) { > + error_setg(errp, > + "cpr-exec mode requires a file or exec migration URI"= ); > + return false; > + } > + [Severity: Low] Can this check reject an fd: URI that was previously accepted? An fd: URI has transport MIGRATION_ADDRESS_TYPE_SOCKET with SOCKET_ADDRESS_TYPE_FD. It therefore fails the new check together with tcp, unix and vsock, even when the fd is a pipe or a regular file. fd_start_outgoing_migration() still accepts such an fd. It only warns: if (!migration_fd_valid(fd)) { warn_report("fd: migration to a file is deprecated." " Use file: instead."); } So "getfd NAME" followed by "migrate fd:NAME" with mode=3Dcpr-exec now fails in migration_channels_and_transport_compatible() with "cpr-exec mode requires a file or exec migration URI". It is unclear whether fd: ever worked with cpr-exec. A named monitor fd is not among the fds that cpr_exec_preserve_fds() preserves. The new QEMU would need a fresh getfd and "migrate_incoming fd:NAME". Is the exclusion of fd: backed by a file or pipe intentional? If so, could the commit message say so? The commit message says the check allows "the two types the CPR documentation allows". docs/devel/migration/CPR.rst, in the cpr-exec Usage section for the outgoing side, says: It is recommended that the URI be a file type, but one can use other types such as exec, provided the command captures all the data from the outgoing side, and provides all the data to the incoming side. This wording is not exclusive, and it does not say whether fd: is allowed. It still implies a looser rule than the code now enforces. Could CPR.rst be updated to state the file or exec restriction explicitly? > return true; > } --=20 Sashiko AI review =C2=B7 https://sashiko.vzint.dev/#/patchset/20261020-vfio= _v1-v4-0-83a5668230e5@virtuozzo.com?part=3D4