From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11023085.outbound.protection.outlook.com [40.107.159.85]) by lore.virtuozzo.com (Postfix) with ESMTPS id 6B9D88105F for ; Fri, 30 Oct 2026 14:45:43 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=n1HvZMWesklV2Wu3vG2uk9oFKcdd0I52+EWcrQmvxYBXrCpYdtBf2d75xcHkbdkRMN0o4f8Jdxzl85dz4p1H2OktNkKqey4Cp+SQ5UI2QMYmoqVHR6DHJOMEIPPW+HNx//djPemCRMimlOaKfUUfQbY2LZ4NN5oX8OynHdUzPHBQu88iMOQWwjSwS1aA0981rkrjCkeciFjU2Q3+IVPOWcoOn0/XSLiRapvqx8PGhrI+vZ3DVb7OyoBN4zB22zeA0Dd76pJRiiIb9zzAtLUZqD+oVYd2aNG3cstngtywZDiR2Zw0xCgTAC2SDC4FFtIBw/l+Epa04Dy5rYtY53sbVw== 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=YREhZysguz3Sxhfqq80zf4f/E/8eCIIOetut4Y/XT74cpH7cxGgqIO+xVa7kvpK/QiNiwETZHCOGSVr/hhEuOW7TFOKcmAHwaYmAxoaa3eekFN+VlQuhPnY7sQImjsAnq+P6QPeOJ/CSqxvXoRHJXf+knEEahI280zm/tQhK+xqj5j7bLMcH8aeKYwlz3TPN2Sb77PVOlRpzW/uWFKWKcAAEhCn++/o6WRdedJdh6Nhfn6w9T/wl5Mff1W72GM1SkybDXaGUiZWOpneniet48t3EV61tn9gtCYgWFuP52o/1NCBUEbYuk4oLbVFoshgEs58TWD5/2wPsL4YgMY7FZw== 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=lDtH0LdauV8PamDVdEk/12FVSXbqr+TO6xpHaf7Piy6C3Snw5PYRrWAHHgMJrVQunOCPCnkPcBsD9Z399RjzLgfbdiPprYRBDCNrOBy4fkrxWiqgWiiHX2QwniOFlMaNa2Isut+9bk0XLRFmuadWMjdfSd6eOg9NxrNyNoJeOVOH/PUqd64eoa7HLVta7KoVKQgb4LsAAFaR0DnAIYNtOmJqIknBNXJWgyT1PAqB9hWJGZbOg+cjn0B37SptKk5qNlk6MIy+L3uT/1kJZlWoY/hcJG41oL2mC2cJ0Fb7iSptMA24K5OYhjvPDXvsjFnA4M0F/z67NDgIhZT+USkczw== 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 AS1PR08MB7451.eurprd08.prod.outlook.com (2603:10a6:20b:4dd::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.569.9; Fri, 30 Oct 2026 14:45:41 +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.008; Fri, 30 Oct 2026 14:45:41 +0000 From: Andrey Drobyshev Date: Fri, 30 Oct 2026 16:45:33 +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: <20261030-vfio_v1-v6-2-45de246bc92e@virtuozzo.com> References: <20261030-vfio_v1-v6-0-45de246bc92e@virtuozzo.com> In-Reply-To: <20261030-vfio_v1-v6-0-45de246bc92e@virtuozzo.com> To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com X-Mailer: b4 0.16.0 X-ClientProxiedBy: VI1PR0502CA0031.eurprd05.prod.outlook.com (2603:10a6:803:1::44) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|AS1PR08MB7451:EE_ X-MS-Office365-Filtering-Correlation-Id: 29f4b503-cf78-497e-1a55-08df36947849 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|366016|52116014|376014|23010399003|1800799024|5113699003|22082099003|18002099003|38350700014|56012099006|10067099003|261028144727099003|261021121427099003|261022105027099003|261026121527099003|261026140227099003; X-Microsoft-Antispam-Message-Info: HGk3Yy96UTTfAhdfSXvkox85YOWVFVInlpl8ci/jBJw0Bs3+Mp+EHkQZUzASsMUKD5Guzof/lJ5aBNb4RoMb6Fmm2MyMBFaVoS/Knyor1YenDif7YuLP8/YaOZp0gVpcobJYsct0vdcZ03fZQSCBH5feJ0S1Zii5tcxa1cxwLJXv85ncXq4txEeO2fxYObjmIibcfmzg78pZRMUwWACoOxd1JUPpFe6Kup7qX/6rzlGlhblA4T3vzM982nEUFAbc6S7gVHYSh3dexzaOgGOA8LC9NXOQ6HtmXQy238SYejvtGNtUCTQpmVBqZHzCbKySZPKli8TF/Q6oauuNZkgZF7w8IvnffudeajsGqd3697aj3JywCVus0TSFY8HpyBVbfbVhIcCCkL05/MRawP3W4y65ctCFQSnaAedvEgjk8GbonKAvQnHdi39gEGJDEPP9ZKfu2YdZ+6pmHL4CnY0rdAcSfSJjaAFLBsJNYzzGxZNdY61T8VXkHTx2MZzzOP+ABqZoVuf8+o5AIDf0Fu+cmFhDVA2hLZUR2p+HLC20msTBMtpIF8owH5dwevOAUavBVmP8GvNy2qQ5CUp7tkNzajkzQ2mvhMwqXxd5wtybD7XgcN1W4qZ1B0Kod8zadRoBEvPyDa/9hIendbIofy2zyqxqaw3/bXFt+/e3fdDFvhHjqUsUWycpv4y3sRoeitYstQLZS/EvB22tHHlHmd3d5ZFIlFD/VpivvVQDtzGplKQ= 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)(366016)(52116014)(376014)(23010399003)(1800799024)(5113699003)(22082099003)(18002099003)(38350700014)(56012099006)(10067099003)(261028144727099003)(261021121427099003)(261022105027099003)(261026121527099003)(261026140227099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?d1NqN1MxQVVabnRzZE1nUTNObWpNZnBQZHpDT1lGeWMrNFZBN3hXSUJ0ekR0?= =?utf-8?B?YjZUQ3pBbXVPRXk4d0tTK29OcXNCNTBnbHArR01yblZEV2VxeVBrdklXS3ZR?= =?utf-8?B?NUVyVC82UmpDM1F2bHdjVGFwUjVUQWgzcWFRSDROc1RtYzFtb2NremU3eC83?= =?utf-8?B?cSt6c0puSmVFQVcveXhML2Z4TWVKNEExRjBnYzFCN21XZXI1Q2I3TUlMZ0FD?= =?utf-8?B?WnhRdFRlTFpqeXNkOGZQZWd1bG9KQ2swcFZtUXRseVc4SjZ5bVNqSnZLbXhF?= =?utf-8?B?bXh2YVpkeUthdG03RHRITy9qYmZjc1phbi82SHVSYTVtZ2hFVFJxckRNQS9V?= =?utf-8?B?ZkVlVmJxQVJCZ09pTENtU1g4RFBCU1NIRklSRktTazB1eEdtNEJOQTRSM0pk?= =?utf-8?B?a0IyU1RlbE9XUmlheU5naHpPK1JaQUliM3A2VjF1UENNVzg1ZzVBUmp0MHg1?= =?utf-8?B?RytKZGpNMnA4T3NSN0V1Z1lQamFtcVhEMDJYb05Jb0pBZFI4dUh4d2NwM29S?= =?utf-8?B?b1lqYW9zdlQ3Q29oVmgzZk9ScVR3N1psKzdSTU9JeEhqNmJ1RlA5Rm94TWhJ?= =?utf-8?B?aENMNWhuOXlDV1pTVWJOOHBjN2pXTEI4ZGg0ZXVSSkwxUVVobHlYVlhScWMv?= =?utf-8?B?SnZEV1QybjZmblozY2tFYm5ZeGorRDh3QnE2Q05vY2JuNmI3YkxHNytURnJ3?= =?utf-8?B?VkxRK2tYRS8zMng4M3VZNTFNaTc3dnNvSjBZZHp0ZWNhOEY5cjE4MjJWTm5n?= =?utf-8?B?MkhCNHlTMXhGUE91SE9NUGRNQk4zSzlweXAybVRrbVJqU3lPR29XNmEvK0Vn?= =?utf-8?B?UlAvbUprQjFUZ3FIcGVsRzNxTytFaWpWVDM1UTFodXNlV0JtSEh2OThHQjI5?= =?utf-8?B?cHpFc0swNUFUUU1xbFhGMkkrYlFjdEVyTS9OdmYrUGJMZnR1OWgyWWJlcmpT?= =?utf-8?B?a09lQUdKWXlPNEtpek9lUkdaanNwOHVHR2Vmb2FPSVZXd0ozUzFTK1cyZFBQ?= =?utf-8?B?eStkdnJxd2lETC91azA5NXduVytBTUlFSTVKNllqQXlGS3QxQ2hJYTN3MWlF?= =?utf-8?B?TVVRbGV2OVJyWXhGYjAwSFhFemcxTU5JL3pKYW14Y0tzMHRjRmtJWDhRaTZ2?= =?utf-8?B?Wll2aGg4MkZ0bjJOSjJGaVZNREJXdXlvV0tRTHR1dHI2Q2lPQ1U5TklpWWpk?= =?utf-8?B?YUJNL1JySE0wNXhBTkdTYlQ0VnUwY1lLNkQzSGJLcnBCamk0Yk55MHR4cVhT?= =?utf-8?B?cmNtNTBFUzNoVDFKZlNiRm02QWlYQ3dlWnJsVS9ZU2d4VmZsQzA5bnhmNUNu?= =?utf-8?B?UVFJQVhUMlZIaU5ua2RTM2RSejZPWmhKNEdTWVpZQUlCV0pGcllXVVZOdHN3?= =?utf-8?B?OHIzUFRoanA2SVVDdno2T0IvaEkzOUw2U293WmxrcUVkcjdyZkU2cm1EV2hy?= =?utf-8?B?cm52RHB3Yi90NUQ3bVlyTFdwUDI1ZTZaWEtYN2djQjFpUmQ5L0NUVC9tQUVN?= =?utf-8?B?eENubTQ5cVkxKzNaTThGdHN2Myt2YXExUXErYmxDVmZXaUdrMjYvSlB6VVFr?= =?utf-8?B?SldrL2lNMk51WWlXcTBybDViSXlQR2FxbTJVdEVsRXNZRHIwNm1Oc3VwV1cv?= =?utf-8?B?UnRDbTE3dlBublB6bWd0Ym51NTJPeldMNXl4UXpFOHY3S2dZMFlwMTdIN05z?= =?utf-8?B?dVZNZGpSNVVMYkUrMDBqV0FEYUQwUlVMSVVRQzBJSEswTUh1TjlaeTRmWGkz?= =?utf-8?B?SzdJOEJoSDl5UXBOSFBXOHRGSVhPU2g5a2IrSDJ6c0Z0cVp5NUJ1NjY0Sm5E?= =?utf-8?B?VFBHOEtobk5uMFZyeHhxUFBkYWRKVFBnVXp0MytQUlc5NU5ZNTUwcFdQU0pB?= =?utf-8?B?dTZqRDN4eVdISXpMR1cvWEF5bktma3RWVnlJdjlJblFzV0lSbmlJYXRUdm1r?= =?utf-8?B?VmdkMHRwT04yS2M0WTJ5NXRGMU1OdVovb0xIeDcxM1FnVzhPT2l2ZlZCM0cy?= =?utf-8?B?T21hb2pzSFNYUld4SDhEa3BGVjd4TWNYVHJGQm5tWk5zckhKMHFGRCtzWG8x?= =?utf-8?B?U0hib0FaaEUyM3BCRmRuVU4vcklMV2FlcTYvTlhDYm84ZWd6TWZHbFRaL2Zv?= =?utf-8?B?aUJmRUZ2cUFva1FQWll2MlpDQmVVbU9vTkw1Wk4rZGJ2N2hlMlRvbVRpRDNW?= =?utf-8?B?aERIcVhFNlk3NHZxdnNNMTFHcHF4ZU1uczltNVRJTEdFVzdML0VheXVqU1Nm?= =?utf-8?B?dnJzVEFZQkR6eWxZN3dxQUFMVHptRmVZYmZIWmFtNnIxa3JGR3Q3L2o4eDY4?= =?utf-8?B?TVlpbEVneE82ZW1vMUR3T3BJNVd4L1hnTVVIL3NWL0tuVDI4d3poUThqZXpK?= =?utf-8?Q?tZrUEUiThSnN8LTU=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 29f4b503-cf78-497e-1a55-08df36947849 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2026 14:45:41.2424 (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: lkXshMktSZdjlvkj+On9+SPKEgz7Y8g83hWXjZMnKIj7OFzN6W01OTrpQ5Tmo+7uUVlTNrkFHSw97H53Z7lXRXYxDgukaS8g2zwRpmZzr4M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR08MB7451 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