From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11021115.outbound.protection.outlook.com [52.101.70.115]) by lore.virtuozzo.com (Postfix) with ESMTPS id 1595D8017D for ; Mon, 2 Nov 2026 10:36:35 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rPzRg2yOhXTnxwP0oC/+TBMzB8U7rqGUKAX6+SF0tUb1CiVvrlm24J57h7coymN0oBoi9sYwc/cL0iebfjL2aQ8ph/T5mze4yeIHuTX5ovTJNRCbNKcF++iSM8L322PmidIME/C4vnNMkUIfCc9/vEZ2RdBsP2mdqy12xQ/8e2rmZaMXlWjzGBDYRxTDaOdGKTKQJcxK7aQ/+z8deYWoYTPVJ5dmZSuzYAViOwIH5E5WIzU/RCIAthIBmSmkEnCe7tavD/IUiNBX41ryQIa/mYoOte3F4FfxIKxC/sfDUiSQI/BPyGcQGDxB2rUxSI1M2fagJyEoFw7W9+35G63LfQ== 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=SKbe+Ecoa6UXuHcoCjrLao6DOC3nXtAdSn8ItqVbkb0=; b=YKPHYCa8K6H8dJs+S5K+cj+rT/PK4QYYgL6Vy5wawWaWZGfauMhMPAgJ2vIu/MOdCJWP+Wte39SIOu+lQxMpAz3NhboDhPvYzC18PRiGrtlJ0JUeKjE223X+ONo8U6gb5IkDMj7KWAq/1Y1ix1vHaRQVEMF+YfDneu7a07GENh+GgGwXOh6463Si3xVEXNvqvZWX/xPc4GkD7ShGCpKY2A97GPG0Z51enceABsplPEmAld1+CLIEihQqy3razpCDr8/AAzgaMKAtz+TUYcBa6YuOFc9u6g7HICxDqVdYB9eUsG/+lIdjoXbJF14CoGwKMgeMD6sxQUsFssXlnjNIkA== 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=SKbe+Ecoa6UXuHcoCjrLao6DOC3nXtAdSn8ItqVbkb0=; b=gOujzNeK2Mfuave0TMn2+yx8tIr4vDgrvxgEW71Qcg/t2/5zy8/YaNfj9aTRwhqYdO+oy9TMUUX6DGgZkEqz++P1hTC7ePnZPy9ZovSpJGuf3GmvdsqHBoS/eP9QjXtQ5zvkyioMDs2UsMgyXeN6ohXI/IoHAQzgCAIxfgPca6lqqELANNxiwSRTRq8VCDJA4i8BnpKWsjjz/fdJIzzwRUkPpTEyReADM36FBbEyqhOYNxcO+vee14QbAikb7ohozELTTg6CpDjA2ZuFlZUj9Hdsw2Ri/14T0LIHLZP8/pOPoyf1MnRSfWDSsi1tiG6bGpeiLNFA7ubPE8ihpCkwpw== 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:33 +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:31 +0000 From: Andrey Drobyshev Date: Mon, 02 Nov 2026 12:36:32 +0200 Subject: [PATCH QEMU HCI-8.1 v6 17/34] migration: vmstate_save_state_v: fix double error_setg Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20261102-vfio_v1-v6-17-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: d37089db-eefe-47f4-2a40-08df38cd26de 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|1800799024|366016|23010399003|52116014|376014|38350700014|56012099006|261009223027099003|261028144727099003|261021123027099003|261021121427099003|261026140227099003|261022105027099003|10067099003|18002099003|22082099003|5113699003; X-Microsoft-Antispam-Message-Info: RF+Smg8C0/eoN8My3b/WonRbEZfKDLxSBQ195eHKXloFs4ijKIAjgSYuYBK0NJaFav112ORK2sVIH6sb1WdlL8EUVdPC7pnvHCv8Ln2vLzdkUBCxhz/TF+8A7Ck/AIbHXoGheKF10EemxZ8YEVMwMrrCyRWEvC0o6JsM2R0Mc07jUSO85mzFXckgtHWDsi2w6+EDPcBjoepu+Hg1Qw3qXNBXdhL1fEbbZe/QaNenfk0YgD0vg4djjrSkOdWgdpvA7PU0TcWNH2NAfQqXxmBI5li3IfxZbxb9S7XMuiEsxCSDSskyOAMZctE53+rx/g0b76I1rBZn0OfeJRf0NPvP44oTGLsZrrXi0/v3PABneqlEs0kSXW7qv/t2vP1X3DP3voFY9yaOnVNt8a5Un3UmhqWVKE+SdssiiZIi2b2VaW0+NLuNkAT0xaXcjUjybeEokKt60nVmsz8y9hVbGmAi14yW+KLogIG1mJzqsuo3p33nC7HTWXlu+E/ct2jN7GW96obtO0RQKMzC85ri/T8iBEGJAEqSNI2cQRl4q/uSjftF8XVpV/HgyomOQVjH47QSGQckS9TeyDUxECdtlDexmRYqSmD/dn7/zLbihwHrLHA3qh9JyDnZ5s0mcrFvrtrZR2jwdYJsNwQ07bNSAqI+G0X6A9BIs8CY56rgxWpXjOgZkPURxmhCh2SJwC0MZb8y 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)(261009223027099003)(261028144727099003)(261021123027099003)(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?ekdqQklLaHhXRDNVTTZKcm4vNW5sTFJFYzV4OWJVRHliYW5PbmRuN0RBaDJ0?= =?utf-8?B?QU05ZXZ4dFovR0dKZHpaYlhyY3pML1EvUGZ4OFpnem1XSkNpaUZMb2FLQ2lw?= =?utf-8?B?bW9GR1o5R3ZCRnJLL1RXVjY4QUtRNi9UT2xJWElxdkNNVWs1ZlppS1RyRmFL?= =?utf-8?B?ZXVvd3RoVHo4eXFxOGNpWGZQaVljNzJIQUIrMXBtd1JWTzJzU1V2ampwU1FZ?= =?utf-8?B?MVN2TmxtVGkyNUVCZE81RTNLZ3dCZXNMOWZJR2xsK3YwbHBXMXB4dmw1bWdD?= =?utf-8?B?b3BUMDU2R1drZWVHVE9DdC9hdXV2TTlEdFdXd3NFUmVyUHhWOW51UUdRYmtC?= =?utf-8?B?V3lrYzBBZU95aE4yblJ4OHh3dExJcUw2bUN6cjdVM1pncXVRRkFpWU9mL1lL?= =?utf-8?B?akFlR051UzFQR0pVME55V210WWh6RGhsVkR1SVZ6Y0tWc1I4dWlOTC9sbkxu?= =?utf-8?B?K2NFYUszSTZtZXlyMnVDUWZWNEJmZVZSRTk5MitXVFRtR0VQUU9RZjdLRjZX?= =?utf-8?B?SCtpeUpZbzltQVk2b2toTVFtL3ova3NDeTUxU0VxWWhXMGNXalI1RnhITkFj?= =?utf-8?B?OEZqK283Q1dEMGpsR241UGFqNHkxNzRoQWw4OWxneFc4SS9sVitwLzI1azFj?= =?utf-8?B?VmNtQzBld01vaUtRdElKVGlLa3FFcE5XSlVRWWtBMFlJbDVPdFFJYW5VQk1p?= =?utf-8?B?UEI0MU9HdTlvQjJ5U0VoN0tZMGdKQjBSMHVEb05mdW1iSXRrYWloN24xczRa?= =?utf-8?B?VWJNTEdhamJpZzN4bEQ2RFRjeHZmbTVydVkyOGdNSXF5QjZPa3lSZHBkcnRy?= =?utf-8?B?RDgxbkZ4TEVEbUJkaUV6cmlJUmU5U2pmR2sycE4vSVZsMXZIc25GSElYQTcv?= =?utf-8?B?a2E4L1pCbnlSMDRjOUFKbGJtb2RwVVdTb0QyQXUrQU1Va3pVRWtlMzNSY2Fw?= =?utf-8?B?NUlRRENtaDZETElTN3FFeks5akxOS1A2d3ljekpWOGxxR1pic0RQTjZRdGZG?= =?utf-8?B?Z0RhVnF3SlhzNzMxOTg5UEdCcjVWcXoreWVicUVyeEpPS2NEbzBkY29pYnFu?= =?utf-8?B?NHZBNFZYMGlPanQ5MTNQUVNqWlk2a2pHeWNKTDZFZkt6Zm1XUXNPS01iTGJw?= =?utf-8?B?dldnSG9SQWpzOWlOOXJsajE0TExTQ2l5bWJrcldnaXZCd09Uc254ZTlxdVhp?= =?utf-8?B?VTVxeXV3Qlh2U0xaUTZwRk5kNVIrVk1oMVB2Vmh0bEZMSi8yb29qVDl6MkJR?= =?utf-8?B?bXBnTzdxUDdEV0NVUGVYYXpYMkJQM253TmNFSnF3MWN0bHFhSGpqNGtEL3VX?= =?utf-8?B?cXJpNnlqUnArRFJ1K3NxdmpsU1Z3Y3FWQkJESjRsQjBLM21kVmN5UnFVYlVP?= =?utf-8?B?V2hzd1lLYXUzN2lURnJQeFNWU2c0U1NCTnZGWHlyRkYvbHhjbmo4Tit4Q0Jq?= =?utf-8?B?LzMzVWtJUUlZRFJXNStoYXFiL3M3UExZMWhnNnRFck90S3ptS0lkRVg2M1ht?= =?utf-8?B?K3RrVlhVc2Yya2RhSmJ2TG9BcWNCMzY4TGowdmVORnQyUUt3S0ZNbXpJYm9i?= =?utf-8?B?WWs2aVhCdytoMjBFWElvL25LbXZHQW9oNDV3V3BXMHg4UEtQVVpqN1FDWWVE?= =?utf-8?B?VTZqcGNWYmlWUmdWeUhJOE1jTng5MXpNN3FoNDNyTnp1SU5zUVd1bE1QMFRp?= =?utf-8?B?bGx6Q2RLTUROQUNJRFdpc3BBT0xmYXpQczR0ZFVTTzY4WDJweVFnWUNWODUz?= =?utf-8?B?N0dWL2NueEFFNkVFUTZxTE5oODBVWXpUL2k4VFlmWkVhT3czaUpqeUVwTE9a?= =?utf-8?B?WmFjSFNuanNtTlpaOFJKWnhFZzhrU1FXQnZzbUVxR2diTHdCQ29Td1RGZlBG?= =?utf-8?B?ejRJWE9ERU9HTjBCYnNhZDBXTkY0RjBWTWxDNHJNaWNzRDV5RGczYmtIWStT?= =?utf-8?B?L3M4TE5mUGV6OU0xNUlIQk96Tk9KQUJuSFVXUnI5Y0RYSjAxd05paWxOZ0xU?= =?utf-8?B?Zjh6c09EMHIzVTJpRUFzenZzMzVPK1hzR1NhZFgycGlNb1AwU01zbDAvekNT?= =?utf-8?B?UURzRDkxc0h2WWJjVTBHSTRXVVE1Q041b25WUndoZTgwL2xLWkZXVGd0UnRp?= =?utf-8?B?U3YyV0ZUUHJDWGxBRjZxRTZBM2pIKzAvQ3orMUkrK0VrS1N2UGF0amxXVmxi?= =?utf-8?B?VDVDYnFJeFlFZ3dEYzhjOE1iWEUyWjBndHFBcVNWenhtcm11T3FsNDlCd3VX?= =?utf-8?B?MWlyVVFlYnBZVTRlQXpLdDc1WGdCNC9NVWhnejViaC9pYW5ib2VTOUZjMFFX?= =?utf-8?B?dEdYSnpYSWs3TDMrZS9mWEQ2blZwWlJzMWF2VWpMc1pEMUR6UEhIbnp1Q0pH?= =?utf-8?Q?W1ufQLYEqhfOuzX4=3D?= X-Auto-Response-Suppress: DR, OOF, AutoReply X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: d37089db-eefe-47f4-2a40-08df38cd26de 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:28.2675 (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: noa8eWI1j+8PGsvzpWOM6aT/4sDBwLxy4/jQUNWiG3WF6yaTIF/AaNbg9C5MACx8Zjx3xGJqzkkpVgaMWbWo2kfSPQCvoIl98w4EoU8KJX8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8199 From: Vladimir Sementsov-Ogievskiy We may call error_setg twice on same errp if inner vmstate_save_state_v() or vmstate_save_state() call fails. Next we will crash on assertion in error_setv(). andrey.drobyshev: This commit is cherry-picked as-is, with no modifications, from the upstream commit d41ce10d0f5a. Fixes: 848a0503422d043 "migration: Update error description outside migration.c" Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Fabiano Rosas Reviewed-by: Peter Xu Link: https://lore.kernel.org/qemu-devel/20260304212303.667141-2-vsementsov@yandex-team.ru Signed-off-by: Fabiano Rosas --- migration/vmstate.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/migration/vmstate.c b/migration/vmstate.c index aea41c09946..04903131257 100644 --- a/migration/vmstate.c +++ b/migration/vmstate.c @@ -523,6 +523,9 @@ int vmstate_save_state_v(QEMUFile *f, const VMStateDescription *vmsd, } else { ret = inner_field->info->put(f, curr_elem, size, inner_field, vmdesc_loop); + if (ret < 0) { + error_setg(errp, "put failed"); + } } written_bytes = qemu_file_transferred(f) - old_offset; @@ -535,8 +538,8 @@ int vmstate_save_state_v(QEMUFile *f, const VMStateDescription *vmsd, } if (ret) { - error_setg(errp, "Save of field %s/%s failed", - vmsd->name, field->name); + error_prepend(errp, "Save of field %s/%s failed: ", + vmsd->name, field->name); if (vmsd->post_save) { vmsd->post_save(opaque); } -- 2.47.1