From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11023076.outbound.protection.outlook.com [40.107.162.76]) by lore.virtuozzo.com (Postfix) with ESMTPS id E2FC48045D for ; Fri, 23 Oct 2026 16:54:21 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=urzSmWH88Zpyh3b1t3nOwxztCLsqjkmb9lPU8CmKZcArK/1j4YW3nY9kXIUADt17VZi4tXpaAD/9lrAvZBO1RR7K39AgWdqTeI/n9NhzNCZPPuOrjymY503AuR/6AIOKIEfi8v2RSw48uErRByvKKBEvlVjJVXxDZEQha5IfxYeUWWbU7wGOZDz2ieRMYJg6ShcSuFt5RSx0Fprmbzqt+uj08wKWvyL8fKOLUYid/k7o+CFyhXJu9mxzocGi7jew9cTAQ5hVSQCJZqAonPNaan6N5Lv81hjmf01c1yZu6W3mYD3HX/oIdjRJrx6slwd/LY46DpEJ/+RAv4+7s27wBA== 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=akL9qufadHwWLTtZfoKduzlzg/0ndiiNGxgLLXblZpUoBLdCRCxokO0lefMkrc4gyyPJjp56iHl931DcVjeDnlfYJUR2UI8+e0cV3k21n77qZdwuxulaIH60+JGC3jcHsiqwF5/CU0vX/AsJO0xh2G8mtvjhg8xLImEiwxbwfe+2ICsbxXcAMs03eO7FX8T8NnI9/GjbhXr0LYjSgugU85YflSO39GFr0dFrjctAGFflDWDmWzEI5+bqH3/8Y7KTte/os8CfW3lQORHLHK7IoL6VQ/WGaxvriIbyKQUc0wmu5ER1ou15cVL4driWxWyaX7DRj4haADgfXFgZeusUCw== 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=lV8luDQNxE6dxwNO2aGeFOZ1OvCAm0cKlH9VVcR4YKZJEY8543ICzGg0d0OkrJRXhnh/VZ2iMcOOapFaOAUH5ByB/o2R29qpIlbs3pK7Y3bjfKVeI8QCLD6yr7qi/YzeZCLDpzipoEb//yUdBMYa35Dz2cGT2ryhFN3PiASyNs9SyLOQYHwMC8qBlQmBk84VqZ40fOeSlZiiQHC1JQU1GAN8fBGrstbgUVmS1zijTS76L+14bmPfVWr/gGck9291ucTrhoEt5IXMKqgDubhMe0wYWFpFbNiFWBsg7l+Osf0sAEPXZwOr7RwK5J7Q1ZbddHLFn/BN5v/kh4tvB+6SdA== 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 PAWPR08MB10059.eurprd08.prod.outlook.com (2603:10a6:102:35d::14) 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 16:54:18 +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.017; Fri, 23 Oct 2026 16:54:18 +0000 From: Andrey Drobyshev Date: Fri, 23 Oct 2026 19:53:39 +0300 Subject: [PATCH QEMU HCI-8.1 v5 02/36] migration/cpr-exec: restore RAM write access if exec fails Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20261023-vfio_v1-v5-2-ba0bf3c6d122@virtuozzo.com> References: <20261023-vfio_v1-v5-0-ba0bf3c6d122@virtuozzo.com> In-Reply-To: <20261023-vfio_v1-v5-0-ba0bf3c6d122@virtuozzo.com> To: svt-core@virtuozzo.com Cc: Andrey Drobyshev X-Mailer: b4 0.16.0 X-ClientProxiedBy: VI1PR0902CA0027.eurprd09.prod.outlook.com (2603:10a6:802:1::16) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|PAWPR08MB10059:EE_ X-MS-Office365-Filtering-Correlation-Id: e17eeb15-3e7a-40b8-ddfe-08df31264602 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|366016|376014|52116014|1800799024|23010399003|38350700014|56012099006|261021121427099003|261022105027099003|10067099003|18002099003|22082099003|5113699003; X-Microsoft-Antispam-Message-Info: iugDO8z4LYQw+5zFbcwVFdyfZ3c2Nb1johXf2cP5r1RWWR7F0yPoHdRPU1nXlLL4GMvksob/bb4m333LFUovXPNxb+o0KD2VUf7v8qXWM6xTjTyjLk9x8pXinTSpcEyhjLax3Zc6ehdCV2VGvr8hWTpoaoYQlljemTfRrucQNejLf+dz8HZxq36HBdAR20u1OFTTHhawNVD2CQOESn8miBxaK+0Qo/EpH7uW2SE6ENHqjrezy25of1LMDAGuECnrSPs/n6kYGO9NdH6K+cpuBktXPcYOQP0Y8y7q8e8OpXGufLCyE4yevtZu3Mjuodgc0oF+BO7yWqKicjSo3nkqsjF/aUojoBpUhAv1DqnVEPnQz10P8jCThkNUtEcRxgluzyrMbnswXd1irF7YfmsYUFf9V3uhWY+FmBhFbDcQYoCsvXOERFFLc3S+veDZYEnFYcPpYPvysSMvthGvH1Tug9RfCWIsx7xOS801xKL7Bj+mD96iIHIR6naJonO6mq9C8zTjywjXvmphUbsdWdhXtd9KdtZeKiCIBFH2Ph5Hh4alxx54fAddsVbVp+gJu/EN6L/19Nd0gbQMllaZP3w+fga/FgSylMUjUGpE2E+8giY8j2v9fPWcUV/WQs5mGXinTyfNOq+8RtdGNcgBHMTaYFPU4We88eMZ1JCsL/SSMHAHqT5r4yZtMWWLJcgDQx6+62Riy4eBxcqAiWOBJpIwZxDTud+NEIV2ry2rIGY9RD8= 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)(376014)(52116014)(1800799024)(23010399003)(38350700014)(56012099006)(261021121427099003)(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?MEx2a2I0WFY1aE11eVpDVEc2RGtmdHg5MS9SQ0o1aUZPaFp4NmNiakZXUXcv?= =?utf-8?B?VWUvZS9ObTZkVnZYR1ZnQmZpcHR6c09pd01mTUtybGoyRnp1L2dvUDlZZ01I?= =?utf-8?B?U3RBNnlzZVRmVk1BWjZ1YmJsWDlDU2NOVXlIS3B2MTJEeVBxb2U4dXZrOXpC?= =?utf-8?B?S0lHeTM4NUVIUm5velV5bjlwek11VW9CM2ZNUUtia1E1dzJmcldYY0k1UTYr?= =?utf-8?B?SlN2bWU4aGljejloSmVZbmlyZjZrSDVOVnhLTWFTKzI0MCtmOTlhQUNDcEhF?= =?utf-8?B?NUQ1TjRnVlBsL0gzcnJQSFdEOW5NS2tyVy9IVk1scmF2cDhQOEp1MEt2Qysz?= =?utf-8?B?MnQxWStJdDFGVS9tTXd3amdNMkxYWEZ1SlI1THVKOVNqMFd3UHFodDhlalRS?= =?utf-8?B?dUZadjdsMjFGcWw5aGlKTlZwSkNSZE9BSERXa25MQXFZTmJ6V3NjS0tlTnY4?= =?utf-8?B?bHZ5M3BES3J4NytKUWM4OW9wekFxR0xlRVVvMFJxT3M3NXVlSm10YlFPZ1Jw?= =?utf-8?B?UVRmUTFacEZQTjUyNFR6NkRyYk45Z1laK3p5Vm9SejJSWmY1ZjJJaDRXLzcy?= =?utf-8?B?NUwwMUp4Vjd1b0J2dHdCNnF2bnAvSFpMeEJmS0pKSWl2dXRLb1l6aGNTa2s1?= =?utf-8?B?VU5TYXNCa05UNTNFV1R5Q0EzWkFaWTFqaDFrL2F3Z0xUMEN6c2FCaFBWdHJ3?= =?utf-8?B?M29iRERlSTAyMjlyY3Q1cE1BNEMwMDNaM3B2SUFDQUlNQ1FIZXYycTVRZDRL?= =?utf-8?B?UFZGaGlUeng4K0FLSjdjZ0FReWUxVDF1Ylc2dXdJTzd3andSL0E3TlJ2Wm13?= =?utf-8?B?ZlZCc3NveElRR1hmRjJxZFM0L1R3OVFadkRwQzJWcERab1pLS1JwQjltZTBB?= =?utf-8?B?MjVuaHJ1Z3laU2lMOERlMi9NclZpQ0dQUlVBUFc3ZEU2Q2pnelFPK1lYRE5j?= =?utf-8?B?bzdEWGk4ODB6aDV0bXlLamJBMjNHblBFWVZXM2VReU5xRWFUYlJXTWpHRnB0?= =?utf-8?B?NTNxQ2tkNU5qaTFteDBTb1FQeG1IVEI2SW9wdUlHZ3VkbG01Sk5FdzJNa2hk?= =?utf-8?B?Y0NTRTdkamdsSDFlSkhnVm5kM2pxYUQva3lNV2NIdUJSYW1pekVzR2dMSlJi?= =?utf-8?B?b1A3R1lPZktpTHpJcDkraGhRaXhTcllPUDh0TysvUnhsZFRYU2dCaS8wOG5H?= =?utf-8?B?c1YwS0RDMEV1cXFjay9SWWFpWjFsQzhVTVMzbDNGcmlCejlGaXRlclhsTU96?= =?utf-8?B?YmRMN0lHWm12VkNzL2lMK2Z2OVNsRGlrbEQyaDVGWWEyN2c2dExJUmc5MUh3?= =?utf-8?B?bmRPWWVWaW5CejBYeXpURWc5QWhjN0xkODBhblp5WFFwWmhCUFBJNDgzUnNw?= =?utf-8?B?bWVOLzgvLy8rMHVaMldwdnp4RHBNbkRrSXhacWpVd25sbUkwa3owa1I0b0dj?= =?utf-8?B?Zjh4eDN1eGphRERydHlTSTFCQnpJODJiNW4vTGtZUkx0UWEvdVdKbitVdkMx?= =?utf-8?B?NFBpSU00dG5hWXNpdEZKZE8zQzhidytPaWlzVWVjMHFyUkgvWGxIcDRtZU1G?= =?utf-8?B?STcwejZaNlJXT1QvZTJCVmQ2YmRCcjFtckZ6b0dTZG90aExrZXNJQ29yM1hr?= =?utf-8?B?U0E2ZW81Z25POTJSL1FaNmxWd0xVeTlCWnBlQU1JSFV3VzBMamJBRmo5V242?= =?utf-8?B?TjhIL0RLTVJSOHFxVkFNR0sxcEY2N3hZRUVHN242bXhKRjhlYXd1VE5nT2tQ?= =?utf-8?B?WlRYeHdWbUNNYnhYZVBmSjM1R1dpd1ZKS25RVklJSTI0SzNxK1Z1d3poOEFW?= =?utf-8?B?Z2NweWtJdFBRL1E2R29Bbzczdm9nL3ZzODFKcXgzOE5STERtUEpmcTZRdUlu?= =?utf-8?B?eXU1SUZPVkt2YkVXUnQ0eUU3SHBVeUF3VDcrY1pKRU1tOUt4dWVUdTQ1bFFq?= =?utf-8?B?cFBua01RNXhBNlFkZyt2RzF3dEVZUDJtWTB3cWxFYVZGNUMwUHlYbVFPVlJ5?= =?utf-8?B?TjdrNS94UlNvQjk0SUI5bDdPRkYwczFYS0pubzExaHloOFRzcHlXMU8wTFZD?= =?utf-8?B?YWNrMWo3MWRVdm0wMFdDaDdKS3YxM2JiUExPYUQ4eUhnSzhVZTUrM0dnb3hG?= =?utf-8?B?QmhFdmRDOVRSSHpFcm5HL1g0dXltNzVVTjJ5WERjdzBMMVVPRFptVlNuRENH?= =?utf-8?B?NlJhRTVyWXdSY0cyNHVaek5IbHQyOHgzb2tVYjVURTdyaEgyUjJGYy9CaEhW?= =?utf-8?B?K2xyREE3WDZaa0wyRTFoVThUMzdKUlUwV3pqTDdsU3BheWt1eFZ1Q2NDdFVN?= =?utf-8?B?QXRNL0VLUU1RTGlLVFhOUGRqQ0VTYVNuZitveGRxVVpTYmFYR2pNd09FUzBZ?= =?utf-8?Q?IvuG5i3wDKMGfPM8=3D?= X-Auto-Response-Suppress: DR, OOF, AutoReply X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: e17eeb15-3e7a-40b8-ddfe-08df31264602 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2026 16:54:16.4977 (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: 9G4UfUkCrtPC8w6Z9yZ+31iqt3eB+m9SkGKAzSftHGBLkVXHOjuBKkbudgnESZn135Ab5UF7MJ3dogseVSw+2ikWxs6qBVtLGK1HmvEBwsU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10059 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