From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from DUZPR83CU001.outbound.protection.outlook.com (mail-northeuropeazon11022135.outbound.protection.outlook.com [52.101.66.135]) by lore.virtuozzo.com (Postfix) with ESMTPS id 291888017D for ; Mon, 2 Nov 2026 10:36:25 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oZddkb8fGIAkz5HSAa2YDgGGmijVbqqjDSYF/niQRl++OKW44DV7KJyq1k96mQwTG5QYGGfj+XDgQcHieK8/NoKAabdKTQEygDI52lXo+lDTZ9tA29YaKXCLfcR+AWdGpUIeo2VwTu2FRzVZA2hHJ3NE/padEsdig5EkaySQmJIc1bdz07gCbIpZRe4aXZet5Kfxt2Npa+EzC0Pl61nHoVNIGbPJ3YK+ynBalHJ3URjiLOiXKeo0zA+XH4r0cq5968oC7yyb5abBsZci9ZppiP47NFWQlJ/emEL4x+3tq3kc+rxTlSS1+ko/VCHrAuFE9/5SKy3BpZkcT8KudgWVgg== 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=PMpGwyL57S3HPXGtAaWBwbyW4ORs2WcTGLnU20+wh6o=; b=lta3CAzIrinktj5xeGtG+VFGu4aTlMzm15whDj12Aa3GOZEbOJqf+6jqQsDyNb064P0mrBL3i5pRDxMdmmCgdqkbf/EbiB60sra0vrFkEbRTaRV6rLg9GOKpUuLRvUndPESUra1XUqnq70iG/+ipl4YumHqisFJo3stdKxZfMHSfDMsr9C4HuU0GnbO9aXk2l/u72OScDl4S4q3A+lO7fqSNE3NLT2VVyO+vIqcCOzrRjflI8HQ8LdLCQpW/e9zpDTgYHgOjrEQDrCt7Ch6jEO2lPSPLMhwijsDgOELGh73BANxO0N/IDYJLXhhP1gpNamB6aZNXn2PAnpawAyFM+A== 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=PMpGwyL57S3HPXGtAaWBwbyW4ORs2WcTGLnU20+wh6o=; b=KZYq5upXblenmVHIwavwvIEhKInHS0dJ4p5qR/2Vif6vwYk3Jf5r9AQl8U+VM15YB/NzUIXjPJQtHx72yXcRu9YlQxiuj4MEHbz5wW5KTxTSXJMtIOnmnZcQDSXWDkiEdIcz2o2ZXbD2OroPGVV9yTkflVT2juHxsEu+rHvomnIKRh/YsN0KZlhYl+7aWnYbAecIpQC7iaoclBmTcxYvky+sijz8lBPb1CsVOFO+wbDCN3GQmKfJojk1ilijs7nS1qN9DWuYrszuvUDTPv/UJRiriVAk1G+9SAnBfiDtaZMNDYaeNgNS3ocjvMCgRXCWgAj0p1Bk33hBBCV7L4CBJA== 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 DB4PR08MB8199.eurprd08.prod.outlook.com (2603:10a6:10:381::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.569.12; Mon, 2 Nov 2026 10:36:23 +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.0569.011; Mon, 2 Nov 2026 10:36:23 +0000 From: Andrey Drobyshev Date: Mon, 02 Nov 2026 12:36:17 +0200 Subject: [PATCH QEMU HCI-8.1 v6 02/34] migration/cpr-exec: restore RAM write access if exec fails Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20261102-vfio_v1-v6-2-9bc7cabc850d@virtuozzo.com> References: <20261102-vfio_v1-v6-0-9bc7cabc850d@virtuozzo.com> In-Reply-To: <20261102-vfio_v1-v6-0-9bc7cabc850d@virtuozzo.com> To: svt-core@virtuozzo.com Cc: Andrey Drobyshev X-Mailer: b4 0.16.0 X-ClientProxiedBy: VIVP296CA0048.AUTP296.PROD.OUTLOOK.COM (2603:10a6:800:353::18) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|DB4PR08MB8199:EE_ X-MS-Office365-Filtering-Correlation-Id: 655a8141-e479-43cd-c071-08df38cd2377 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|1800799024|366016|23010399003|52116014|376014|38350700014|56012099006|261028144727099003|261026121527099003|261021121427099003|261026140227099003|261022105027099003|10067099003|18002099003|22082099003|5113699003; X-Microsoft-Antispam-Message-Info: z2p0pRKg8/ffgNDlcR1Kltz9ACix1yw1N9EGacS6REoAyMT57GO8/3a4wkCjzMzt5X9wMXx/w0Kgv7zbAu/Kx3PCCtBQUzQzAjXCQkq2I5SiqY8l6UDptMg7IxzImry+wu16PnGIMWE8AX0ZLDkrVITLbXB8KjPs+uXhPou6VaHH1hg56Evzx6VkONkf4VSB6JT9LrWwDdSdVy5vXyowvMnxxnU4JYHG8/aQv8eaYLOuDgUgZ7BD+Igcdvp7GVaDyfPz1NZ29TTxa5xdUTQisA9m5lRIlNuwtp28mHbliSMEfloHodNP1U4/yVWhsqLeuHNhcSJ7Hx+ixlD8BQWvYp6M+k8Yweb6UKRPU0/qBGeZ66Mjy2HUYehqsw1/TnLPhOkV1wOqdFM9BLzQAKHul8MLxBUcfcIvuB3zYr/AVsEkJyqFSjV+pt0LiUzWPW7KHA/gNDBYYi/aeABA1GXkHY+GFIommD+/NSdGEvoZOPP/fD3aqhbV2XB7w58ZQaoNJlTLaDti9gNUbI9EJeZXioDYm9u7jqa4oCuVxA1UVHDL01iGFpmK/gLeV3Z5mv/rvMSjcoRzMFQfeEdZIHnujMBedw6iyajhKR3C8+DIqdViL59pItvNXC0evjL6qYg7AYWe5UL/gt278X/rlAfwV502DMPJ+TlzbVAdOtucOUB10P+kdn6hiwO7zeZR3Pwnn+VXNqwznpeeXEdZ69FIbSTxZGb8PKEG5STe+MzfLAw= 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)(1800799024)(366016)(23010399003)(52116014)(376014)(38350700014)(56012099006)(261028144727099003)(261026121527099003)(261021121427099003)(261026140227099003)(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?THZtRU82VGVvcmI1Rk5oQzdmbnJsMTZMTWZRellNQU4wVjhvNC82azZ0Z1gy?= =?utf-8?B?dG5UeW82djBaY2dqOS9WZ0hjNm5mWXFNVDkyQVVZSkdWVk5FOXFlODJrN05a?= =?utf-8?B?Q2Q5NHBySnhpZzQ3UzlKelNjUlRUdUFYMXVFcUhwT1hpb2MyMEI1MXdjSml5?= =?utf-8?B?eWR5OTY3dEIwZDV5ZnFOQnV6ZlF2cVpSY1crdCtvZjNKRGtEZWpjWjdSM3V6?= =?utf-8?B?R2RxUzRwWjB3YnNWKzByT21nU25xb3N3dmpkNDRkQXhaQ3RZSkhSenRPVlhu?= =?utf-8?B?dHhhVGpJd3VrTzhydmovWWFRRkFaWkM1V2FOOTFVaXdITTk3bzlOOFUxSXQz?= =?utf-8?B?YjlKNlpzV0dac1RLUUN3TlJLb3R6RDVuSzU3ZkRCQnArQmFUcmVWZ0s3dWhp?= =?utf-8?B?bnFLTzhOeTZUaC9GVmM0Z2lJbUZhS1UvOTMxajJaT3FSaFA5K3FSS3QvZ2pV?= =?utf-8?B?NzlxaGpVd2hNQ05PRUFjQk9wak9nUW1EMHJieXdsMDM3TzBWMzhCZ05PTi9U?= =?utf-8?B?MjEzdU9VYzNibmFGbmR3NEJuL3RtRDEyQzBqdnI5OVpmU3htL1dTKzVuTlBB?= =?utf-8?B?ZWpQRUh6T25GRDFjZmxjNGkzS2JXbldQbmUvbWlCYWtUVE5Oc2xvSXE1NDZX?= =?utf-8?B?TXB4aXJHZXY0TERhZjFKOUFrb0ZDSldtY3RseHdmQllKUUVKSzVvVGlpV1pN?= =?utf-8?B?YzM5RVFkUzI0Y2diVWN6dkdlcWUzTXBGZDErOSt0Y0E3cUNYZ2lRektubCs4?= =?utf-8?B?enR6d2xWV3V2WDNVTWh4NkljUnU1b01yVnRZR25UREtPbzlvQ2R4V2lzbEEz?= =?utf-8?B?RVlkRnBSR1R0dHhZQUVLSFdxWVYza05FSFBYdlZOVVVCNUxNTUNsdUsvenJq?= =?utf-8?B?Mjd3UHQ0RWpwb1FIckNUdGdvdzhrV0txTHRDT0FqNlZrTGo2aDRPK1p4U1VR?= =?utf-8?B?M21waUhzbGNYV0hJUjVMMFQrZTZYSTBBeE05d3hnSWxmMy9YQS9jNkRRUDFl?= =?utf-8?B?V2VjRU9OVTUzZjlWM1l5UVZoWUM5dmF5Q3VWcnVaWXlJR29iNFJ6MG85L0Jh?= =?utf-8?B?UGIxaThzNUdpaUh5OTJQUC9ZWEViTnN5WE8zVlhsMHdaNUZyN3Yzd294aC9i?= =?utf-8?B?UDFhQ3R4NG5IUVE1OXhKOXRBK21UOHg3aDBrS29kZSszSDU0SUEwWEplUXpz?= =?utf-8?B?TnVxUm54Z1I3b2dZM2NMREdDU1llWFBFY1BOa21GSEFhT2wxVHdwMElFTHRD?= =?utf-8?B?QVNBeWpCb1hUNHdtZTVNMnpLQ3EvUStaUjdUWGs0Sk81S2tEQS9Ya1ByR3do?= =?utf-8?B?MDMwNEl3L2pVSzIzeGN5c1d3RWVNT2dxSHZCZjU3bUpDUjFTd2hYNGhCNFJx?= =?utf-8?B?MXM2cTAxWkhpUUl5TzdmS3JpQVhZN3RYRHRyUnI1cUx5ZFpJTk9xSFZhcEQr?= =?utf-8?B?U25CV1hVa3crTHpVN1prNDFSNm94Vjg3UG1Uc2lDbzBJbTQvdTQxK21SWUF1?= =?utf-8?B?Nkx6dFFzQzV0amh2RmJ2ZWxHMTdZWE5XSEtGU1pQalgwYjRSaVltLy9HMzE4?= =?utf-8?B?bGd2Y0J2UUxQNEJsT0JmRHdEeWhFaHl3V3A2TkowYUhqOUVkMkd1RDF3aVF3?= =?utf-8?B?a2owVUhqeXdUT2JaWmJqeW16R3VScmdZWXI5SFlMRmc0d3lrNFlRcTNxdG85?= =?utf-8?B?cFVONU5meVBwZEtKQmFRcENhcTNqZGVGSVZKMXpDdUhQeXV3U056bzduWHFZ?= =?utf-8?B?amNkSDBlQUZpNGxmRjh2cFVWemVPUG5iZ1NWSElqTU9hL3Qya1Z6QzZuaWNJ?= =?utf-8?B?MTMzQjZuOEZVaG5sOURob1V2b0JVRnpjVTh4NnJ0ZjdtZHEvbUZDNFEzRWJN?= =?utf-8?B?UTMvb0l4TEEvU2xUNWNrWkpjbVFyU0RhMmJJTHlaQzVKdElKdW04elp2VXpk?= =?utf-8?B?VFEzdHZnekJqWm11N0ZydXl5dUwvNldHZ21jVkwzK252c25DWmZPSmtraEtC?= =?utf-8?B?L01wc2h6V28xSjJiVkJndG1TNnZTK1FtY2ZvM3ZOWjVCUjkzSmM1N3NxVy8z?= =?utf-8?B?OHUzTW9UYW9TL0lwSDIvR2xOV2VBUjJ5U0c2TWhLMVJZOHRBWFRxeEJIbm9i?= =?utf-8?B?bXFCV2xxOUtlYlIwRTh0a1gzM0x5cmZxalk0N0tDbXRvVHFVcXgxa0pvSEVw?= =?utf-8?B?UTRvQzlOcHdCRVZNbUwvb0doSGpvSStGdVA4WVcyYnJCczZEMXVzOWxXTkxR?= =?utf-8?B?NStwSVNRYzJDNndjR3UvYlBhRVlPRFFsUVp3MFZwNXJkWnJRSFFPbzhKZlBr?= =?utf-8?B?TWtVZnhhY094UHhPdDFzdm40bFIvMjcwazVNOW5aeFI3QnZXSUtvZ3ZFZGNC?= =?utf-8?Q?MbULP6vBgw/IZQOU=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 655a8141-e479-43cd-c071-08df38cd2377 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2026 10:36:22.5272 (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: 6ZDusjWn7RIWCnP6jv5KBRyaXTLYBlOETAMippA1ZsQInzcuzRe8lnLfMrN/zaBbsTUM6F1oA83p0h8DrcKyJ0qQJtPhkSpGPRibwZybHHA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8199 With -cpr-ram-rdonly the RAM blocks are made read-only right before execve(). If execve() fails, the VM resumes in the old QEMU with read-only RAM and crashes on the first write. Make it writable again. Fixes: 91da25f20471 ("migration/cpr-exec: add '-cpr-ram-rdonly' option to mark RAM blocks as RO #VSTOR-101579") Signed-off-by: Andrey Drobyshev --- migration/cpr-exec.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/migration/cpr-exec.c b/migration/cpr-exec.c index 9fd3515753a..c4bdf2cb99f 100644 --- a/migration/cpr-exec.c +++ b/migration/cpr-exec.c @@ -224,6 +224,9 @@ static void cpr_exec_cb(void *opaque) error_setg_errno(&err, errno, "execvp %s failed", argv[0]); g_clear_pointer(&argv, g_strfreev); cpr_exec_unpreserve_fds(); + if (cpr_ram_rdonly) { + cpr_ram_restore_rw(); + } error_report_err(error_copy(err)); migrate_set_state(&s->state, s->state, MIGRATION_STATUS_FAILED); -- 2.47.1