From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <010701a169d1956b-07097dc0-e9c3-4e74-8e3a-7bb89b12d61c-000000@eu-central-1.amazonses.com> Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11023086.outbound.protection.outlook.com [40.107.162.86]) by lore.virtuozzo.com (Postfix) with ESMTPS id 536E88045D for ; Fri, 23 Oct 2026 17:31:49 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=k+Pwe0YFYPko06qPJxGQVq8uuaAj58poUtjJfu3UxT6LPXFLG9DAGhwZzcWdwAu2UyyZP/vkIJ9QX2oRVYGDCj5Cq4fo3Ecr7xk47cLmkXpnmYahAfVWNJXCORk1lMrr0esBQUdKrpOtPhRDkB3tZMnrrNz2O2eG/7xiL1klxVM9AUwB65ea6hLmo6kAxlSIt4ifzU+BEEIj+RA75Itea6044A5SooiiByd97pLPZtUnDKYcFWIdUE0BIIgtCwKLDGnsTkjQ0gHr7QVpdgNhKDOk9FxCCaQF094AMxDxVHn98bwhvKNutexKQjTRY3+KZA568RUFdj0XOgp7Yq5wXA== 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=khJNEvo0jL67Fw98WGarBh6FFktz+0+dauZ6vYunMgQ=; b=HljB95tzoNbuE6ouY5bfmWZHwwYb96vTmPqfi63wgBvYS2QjynUmixjMfgSFKO8aC1xi44zPdM9aQaL7hLB9mN+PTYuQbCEMrMUgaMtCE8Hdto53dFoCuKNr3jvDXVOlqYUP2WPstbrQAFQyG3PNsh3y4HtrZiBRpivumsKwIXyNrwcCdK2jptBxKe3OPJdZFmwHWVgm9JYsczIUOshDOhmlzcJNWrw7t7nZaHvzvYU0o1nUpbOsqJXeAZLUwq5pI1VHtEBlTUt1bgCBjRl2nHhveESgE7A/kWc7W4GVm9Yh7yBUaudgJKQC7AzXP9u9mUQ1hc5zjxLXI6Avnuo+Zw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 69.169.224.1) 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=khJNEvo0jL67Fw98WGarBh6FFktz+0+dauZ6vYunMgQ=; b=WX20K80Ri/KVh4otI/Ie4chjH54DieRy5SbOp8xnZ6FadAhoNlbw/w481PlVMWA1aOqReLyVeYRXeOH1oHTkndxAloIdxBQLAJZrbj6TOsOC/37Y4rdrCp7gJ0bVSpaAZpZuscG2sa+XSEvhS+93ss4GejLoLDMj5ZikuSMhUus= Received: from DUZPR01CA0261.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b9::19) by AS8PR08MB6726.eurprd08.prod.outlook.com (2603:10a6:20b:39a::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.19; Fri, 23 Oct 2026 17:31:46 +0000 Received: from MAD0EPF000008B9.eurprd04.prod.outlook.com (2603:10a6:10:4b9:cafe::78) by DUZPR01CA0261.outlook.office365.com (2603:10a6:10:4b9::19) 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:31:46 +0000 Authentication-Results: mx.microsoft.com 1; spf=pass (sender IP is 69.169.224.1) 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.1 as permitted sender) receiver=protection.outlook.com; client-ip=69.169.224.1; helo=b224-1.smtp-out.eu-central-1.amazonses.com; pr=C Received: from b224-1.smtp-out.eu-central-1.amazonses.com (69.169.224.1) by MAD0EPF000008B9.mail.protection.outlook.com (10.167.241.167) 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:31:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=23yjbh4k34hwzfubhuiim7m4inbd3ick; d=sashiko.virtuozzo.com; t=1792776705; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=vw7ZFY9RZjkP/8ZgeLJDS5XgAC8GVNvGXUIZe9YMdK4=; b=jxbeyVpnPLrUh0AO9jWDakCqIbhoLEQV6fDWA5c3h0g3vrJdhXXxBvHM8+FnJijS E2d9qP35/KkLHtrWBGlwfXSYP4rjzeiMaVnjI4pdF4QfGoUuI4uIfFLD8pxv/3oO3fe ttxc8BM1DDrpMB9kcqIwTpvIG+io4Ao50SndUveh1CYi4hBfnoNZPD2jZdgmYdGplNA WPmAf/2lWKuhSZ3CEXfLabrwHh6eUzpOFXRkugreU7PDuo5jfTLsA+R0H0wlbOTg6/m OaRtTghBYaVPwnklJoAvNsmj3410krch3LhqTvyGoKNr9aH5+hcHH2kI3/rLvhZSbJY dr2c8GxDsQ== DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh; d=amazonses.com; t=1792776705; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date:Feedback-ID; bh=vw7ZFY9RZjkP/8ZgeLJDS5XgAC8GVNvGXUIZe9YMdK4=; b=E5tyl+JnyXqft/LdHwRlLUpy5kvix5Q1zrZe1g8pzSknV7CYOWZE+v2XzylxMjrL LE9Nmd+LsafgF+X2LkVda+SwW2Hdmtn5cTqhGFyAdfn1OML+ElO9YJLNFKhG1FNQo9+ FvHWZazfvbSRPdK7163NoNg15X6alilbB3EPm76M= Message-ID: <010701a169d1956b-07097dc0-e9c3-4e74-8e3a-7bb89b12d61c-000000@eu-central-1.amazonses.com> From: no-reply@sashiko.virtuozzo.com Subject: Re: [PATCH QEMU HCI-8.1 v5 30/36] VZ: migration/cpr-exec: take the vhost-net devices back if exec fails To: Andrey Drobyshev , svt-core@virtuozzo.com In-Reply-To: <20261023-vfio_v1-v5-30-ba0bf3c6d122@virtuozzo.com> References: <20261023-vfio_v1-v5-0-ba0bf3c6d122@virtuozzo.com> <20261023-vfio_v1-v5-30-ba0bf3c6d122@virtuozzo.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Fri, 23 Oct 2026 17:31:45 +0000 Feedback-ID: ::1.eu-central-1.2wRQJBpg9g1fGRYexx3dUuYGS25Bux+2TEOx72/m6U4=:AmazonSES X-SES-Outgoing: 2026.10.23-69.169.224.1 X-EOPAttributedMessage: 0 X-EOPTenantAttributedMessage: 0bc7f26d-0264-416e-a6fc-8352af79c58f:0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MAD0EPF000008B9:EE_|AS8PR08MB6726:EE_ MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 997f7bf1-28a4-4bce-ee95-08df312b82f3 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|61400799027|32142699015|376014|48200799018|9140799003|55112099003|6133799003|4113699003|5113699003|10067099003|16102099003|22082099003|18002099003|13003099007|56012099006|5063699009|4143699003|261022075727099003|261009223027099003|261021121427099003|261022105027099003; X-Microsoft-Antispam-Message-Info: hhSOWAYQSPS+B6vyRoY8I+1Y8FJBIyfjgYbQ86MoCHg8EWf1K0Ib8+noOWTJdQMlmcqd1rsrrrywf7ZIcZ2TWpT3lG1MlBHzVf0PKOdM4P/DwFB5IQvBLwZx4JvWhcy6LFjXQipkePAQJeWifyiBHFFvRDN9GDU80bRQUF2ApP3o+5/UAB3Jiggr7FaE+NYK8k6vUgzbdymAZ+Q9gROcGFRt/Lg+g2zdICVhQNOJn4e8Toec90Hdg3KlHKQtJ8o/IjpL2FJ6eubJAP85mxpXCCc9bYvEH8I9M20iJFTQZ+iYzQcbqUTkr59e5CcSIW9egg1VIxwwklWeE0FIrDpCBk6h2MJs07deSIEn0V2FRH7i0/7sBIEzHXEYe0bIazW1yZ/y7nLFeQF/KdElUOUCKrHoAu9L9hQMTR4ag/PCjVQlrFNDAHC6P+qbDSmdau/3XnrjAQ3knDbPgvzSJXE2ktId+vKzLOvQPCDwTBJq5MqGhndLrqJMCTQ1SqhobxU2VWz/icYvioOgNwze+MTPoWQukrIKWT/3G72dqj/xbBMjfljSlnUF2p7uUqA8Sz+8XNV0uiPV5RZQFemADz8gbzW+ntkMKEevsOaWo3gu9NEqq6TECLE/TledIzqMCoSzFeNyTU0GesUCNQCPedv2G72sTeX6eh4pAPKJ8aLsJgj+bVrdSdwI/cuf+xDUXGuJDxNLEC/KeYtuVFthiK8ealkZBb1OfGSFv2cdo7EbA4U/eTtfEg4PSMGDIRahjPCnqJXctLa2cN97ZDzujvPnZvfD0I8WWaZtKS3g2niQ1nXMPrfc0sGCIPU8FP+pyskCaCj8QGfwjBL/SJKEpoEmkyCkmYm7t4AXEArWrDIImEWhtzf4OKVN6I/L8A6gM08B X-Forefront-Antispam-Report: CIP:69.169.224.1;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:b224-1.smtp-out.eu-central-1.amazonses.com;PTR:b224-1.smtp-out.eu-central-1.amazonses.com;CAT:NONE;SFS:(13230040)(61400799027)(32142699015)(376014)(48200799018)(9140799003)(55112099003)(6133799003)(4113699003)(5113699003)(10067099003)(16102099003)(22082099003)(18002099003)(13003099007)(56012099006)(5063699009)(4143699003)(261022075727099003)(261009223027099003)(261021121427099003)(261022105027099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: n3srY0jFgDDWXTCdnvEu5CxyUUuGEYtLzh9UEimIBcsxp1x+g+gsmi8TY/lEx5m9RTKJ4bpyGiU9ZhMAMMvk0onun4/qR+Tl471PCtC1it94ti1KGd/s7iq1gBbsesbxzcqchPuf/NkkRIcpeve9z7s+6N0aM+jvcQ/daqiwD0r13bqT+bOnBTQMv1duDi0E07v7bDw3B0cXgfR0thmZN83xgQH54aZJrHUqPMbvhMYWvaNtU5HJwZMDiJbW+F9ocDj3dkbiri6hpEolrXrpKZYiY5QTmUe/xxXrGxJauqUfmPBzM4I56zmhGb42oC65DLbFfXRZ1e3AuM9euMX3JbqRydlGV7aN5X4MKMc39Aodnbfvy6T/clP7DZp6vc2KJbx0+pGoFdstNn50iD6r1p2n4eLgFmTBi4soN9Vcfxyd5t5Fifs6eac4H9V5sCsl X-ExternalRecipientOutboundConnectors: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2026 17:31:45.9349 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 997f7bf1-28a4-4bce-ee95-08df312b82f3 X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: MAD0EPF000008B9.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6726 Thank you for your contribution! Sashiko AI review found 1 potential issue(= s) to consider: - [Low] vhost-net: missing vhost_net_cpr_set_owners() stub breaks link with= out vhost-net -- commit 254c845f4346569ec4ac6196d59e129392d054ac Author: Andrey Drobyshev VZ: migration/cpr-exec: take the vhost-net devices back if exec fails This patch adds vhost_net_cpr_set_owners(), which calls VHOST_SET_OWNER again and re-registers the vring call and err fds for vhost-net devices that were released before execve(). It is called from the fail path in cpr_exec_cb() when exec fails. A new cpr_owner_reset flag in struct vhost_net records which devices were actually released. > diff --git a/migration/cpr-exec.c b/migration/cpr-exec.c > index df11b0c7633cb..e4ea160698cd4 100644 > --- a/migration/cpr-exec.c > +++ b/migration/cpr-exec.c > @@ -253,6 +253,8 @@ fail: > if (cpr_ram_rdonly) { > cpr_ram_restore_rw(); > } > + /* Still the same mm, take back the vhost-net devices we released */ > + vhost_net_cpr_set_owners(); > =20 > /* Note, we can go from state COMPLETED to FAILED */ > migration_call_notifiers(MIG_EVENT_PRECOPY_FAILED, NULL); [Severity: Low] Will this link in configurations that build hw/net/vhost_net-stub.c instead of hw/net/vhost_net.c? cpr_exec_cb() in migration/cpr-exec.c is built unconditionally. It now calls vhost_net_cpr_set_owners() right after the existing call to vhost_net_cpr_reset_owners(). hw/net/meson.build builds vhost_net.c only when vhost-net and CONFIG_VIRTIO_NET are enabled: system_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('vhost_net.c'), if_= false: files('vhost_net-stub.c')) Other configurations get vhost_net-stub.c. Examples are --disable-vhost-net, non-Linux hosts, and builds without VIRTIO_NET. That file ends after vhost_net_save_acked_features() and defines neither vhost_net_cpr_reset_owners() nor vhost_net_cpr_set_owners(). I found both functions only in hw/net/vhost_net.c and include/net/vhost_net.h, including at the end of the series. This patch therefore adds a second undefined reference in stub builds. The missing stub for vhost_net_cpr_reset_owners() was already there before this patch. Could stubs for both functions be added to vhost_net-stub.c? --=20 Sashiko AI review =C2=B7 https://sashiko.vzint.dev/#/patchset/20261023-vfio= _v1-v5-0-ba0bf3c6d122@virtuozzo.com?part=3D30