From nobody Fri Nov 14 17:03:05 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.ru ARC-Seal: i=1; a=rsa-sha256; t=1761656924; cv=none; d=zohomail.com; s=zohoarc; b=nX75o6c79ToY1C7ZRnakGyim4yjZpJl/y/BbxNBx9PXr+6EYrwELnpOATBS+0sAp1hyJ6x9QxM3eeN8qXQeUVtu2lc7+QZf2gmZaLdRmxp6LjVxEYQ7/aVFiM5unucm04A4SIRaXkgWHblhyQ2Efo/NcoLukA5dEOSe12s7Apsc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761656924; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=I8uSKWv9CfGnhUsU+UQbkcSjwMS6bRrjmewdcbsGfgY=; b=JwjcMuwt1yy6YIV3l8SE6XdELkGVmxKqyhMK2gDFayH+ArAcCTzLhYYYgYbBs5SAE/nKo/StqozxMBM/P93Qen+/hPxqNe7/oFJknoS0RaGz70+hdj/YHhc8YEbfSMLzIGy49lAMk9a2C9xv/py6PHAJzu8gySUu1kNPOLcQUJo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761656924262599.996720877662; Tue, 28 Oct 2025 06:08:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDjQl-0000Kj-8l; Tue, 28 Oct 2025 09:08:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDjQX-0000J5-U4 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 09:07:54 -0400 Received: from forwardcorp1a.mail.yandex.net ([2a02:6b8:c0e:500:1:45:d181:df01]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDjQT-0000v6-2V for qemu-devel@nongnu.org; Tue, 28 Oct 2025 09:07:53 -0400 Received: from mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net [IPv6:2a02:6b8:c2d:7394:0:640:5a8a:0]) by forwardcorp1a.mail.yandex.net (Yandex) with ESMTPS id 28EF2C0288; Tue, 28 Oct 2025 16:07:42 +0300 (MSK) Received: from vsementsov-lin.. (unknown [2a02:6bf:8080:582::1:19]) by mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id d7duxl1L2qM0-LdEmXTHW; Tue, 28 Oct 2025 16:07:41 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1761656861; bh=I8uSKWv9CfGnhUsU+UQbkcSjwMS6bRrjmewdcbsGfgY=; h=Cc:Message-ID:References:Date:In-Reply-To:Subject:To:From; b=Ml4wOsZOlOCuamHQ5RRMmcIddMKSpSGspoaxId5IVCJVEsJKxco1sOoHEufzFAnJf iIrhMdfANvH5k/RRxq/jLr2IwU34NkXk1pNhlO3+Z//67cDw+zAGTZcZi+dFqj64yb wPITkGu2V5gzAcT4x1UdyuYY6z+qTI+WT5JAgeGY= Authentication-Results: mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net; dkim=pass header.i=@yandex-team.ru From: Vladimir Sementsov-Ogievskiy To: peterx@redhat.com Cc: stefanb@linux.vnet.ibm.com, farosas@suse.de, qemu-devel@nongnu.org, armbru@redhat.com, berrange@redhat.com, vsementsov@yandex-team.ru, armenon@redhat.com, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Stefan Berger Subject: [PATCH v4 1/2] migration: vmstate_save_state_v(): fix error path Date: Tue, 28 Oct 2025 16:07:37 +0300 Message-ID: <20251028130738.29037-2-vsementsov@yandex-team.ru> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251028130738.29037-1-vsementsov@yandex-team.ru> References: <20251028130738.29037-1-vsementsov@yandex-team.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a02:6b8:c0e:500:1:45:d181:df01; envelope-from=vsementsov@yandex-team.ru; helo=forwardcorp1a.mail.yandex.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.ru) X-ZM-MESSAGEID: 1761656929686158500 In case of pre_save_errp, on error, we continue processing fields, unlike case of pre_save, where we return immediately. Behavior for pre_save_errp case is wrong, we must return here, like for pre_save. Fixes: 40de712a89 "migration: Add error-parameterized function variants in VMSD struct" Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Stefan Berger --- migration/vmstate.c | 1 + 1 file changed, 1 insertion(+) diff --git a/migration/vmstate.c b/migration/vmstate.c index 81eadde553..fd066f910e 100644 --- a/migration/vmstate.c +++ b/migration/vmstate.c @@ -443,6 +443,7 @@ int vmstate_save_state_v(QEMUFile *f, const VMStateDesc= ription *vmsd, if (ret < 0) { error_prepend(errp, "pre-save for %s failed, ret: %d: ", vmsd->name, ret); + return ret; } } else if (vmsd->pre_save) { ret =3D vmsd->pre_save(opaque); --=20 2.48.1 From nobody Fri Nov 14 17:03:05 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.ru ARC-Seal: i=1; a=rsa-sha256; t=1761656922; cv=none; d=zohomail.com; s=zohoarc; b=gx/7mVRrZCiCGloGExewjXlo7HWOBw6g2IQ4+ZTps4wEyIukxBdww6QjtG66utN+tEl0wsT/mWIX3wtkUW3jrjPBYLzOj12YDFFQ15ikrOgBjBpVHeO8WkpyzB1QUklTiHfYpf+1SiKt4qly1y9/DLXiZ4lMj+X//7IIrquvPZk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761656922; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=87rM9PFrFHIqtwWn9a7lbC9w3iiM+mfRmmZFaEhia+s=; b=caiVurh6eWBcbi4OtkCE+6lR2JKJSYR82YVhzKxSmAVbatjKUl9jDT1XmYFElKdSWVaIThbVdneY9gJvOgymVfVZo2OVw+CaTbo+Nnxc07STtYd+3uT3wFQWFsB6uAmIC7b6nTSUQ3Lo0tDle4w+PE4a+ubhds8p+VxfS2Dxg2I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761656922096279.66985874541786; Tue, 28 Oct 2025 06:08:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDjQp-0000N9-KC; Tue, 28 Oct 2025 09:08:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDjQb-0000JT-Q3 for qemu-devel@nongnu.org; Tue, 28 Oct 2025 09:07:58 -0400 Received: from forwardcorp1a.mail.yandex.net ([2a02:6b8:c0e:500:1:45:d181:df01]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDjQT-0000v7-DL for qemu-devel@nongnu.org; Tue, 28 Oct 2025 09:07:57 -0400 Received: from mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net [IPv6:2a02:6b8:c2d:7394:0:640:5a8a:0]) by forwardcorp1a.mail.yandex.net (Yandex) with ESMTPS id 177F3C02A2; Tue, 28 Oct 2025 16:07:43 +0300 (MSK) Received: from vsementsov-lin.. (unknown [2a02:6bf:8080:582::1:19]) by mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id d7duxl1L2qM0-znihA1Fe; Tue, 28 Oct 2025 16:07:42 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1761656862; bh=87rM9PFrFHIqtwWn9a7lbC9w3iiM+mfRmmZFaEhia+s=; h=Message-ID:Date:In-Reply-To:Cc:Subject:References:To:From; b=Ma+o84lMocB0H2QH8+L45fh8N/RqXLrCVlj+AfRrSrKhXt4rZxmI2xlTwxCPZiXbK /4UtuwEpVm7CFsZPiue4R84159sxoIJ5LnLkW6RHC10XA1J4gYcPVUheJzg7TiPWyY qP5H0ZfXycnYZvsziObMU3SKPETjlKhW3BPE5ONc= Authentication-Results: mail-nwsmtp-smtp-corp-main-83.vla.yp-c.yandex.net; dkim=pass header.i=@yandex-team.ru From: Vladimir Sementsov-Ogievskiy To: peterx@redhat.com Cc: stefanb@linux.vnet.ibm.com, farosas@suse.de, qemu-devel@nongnu.org, armbru@redhat.com, berrange@redhat.com, vsementsov@yandex-team.ru, armenon@redhat.com Subject: [PATCH v4 2/2] tmp_emulator: improve and fix use of errp Date: Tue, 28 Oct 2025 16:07:38 +0300 Message-ID: <20251028130738.29037-3-vsementsov@yandex-team.ru> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251028130738.29037-1-vsementsov@yandex-team.ru> References: <20251028130738.29037-1-vsementsov@yandex-team.ru> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a02:6b8:c0e:500:1:45:d181:df01; envelope-from=vsementsov@yandex-team.ru; helo=forwardcorp1a.mail.yandex.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.ru) X-ZM-MESSAGEID: 1761656926895154100 Content-Type: text/plain; charset="utf-8" tpm_emulator_post_load() and tpm_emulator_set_state_blobs() has error paths, where they return negative value, but do not set errp. To fix that, we also have to convert several other functions to set errp instead of error_reporting. Signed-off-by: Vladimir Sementsov-Ogievskiy --- backends/tpm/tpm_emulator.c | 63 +++++++++++++++++++++++-------------- 1 file changed, 39 insertions(+), 24 deletions(-) diff --git a/backends/tpm/tpm_emulator.c b/backends/tpm/tpm_emulator.c index dacfca5ab7..6abe9872e6 100644 --- a/backends/tpm/tpm_emulator.c +++ b/backends/tpm/tpm_emulator.c @@ -308,22 +308,22 @@ static int tpm_emulator_check_caps(TPMEmulator *tpm_e= mu) return 0; } =20 -static int tpm_emulator_stop_tpm(TPMBackend *tb) +static int tpm_emulator_stop_tpm(TPMBackend *tb, Error **errp) { TPMEmulator *tpm_emu =3D TPM_EMULATOR(tb); ptm_res res; =20 if (tpm_emulator_ctrlcmd(tpm_emu, CMD_STOP, &res, 0, sizeof(ptm_res), sizeof(res)) < 0) { - error_report("tpm-emulator: Could not stop TPM: %s", - strerror(errno)); + error_setg(errp, "tpm-emulator: Could not stop TPM: %s", + strerror(errno)); return -1; } =20 res =3D be32_to_cpu(res); if (res) { - error_report("tpm-emulator: TPM result for CMD_STOP: 0x%x %s", res, - tpm_emulator_strerror(res)); + error_setg(errp, "tpm-emulator: TPM result for CMD_STOP: 0x%x %s",= res, + tpm_emulator_strerror(res)); return -1; } =20 @@ -362,12 +362,13 @@ static int tpm_emulator_lock_storage(TPMEmulator *tpm= _emu) =20 static int tpm_emulator_set_buffer_size(TPMBackend *tb, size_t wanted_size, - size_t *actual_size) + size_t *actual_size, + Error **errp) { TPMEmulator *tpm_emu =3D TPM_EMULATOR(tb); ptm_setbuffersize psbs; =20 - if (tpm_emulator_stop_tpm(tb) < 0) { + if (tpm_emulator_stop_tpm(tb, errp) < 0) { return -1; } =20 @@ -376,16 +377,17 @@ static int tpm_emulator_set_buffer_size(TPMBackend *t= b, if (tpm_emulator_ctrlcmd(tpm_emu, CMD_SET_BUFFERSIZE, &psbs, sizeof(psbs.u.req), sizeof(psbs.u.resp.tpm_re= sult), sizeof(psbs.u.resp)) < 0) { - error_report("tpm-emulator: Could not set buffer size: %s", - strerror(errno)); + error_setg(errp, "tpm-emulator: Could not set buffer size: %s", + strerror(errno)); return -1; } =20 psbs.u.resp.tpm_result =3D be32_to_cpu(psbs.u.resp.tpm_result); if (psbs.u.resp.tpm_result !=3D 0) { - error_report("tpm-emulator: TPM result for set buffer size : 0x%x = %s", - psbs.u.resp.tpm_result, - tpm_emulator_strerror(psbs.u.resp.tpm_result)); + error_setg(errp, + "tpm-emulator: TPM result for set buffer size : 0x%x %s= ", + psbs.u.resp.tpm_result, + tpm_emulator_strerror(psbs.u.resp.tpm_result)); return -1; } =20 @@ -402,7 +404,7 @@ static int tpm_emulator_set_buffer_size(TPMBackend *tb, } =20 static int tpm_emulator_startup_tpm_resume(TPMBackend *tb, size_t buffersi= ze, - bool is_resume) + bool is_resume, Error **errp) { TPMEmulator *tpm_emu =3D TPM_EMULATOR(tb); ptm_init init =3D { @@ -413,7 +415,7 @@ static int tpm_emulator_startup_tpm_resume(TPMBackend *= tb, size_t buffersize, trace_tpm_emulator_startup_tpm_resume(is_resume, buffersize); =20 if (buffersize !=3D 0 && - tpm_emulator_set_buffer_size(tb, buffersize, NULL) < 0) { + tpm_emulator_set_buffer_size(tb, buffersize, NULL, errp) < 0) { goto err_exit; } =20 @@ -424,15 +426,15 @@ static int tpm_emulator_startup_tpm_resume(TPMBackend= *tb, size_t buffersize, if (tpm_emulator_ctrlcmd(tpm_emu, CMD_INIT, &init, sizeof(init), sizeof(init.u.resp.tpm_result), sizeof(init)) < 0) { - error_report("tpm-emulator: could not send INIT: %s", - strerror(errno)); + error_setg(errp, "tpm-emulator: could not send INIT: %s", + strerror(errno)); goto err_exit; } =20 res =3D be32_to_cpu(init.u.resp.tpm_result); if (res) { - error_report("tpm-emulator: TPM result for CMD_INIT: 0x%x %s", res, - tpm_emulator_strerror(res)); + error_setg(errp, "tpm-emulator: TPM result for CMD_INIT: 0x%x %s",= res, + tpm_emulator_strerror(res)); goto err_exit; } return 0; @@ -441,18 +443,31 @@ err_exit: return -1; } =20 -static int tpm_emulator_startup_tpm(TPMBackend *tb, size_t buffersize) +static int do_tpm_emulator_startup_tpm(TPMBackend *tb, size_t buffersize, + Error **errp) { /* TPM startup will be done from post_load hook */ if (runstate_check(RUN_STATE_INMIGRATE)) { if (buffersize !=3D 0) { - return tpm_emulator_set_buffer_size(tb, buffersize, NULL); + return tpm_emulator_set_buffer_size(tb, buffersize, NULL, errp= ); } =20 return 0; } =20 - return tpm_emulator_startup_tpm_resume(tb, buffersize, false); + return tpm_emulator_startup_tpm_resume(tb, buffersize, false, errp); +} + +static int tpm_emulator_startup_tpm(TPMBackend *tb, size_t buffersize) +{ + Error *local_err =3D NULL; + int ret =3D do_tpm_emulator_startup_tpm(tb, buffersize, &local_err); + + if (ret < 0) { + error_report_err(local_err); + } + + return ret; } =20 static bool tpm_emulator_get_tpm_established_flag(TPMBackend *tb) @@ -546,7 +561,7 @@ static size_t tpm_emulator_get_buffer_size(TPMBackend *= tb) { size_t actual_size; =20 - if (tpm_emulator_set_buffer_size(tb, 0, &actual_size) < 0) { + if (tpm_emulator_set_buffer_size(tb, 0, &actual_size, NULL) < 0) { return 4096; } =20 @@ -889,7 +904,7 @@ static int tpm_emulator_set_state_blobs(TPMBackend *tb,= Error **errp) =20 trace_tpm_emulator_set_state_blobs(); =20 - if (tpm_emulator_stop_tpm(tb) < 0) { + if (tpm_emulator_stop_tpm(tb, errp) < 0) { trace_tpm_emulator_set_state_blobs_error("Could not stop TPM"); return -EIO; } @@ -960,7 +975,7 @@ static int tpm_emulator_post_load(void *opaque, int ver= sion_id, Error **errp) return ret; } =20 - if (tpm_emulator_startup_tpm_resume(tb, 0, true) < 0) { + if (tpm_emulator_startup_tpm_resume(tb, 0, true, errp) < 0) { return -EIO; } =20 --=20 2.48.1 From nobody Fri Nov 14 17:03:05 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=yandex-team.ru ARC-Seal: i=1; a=rsa-sha256; t=1761671530; cv=none; d=zohomail.com; s=zohoarc; b=Ppo9zHIf1NTZF4QQ43OddloNnY6KoZ9Trmi/pc9hh8DoLewDJvSZKlYcuzQCnHG38l2pyOrFNGjpflmkfePtWQ81tp52qfomq7Nx1B+G5im1guTUtWzOgcGFK3uO6pxWN71txQA1JV9Uzc77go6RqW+YAA75Jvg+mBzB7aGOKe4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761671530; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=AjICt9/cEE3YqmTiIWl7ZmpWnbhzekTFatGOzt5GHVQ=; b=BAwe7siAzj3ErQV6tFnnXZyMESH4nvCy1cSpYVIGbfnRv2fwsYGQlpNMta4LNH3yJu//mj1L2lqIxfRALVwLoT7uB33Rw+sTWi9JsdRu12Zjh8f+n+PqXLvDZccjFj3Ams203hmsgOzzQPhn8SJcBh3HEDsHunXu+GxtU6EFAbo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1761671530250294.71417575109956; Tue, 28 Oct 2025 10:12:10 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vDnCt-0001EQ-0Q; Tue, 28 Oct 2025 13:10:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDnCp-0001Do-Rx for qemu-devel@nongnu.org; Tue, 28 Oct 2025 13:09:59 -0400 Received: from forwardcorp1d.mail.yandex.net ([2a02:6b8:c41:1300:1:45:d181:df01]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vDnCW-0000JE-Hl for qemu-devel@nongnu.org; Tue, 28 Oct 2025 13:09:48 -0400 Received: from mail-nwsmtp-smtp-corp-main-68.klg.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-68.klg.yp-c.yandex.net [IPv6:2a02:6b8:c42:94a9:0:640:a3fa:0]) by forwardcorp1d.mail.yandex.net (Yandex) with ESMTPS id 48A30811BC; Tue, 28 Oct 2025 20:09:32 +0300 (MSK) Received: from vsementsov-lin.. (unknown [2a02:6bf:8080:582::1:19]) by mail-nwsmtp-smtp-corp-main-68.klg.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id U9hrmt1IrqM0-DAmRuBwF; Tue, 28 Oct 2025 20:09:31 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1761671371; bh=AjICt9/cEE3YqmTiIWl7ZmpWnbhzekTFatGOzt5GHVQ=; h=Message-ID:Date:In-Reply-To:Cc:Subject:References:To:From; b=l+gt/MPli/Vbh6WjXAlWn1SJ4ehOUFSxJMa0M50SaSGRQCMTGCjyPT3b8tqG0dEBV UYeT8wrxcUn2J6aGajnyFunN9eIIsg5ECIOersb36ycTtZNXDX8agp4gEfU9cBso5D Ge2DVN5WLtL74ofAIT/ydHKlS+3TiykwfoUgN/+o= Authentication-Results: mail-nwsmtp-smtp-corp-main-68.klg.yp-c.yandex.net; dkim=pass header.i=@yandex-team.ru From: Vladimir Sementsov-Ogievskiy To: peterx@redhat.com Cc: stefanb@linux.vnet.ibm.com, farosas@suse.de, qemu-devel@nongnu.org, armbru@redhat.com, berrange@redhat.com, vsementsov@yandex-team.ru, armenon@redhat.com Subject: [PATCH v4 3/4] migration/vmstate: stop reporting error number for new _errp APIs Date: Tue, 28 Oct 2025 20:09:25 +0300 Message-ID: <20251028170926.77219-1-vsementsov@yandex-team.ru> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20251028130738.29037-1-vsementsov@yandex-team.ru> References: <20251028130738.29037-1-vsementsov@yandex-team.ru> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a02:6b8:c41:1300:1:45:d181:df01; envelope-from=vsementsov@yandex-team.ru; helo=forwardcorp1d.mail.yandex.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @yandex-team.ru) X-ZM-MESSAGEID: 1761671536981158500 Content-Type: text/plain; charset="utf-8" The handlers .pre_load_errp, .post_load_errp and .pre_save_errp should put all needed information into errp, we should not append error number here. Note, that there are some more error messages with numeric error codes in this file. We leave them for another day, our current goal is to prepare for the following commit, which will update interface of _errp() APIs. Signed-off-by: Vladimir Sementsov-Ogievskiy --- migration/vmstate.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/migration/vmstate.c b/migration/vmstate.c index fd066f910e..677e56c84a 100644 --- a/migration/vmstate.c +++ b/migration/vmstate.c @@ -157,9 +157,9 @@ int vmstate_load_state(QEMUFile *f, const VMStateDescri= ption *vmsd, ret =3D vmsd->pre_load_errp(opaque, errp); if (ret < 0) { error_prepend(errp, "pre load hook failed for: '%s', " - "version_id: %d, minimum version_id: %d, " - "ret: %d: ", vmsd->name, vmsd->version_id, - vmsd->minimum_version_id, ret); + "version_id: %d, minimum version_id: %d: ", + vmsd->name, vmsd->version_id, + vmsd->minimum_version_id); return ret; } } else if (vmsd->pre_load) { @@ -259,8 +259,8 @@ int vmstate_load_state(QEMUFile *f, const VMStateDescri= ption *vmsd, ret =3D vmsd->post_load_errp(opaque, version_id, errp); if (ret < 0) { error_prepend(errp, "post load hook failed for: %s, version_id= : " - "%d, minimum_version: %d, ret: %d: ", vmsd->name, - vmsd->version_id, vmsd->minimum_version_id, ret); + "%d, minimum_version: %d: ", vmsd->name, + vmsd->version_id, vmsd->minimum_version_id); } } else if (vmsd->post_load) { ret =3D vmsd->post_load(opaque, version_id); @@ -441,8 +441,7 @@ int vmstate_save_state_v(QEMUFile *f, const VMStateDesc= ription *vmsd, ret =3D vmsd->pre_save_errp(opaque, errp); trace_vmstate_save_state_pre_save_res(vmsd->name, ret); if (ret < 0) { - error_prepend(errp, "pre-save for %s failed, ret: %d: ", - vmsd->name, ret); + error_prepend(errp, "pre-save for %s failed: ", vmsd->name); return ret; } } else if (vmsd->pre_save) { --=20 2.48.1