From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazon11021104.outbound.protection.outlook.com [52.101.65.104]) by lore.virtuozzo.com (Postfix) with ESMTPS id 424E780B92 for ; Tue, 20 Oct 2026 16:30:55 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YFr9MpcJUyzzxiyQSfWKYRQRafm5Mw+03dejfLBEINlKwPLWh/DODZnMZYOXikrwxI3nz6ls2itDp0Nc6ougzNBadg2Y5p7nXJF4FPH4et13jX7NhjsQxCzI6vwwEZnSrJ6kIqnkgfth4O9+6nA7QUsIHGhiz7eA9k7wGnFP4o6FZpj2wqq1ISgwHTVyKiG8RBl+RXII84d54koSOW/ZzJ29u31VhSFATP0v3vljViZgE6AD+tN6gp5Uzh6cfLIqsGQE+DHvh9P7yNJxujA0U7cW2TOqRywTGzcbe80UxHAneu3vRg/ZRWQgpNOHskTGOYNi3C8lKltgcxE6r01d1w== 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=oGWb04fE4FoKhXReU0puSiWXMU6Znvg4XrJi+wU3jBPxvjXLENyAlx0tXL0OsT3EnZBlpmYOMzW2aRe1M1A8ME0IMnqDRMtM9V6beAtQGmcwISqm7ipVaNXIWbYNIhwiW/oga13ccagX5UKA8pWdOJp4UjeV9cbIqw3a+mht+bkKCCUiIPolB3rSgyQ3RT+q5P4tbqMkYw6r3w1gPSuOLq/Bo18Swh3OlbVXt7m0mcw2NxldheW4gLwxAeoi+4M0GcWo2+TspSBfVR1wWh/RHEwbUpewMcPXqa/Qo+cVReotR8+9DAaR88t3pPAeNG2RQXxSID1Qdpm7tBZf+oOX7Q== 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=pYzdgDrKLAckGom9mgQA732JAxP+rEM/wEZyackezwDNFaMBlsVula676m7SkWBNcmgKZYcjVc3EruaDtKu7oZ1Y7QKa2PtunP2gFvXW2ZwYbUm6HUeuDumcYjbRj8izmfW4Ys5SY8DRdXOz0Ju2BNA5BXQP5N7VP6T1VGVdwr+GrOh5fwKj9QpmqQg8HWbBXKlICDoFP1J8nrhhCa8AHfL+Hm2ewW2Js+aE2AHzdIKG17yno5FwF2leKsH/2/RfMdOFtD55anuTYIb2l5p2nRWDmJlYlC9Qzi2wf6swbWDZ7v+08Efq9KHAZ0uDgje1bDAZhU8h0f+TIgSiuPnn6Q== 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 VI0PR08MB10683.eurprd08.prod.outlook.com (2603:10a6:800:208::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.14; Tue, 20 Oct 2026 16:30:53 +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.0546.012; Tue, 20 Oct 2026 16:30:53 +0000 From: Andrey Drobyshev Date: Tue, 20 Oct 2026 19:30:42 +0300 Subject: [PATCH QEMU HCI-8.1 v4 02/31] migration/cpr-exec: restore RAM write access if exec fails Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20261020-vfio_v1-v4-2-83a5668230e5@virtuozzo.com> References: <20261020-vfio_v1-v4-0-83a5668230e5@virtuozzo.com> In-Reply-To: <20261020-vfio_v1-v4-0-83a5668230e5@virtuozzo.com> To: svt-core@virtuozzo.com Cc: Andrey Drobyshev X-Mailer: b4 0.16.0 X-ClientProxiedBy: VIUP296CA0056.AUTP296.PROD.OUTLOOK.COM (2603:10a6:800:34b::14) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|VI0PR08MB10683:EE_ X-MS-Office365-Filtering-Correlation-Id: a4fb67cd-39ea-415a-1788-08df2ec781b9 X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr List-Id: svt-core@virtuozzo.com X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|366016|23010399003|1800799024|10067099003|5113699003|22082099003|18002099003|56012099006|38350700014; X-Microsoft-Antispam-Message-Info: Zf8Wd8oyS7vsp3UxPAyJ/d4rVxNo47jM+PKqvfk7LJ2QO+REUb/t90MQgi4fF5OSfCFpej48JJrJQqOwbd2TonOsrVWOZOgnfTr+JUiUma2ZkGCFRfCOHB8ShQiAIX7vF4pAyrK39wPfdwldtiUHaah6ZoS2o78QsKlPW7aNl5oXQGcDRvPgCH+x+b+tvZIprXpRHRZyjztuYG70CJwFeHiy9aVhqvwexGAdc4NVFX+jkkEYRQTEYanKGHl2ja3mwjb79jtfODrdqC8rjha1hFtau2n7+9Qf4JzZtt+dCHW2yMTagHTUFKDvCJaei63Oa5c96E0LiigC6wI4XTpKnucssEgpdRJjIWq07M2GEncGH3SJEM86xcMPOuYrHvLt7X5ZGuHQCDPyAfgwXNCV/PSC81mFUkFPQKjXA4eBx8XV0B6nDRvGAeFBo9YCuOn9nVH1+J4S9SqJ5tTLaXOV4fkvhneQ2TG82gBtVLDHn8mznkbtfo6zvdbAjbr62ZY5hZhF0yQQOKJoWN1Ks5czxMxa3c46bT6e90wH2S6axVHVkEaUqOO21MqxKCOHC/yhQMZo+QwnpoDPjYN6t6bKYfJS7WZ0setfyuwO/9+2GhGZK/SHsy1Re9/y0MPzB1m8BV0VaYsctTsAuYft9DV6TC8ug7yTY80Uj4uU8400TkXFrMAuT/4h1mPO2qfGgUO4lnrfZXt5WCREtN44bu+ahdEDPIbhGF9HBMuVKJvxLJ8= 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)(52116014)(376014)(366016)(23010399003)(1800799024)(10067099003)(5113699003)(22082099003)(18002099003)(56012099006)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SFpNbjNVYzRtaU1iZ0JLVzBDODZ5UjU1TXIzdTFuRzNqQ05HUmdmYVhOaE94?= =?utf-8?B?TnRlSTZsV2YvbVpKTkZnTklWSXJzYlBiSDdMRm5CZ1lVY0lnOE9LY1dId2VY?= =?utf-8?B?QTlvUlFCT293M2dqSjljVExmTUN3K1FrQ25OODJGK2JJeklDZitoZmFrUnhV?= =?utf-8?B?RmFqWHhoS3loV09aUjRPVFFKdksvT0VkU0dEcEJWQTd0aGZ5TUJYSHlGQk8y?= =?utf-8?B?WU5RMkNPb2hFanVtMHlscyt6emxubG9rMURERkZ6OXdyWlRvdklwT1pVWXU4?= =?utf-8?B?RTdFcHRoa3ZRMm9MMnZ0RTZwbkR4UE5McVJ0TUxtZWp0T1Q2VDhLN1VFeHlv?= =?utf-8?B?RGlGNUIvbHhpcXhzVVFmMTlGM0d4bGxnczFYSlFGODlCb2xjT1RQaW8zVFNZ?= =?utf-8?B?RE1wQWxMYVlqV3ZWdDZYZlVlUHNJODV6dWtXWHBJWDFia1d5RGw0UjhSbVRI?= =?utf-8?B?ckdjOUl4TGpxNG4wVnEvSHZEOVJwbnNLcW1uak5BODVaZ0MwbjJqU0I3cks3?= =?utf-8?B?THlTY0tIUkZBeGhJK1FmNXNpSlVGU0IwSkY2VkVFZkxXRTc1STI1V0s4VGpz?= =?utf-8?B?cUVXWHJjc0ZPOFlRQ1BaNWJaMXc0YnpTdnJVNWEzNTV5KzZzWGtrYmc0YTAx?= =?utf-8?B?bXdhSHhjT0VDOTY1MlIvbmJSZlFOMUY2bTJVdlYvbkR6K2paaDkwZVd6YjhV?= =?utf-8?B?bU1iTitHTlZVdnBmRDJsRjgvaTJsdkZMdk9QMkc0LzJkeVNXM0o1SjJIb29C?= =?utf-8?B?M3FGc0dYSHRZUXdzdjJZNk8xZjZtbG41OE5EbkpKN1hodk9XN1hsZGY3TTd5?= =?utf-8?B?SlV1SkNUSWF0SWV1RGoxT3FLdTltT2IxQmhkbUIzdTBrVUN6blA3djZEWEla?= =?utf-8?B?blJBMG02MWwwM21TWExBSWc2enA0dXJXMDhaOTBBT3VHMmRLRm00WHVvK3RS?= =?utf-8?B?bSt0TEwxOFhDc09BZU10ckhncmtLNHpwT1hmZEFDaURMWDZ6QVMwSUltbnk4?= =?utf-8?B?WkY2elVIQnRUZGpWY3R5ZXFLdis5WVZNTkJGNGhCbXRjcWVMQU1KWjFwYzlk?= =?utf-8?B?WEZldjd3UHhxZ0hQR3Z5RFpxcjl0ZXRvdUlWUGhLR1FZU2pzZWJJVHVrMkl6?= =?utf-8?B?UWxOaGVuZ0p2Yk01dGxNM0lyRU5kaHpmTHFpZTBLUndGV3VQV1labTJyemo1?= =?utf-8?B?MlBuandNamprVUZuZk9uOElWQ1BqWm9EaERmSytIZTA5QUtHTjEyWjA2enhi?= =?utf-8?B?V2xIbWliWVFOVTZFY0hzaUZjVnFQZ3VEL2IwYWd3ZHZ2aVdQalM5a3E3MGF5?= =?utf-8?B?eUhTRUdGY2dyQ3VIWHZUMHQ3TnJNRFprdjh5NHNJdHU1WWZtRmFDWU1XMGtx?= =?utf-8?B?S0FGZGY0N1R5UkNXU2pFSkp3TUFQVmdwck9wc09nSVIxakZhRWFQRzNuYU9F?= =?utf-8?B?ckowU3lHVG15b0h3amI2YnFUQy9abEdRMnlydHlJSTdZY09zNW0yZVg2UEs3?= =?utf-8?B?c3lOWFlBMkcyS3ZaYUpoN0F6SnB6WDlXTVo0YWRFaEZWMDZiWnlPVEdwZ3c1?= =?utf-8?B?R3JQYWUvTTZHNDErTmRSY0xNODNpelpUTGdoRm4xTTRWWlNSNHR0Q3lYUGxT?= =?utf-8?B?WFRIdHFyOWgva2t0UG1LL29iZVJ0NHM0ejJaN3JWbGN5SEhWNk45SVFOelBj?= =?utf-8?B?aWhIWm5FOHJyYUxvaUIzVGE0alhXK055OW5XdE5neGhZZE9XV2NKaUVzUDQr?= =?utf-8?B?RVEycnZ1OFRIREFIMXhNTjF5N1lDaUVPSnhFcEFFTkIyeHc4d1dmS2dsMWM1?= =?utf-8?B?RkcyQ2t2TXhZaXhBVGhBdFcvZFhiQW1ieGpDWEtOb2Y2VjRhK01jWnIyeWpK?= =?utf-8?B?d3pnN2VDak9Jd0VWd1JicE1SQXFKQldUc25JRVdCNnBUSGd4dlhUNlRybnVj?= =?utf-8?B?NmNTZzRIUmpubkNMeDNDdkIvU2tKTzFaTG5ZdE1lUDYxSUFDR2pWTGZXM0Jy?= =?utf-8?B?YzJXNHcrN2hMSTBndEpjOW00ZWZJUHpSb1N6VlNuZkxCTlNRZm1pdnpMUWpD?= =?utf-8?B?Umg3aTU1Yy9tQXFrTzlsdDRoVHNVT1NkanhZVHJNNjd0K3BOSVFwYWx6dGF4?= =?utf-8?B?WHFrdll3WXVuVjVtaUU2RlowMWhpOVpCTFNiWlU0WmtQUGordlBjbzZpZW9S?= =?utf-8?B?bENUVk1TWG91c3NPYS9QMUwxbklrT0F5NUd1ay9XTHBOSjBpazdIdGtzUUl5?= =?utf-8?B?dENZclBmM1RpNXI3Y2ROYll5ZHNkM2w5eU9vaFBFcE9QWjlydXBkbk9NclBt?= =?utf-8?B?cHl1NW1xaGFXd3ozM095czhPYW14NlRxaTdJODdYMUFES3ZINzNoc2tpUi9L?= =?utf-8?Q?6Zu9PWbuxRJmIlJQ=3D?= X-Auto-Response-Suppress: DR, OOF, AutoReply X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: a4fb67cd-39ea-415a-1788-08df2ec781b9 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2026 16:30:52.0676 (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: NhyX4fxvqnRrCvhVJd+ysaWmoJCp0ycSF/yhMjiZzkDvmCzVLftHbK82nr2L4YBuHdMmA6b1BsvJE49weN7gDk/4ANR3dsSdLOgA9nFSXPs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR08MB10683 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