From nobody Sun Feb 8 23:16:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1764618393; cv=none; d=zohomail.com; s=zohoarc; b=XoFMQ4Vq2/PtWTBf9zBBz/pqf7KN+ONp9366fDw+RsR7HREen8yzRSVyi2xUwpakQjbpFPlqhaEXm5bTeaPP+Q7i2kBo6bDF9zKRn4UGS6D9yeZGMkiMBHZICZzO9OZAiNccXc2Hc/Zo/gJZ0N0Lm6JAzilXaDqpfMWh2FWDjNo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764618393; 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=I9HG9Yy5lqRHBNLgg3hbny1TgDBAOnr/tELSIiqy61A=; b=L6fAcS33JGerkHTOB+ybgd2idEVOrp5MgwDA5ZuuBgwiXyxtV74YU+I2NjJFGlYFnwvhxKJpKyMT481XLMK11y1Hb/OStyQe+AxizwCfvnROn36sLuYEOYcVT8ALZWi4U9Q2VJm6G5AQbe+yczWANljn2+836rOuHsERtCrVQJE= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764618393441814.4313134172926; Mon, 1 Dec 2025 11:46:33 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQ9ps-0000l8-3z; Mon, 01 Dec 2025 14:45:24 -0500 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 1vQ9pq-0000ki-Ao for qemu-devel@nongnu.org; Mon, 01 Dec 2025 14:45:22 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQ9po-0005HU-F3 for qemu-devel@nongnu.org; Mon, 01 Dec 2025 14:45:22 -0500 Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-479-xUwQT4toOJCaPTv0ggWBoQ-1; Mon, 01 Dec 2025 14:45:17 -0500 Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-8823f4666abso90557286d6.0 for ; Mon, 01 Dec 2025 11:45:17 -0800 (PST) Received: from x1.com ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88652b91ba3sm88835156d6.53.2025.12.01.11.45.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Dec 2025 11:45:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764618319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=I9HG9Yy5lqRHBNLgg3hbny1TgDBAOnr/tELSIiqy61A=; b=eDw9Tp+91PPcUw4zd0cPkIFPa81uA/uJdCduPrj4hX4VpgZ/Ssv4ykPEa9AoEDXWqQC6kL H72wiQUHxosUODMMrMCTefcl8Jc4sjWJe1g28nYWEHuwIOpAbWpnHSpNRy804eeNZxjpFd MyH8NtNB6YLmRb09bOfzeQZ4fF1rvWw= X-MC-Unique: xUwQT4toOJCaPTv0ggWBoQ-1 X-Mimecast-MFC-AGG-ID: xUwQT4toOJCaPTv0ggWBoQ_1764618317 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1764618317; x=1765223117; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=I9HG9Yy5lqRHBNLgg3hbny1TgDBAOnr/tELSIiqy61A=; b=qaUvLNmV+KKMzotL6U9LReQd5fe5Ku7Adyx2jzPQ4P8fKxPeiyAZ/UyQQEthJp7LGa g47KGV8sge9GbRfBJynFW5gVJy878PqDGhjL8ssxrX7eDsXxUfFiLYjK1HLCzbRZZD+O Wv7+OgXrKEaBaROaJaS8xGaktaJBN/vPh+6hLVl/O45CPYIO3J9K34RRxSCuqOY6qQMz E4WCqyJifoRJLs52Cyy4Q7bwEirSshhimAcytle84Co0ndirL3SsvMGlhKQwd4rlnm7p EtMNafhOJXB+1TZghPB6eB11hq9KXRZuxwD9WvzXXpRtGKUufQaMEP6aENjK5ri5EAIQ sjJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764618317; x=1765223117; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=I9HG9Yy5lqRHBNLgg3hbny1TgDBAOnr/tELSIiqy61A=; b=BUFcXMXG1SmKAyc8razZCReHKbdjhR1DUax0ZW7r9oxWLiGWY9i2hGgJyZieuDWbzz 7JK0OFd+Y1PvsY2jkLXAb/+YdVMZJUx6j1PdxDk6AQr9XCGm56ZGNh/D8/0aKKzHJOmy eyu2fJwnOUurhYxPltVgXsa56NvsnSNiCbJ6Khmg0tZK9Bu/lyqMuastB0iHFI0HmgEk mROC8sgfKsugXZblsEeW+dzJ3XsvdDiqE+iyJ8ltKCv9o/wjotX8pV5K3bVaUwmG0cGK rVLKyLR+lLR4P3PmltqC3NclGYQNgBcRSSv2Qm1sZo77MzFuizdgvIZaTgbe29HvB0ZE YBeQ== X-Gm-Message-State: AOJu0Yx2zI3CEwtOcFB4YdsRzGoT0ll/zbbwJTZsiMksUG6DY730O2xL LPFDqNe0tW41sl9HhgAzcXa+GqaGj4bQZPg67fZg4ynmQOzE59yMMPoAPfDeLnbZQ3eXeev4W6w DhaMS4+vZsUDj8UH54K5Wr/uTdN+31r4+S5dYOLAo8LDLwraslW5HbYq2E0XlL7G1ZCXV2Jbwzh WJyGAXvyh5sq2KY4fopxoYTHOpONBa1sd29Z+jCg== X-Gm-Gg: ASbGnctdv/UuP7d7qZZGAyAUz7xVxNXYDD/p6FFWUfWFFwI5jyRhnuPoPHOoyqmNlAS L1tgmktoNeuOCgmQAqunG+OtcAvkg3q/KFo5rmlOjyxGpyRBMZ0m/KY2MSQqWMk9EC8JmZFIxPe JRO4ObXa23vzSVkZPenoMTGXIj1jG1fIn5MGT3PmG0r4jtoFnc4Dk6jTCtE8pWdI7PCKLAjt4Mx mYV37O6z49q+q2KT7BbAdANeNYiP/tPZovT5BFhqcXZEPGVurHx4Ujhs8DYMOeBxmlyfi3j5QgG KCZwOQhTTnnzlUXgbb38vvDrLn0j2dXW5XkYdOfw3TfRWgrQjYV++Du8aPeaYyGaEV3MuEA50SZ E X-Received: by 2002:a05:6214:226c:b0:87d:fc3e:6d9b with SMTP id 6a1803df08f44-8847c525de0mr579976506d6.42.1764618316703; Mon, 01 Dec 2025 11:45:16 -0800 (PST) X-Google-Smtp-Source: AGHT+IFv+ASfjl8QbJ/I8sN5xAcsuRT0epwC3Ptzmxdhs/3aARiqxinq8sF/dM25RfM+M+tdX4yM8w== X-Received: by 2002:a05:6214:226c:b0:87d:fc3e:6d9b with SMTP id 6a1803df08f44-8847c525de0mr579975506d6.42.1764618316044; Mon, 01 Dec 2025 11:45:16 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Fabiano Rosas , Vladimir Sementsov-Ogievskiy , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , peterx@redhat.com, Juraj Marcin Subject: [PATCH for-11.0 v2 1/7] migration: Use explicit error_free() instead of g_autoptr Date: Mon, 1 Dec 2025 14:45:04 -0500 Message-ID: <20251201194510.1121221-2-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251201194510.1121221-1-peterx@redhat.com> References: <20251201194510.1121221-1-peterx@redhat.com> 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=170.10.129.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1764618395839019200 Content-Type: text/plain; charset="utf-8" There're only two use cases of g_autoptr to free Error objects in migration code paths. Due to the nature of how Error should be used (normally ownership will be passed over to Error APIs, like error_report_err), auto-free functions may be error prone on its own. The auto cleanup function was merged without proper review, as pointed out by Dan and Markus: https://lore.kernel.org/r/aSWSLMi6ZhTCS_p2@redhat.com Remove the two use cases so that we can remove the auto cleanup function, hence suggest to not use auto frees for Errors. Suggested-by: Markus Armbruster Reviewed-by: Markus Armbruster Signed-off-by: Peter Xu --- migration/multifd-device-state.c | 3 ++- migration/savevm.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/migration/multifd-device-state.c b/migration/multifd-device-st= ate.c index fce64f00b0..db3239fef5 100644 --- a/migration/multifd-device-state.c +++ b/migration/multifd-device-state.c @@ -140,7 +140,7 @@ static void multifd_device_state_save_thread_data_free(= void *opaque) static int multifd_device_state_save_thread(void *opaque) { SaveCompletePrecopyThreadData *data =3D opaque; - g_autoptr(Error) local_err =3D NULL; + Error *local_err =3D NULL; =20 if (!data->hdlr(data, &local_err)) { MigrationState *s =3D migrate_get_current(); @@ -159,6 +159,7 @@ static int multifd_device_state_save_thread(void *opaqu= e) * return we end setting is purely arbitrary. */ migrate_set_error(s, local_err); + error_free(local_err); } =20 return 0; diff --git a/migration/savevm.c b/migration/savevm.c index 62cc2ce25c..638e9b364f 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -2823,7 +2823,7 @@ static int qemu_loadvm_load_thread(void *thread_opaqu= e) { struct LoadThreadData *data =3D thread_opaque; MigrationIncomingState *mis =3D migration_incoming_get_current(); - g_autoptr(Error) local_err =3D NULL; + Error *local_err =3D NULL; =20 if (!data->function(data->opaque, &mis->load_threads_abort, &local_err= )) { MigrationState *s =3D migrate_get_current(); @@ -2841,6 +2841,7 @@ static int qemu_loadvm_load_thread(void *thread_opaqu= e) * return we end setting is purely arbitrary. */ migrate_set_error(s, local_err); + error_free(local_err); } =20 return 0; --=20 2.50.1 From nobody Sun Feb 8 23:16:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1764618367; cv=none; d=zohomail.com; s=zohoarc; b=X9rw6AXSf3MW/zMsOn6w5KczC2HMUhnlN/5AcELG0DdhwOJGSHjaH75KOG9ndRMyn86o28VPb7a9WyksFWF3c4NggZQ410rSYFoGe3o2jbPufDqxFkOOy7/GKrq7bnvdWFFNC6fCJQJCzLmsXENeF+ppOtE5zkn0IFZy+lmhwDw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764618367; 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=rin2rU4dC98DtaDQogrP6C7tNI/p40r0Mt6FMofBulA=; b=HzSqNISYH2cDUoGvp4xUpHTFh8GGsKUJUN4owvGbdDPXos1KIOcTH49NAPJe0kcGTYRdiPRCw4bJJRgQ0z/6YN7es7FKh2Yh4thZ9WuLZDvx1KNuCIs0PkNciy7OV7yNyXMPfF4oe+K1nscpmBczBkywCuRRR/i4MVyHmIm1pl4= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764618366992381.03895151840993; Mon, 1 Dec 2025 11:46:06 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQ9pv-0000mj-8N; Mon, 01 Dec 2025 14:45:27 -0500 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 1vQ9pu-0000mB-7T for qemu-devel@nongnu.org; Mon, 01 Dec 2025 14:45:26 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQ9ps-0005Ht-B9 for qemu-devel@nongnu.org; Mon, 01 Dec 2025 14:45:25 -0500 Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-217-oWWW4btUPiOS-YOsJviVCw-1; Mon, 01 Dec 2025 14:45:19 -0500 Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-880441e0f93so105734196d6.1 for ; Mon, 01 Dec 2025 11:45:18 -0800 (PST) Received: from x1.com ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88652b91ba3sm88835156d6.53.2025.12.01.11.45.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Dec 2025 11:45:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764618323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rin2rU4dC98DtaDQogrP6C7tNI/p40r0Mt6FMofBulA=; b=KltfA1ROv9giXExlEkMf6eOUDxhqUKrqy1fB2GjH3IKzemWS5wF5LThXNJ+J3iecbHRSrv xBcgTQrmTmIJppKB5l3Av0Ba3lJQ2ZHaJHEkNU3uJdnOMDg/Z6sw7C4+XmFKg+MGXgNAUA qE1IoRRlSqX5T8cNstJtCYYoEeDYJgw= X-MC-Unique: oWWW4btUPiOS-YOsJviVCw-1 X-Mimecast-MFC-AGG-ID: oWWW4btUPiOS-YOsJviVCw_1764618318 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1764618318; x=1765223118; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rin2rU4dC98DtaDQogrP6C7tNI/p40r0Mt6FMofBulA=; b=KuKAf9LmZZYNrfNMmfAZxnzl5gHS2n6Rd4EWFQfIbEiuNNivU63ojyAOQ/IZL8xDZo FwhedCshxtzQ8Y39MY+v+Sbi4rr599QPoE9ktBrRrIPrpi1xeEEvuOe+Oozh4BfCBOPQ 8OjRhZQkG8nqlSQvszSTcsgNu6DIgFDHLYeI56OBo2LWKX9iwrHPozsWgU9ci98Ox1Fi KSZAGJaX0Hagu4gxz9kVe7N3LrL8egOIK81JYF6dCfTxxO7sXukhhNuSJCNTjVecTV8Z m3Qr89rNXSUvvB3vI+8coQPsKf1HK4bZgEHd1pFNpHdEjO+SBqh8sQz0vGrWwkBIOOUK /7XA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764618318; x=1765223118; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=rin2rU4dC98DtaDQogrP6C7tNI/p40r0Mt6FMofBulA=; b=qVyxjHORt+EDNqs4m/JvXOZXGG6L7HujQgYo5HWBBd3Vp11vYAcFd7RreiY0kXm9L1 e8MhudgPYqxKVEYNEkpHEZ7rsEdRoPDPiSqIedWmAuGZQvwP6rCrfOZyKKdzo7gl1Rn3 vTEqbO19qngGhcC3TgvVFK3ClSGR6Ht6zWst3TGeuODgn/bBsaHdZpttuQqmMO19IdyJ U0Rh5XnpXBT1V9WdSWvL6h0Rhn1U+ZYOgaAT+jE3S7BE0ajBJiYL8pe2DbLBlBwuMAOn rPnBzKW/gKGZXIVUbpnNvheU7OSx4vlLV+yBFBgM6/985OnaFS1+YjWqC4BWrhMcN1Zw PeFA== X-Gm-Message-State: AOJu0Yzk6etssIg1BXyhR85+vu0YrAZJJMkHd5BPewXa1ParlxmViMCL i215fgaE6yNomJGLhV5nj5n8REFe0ySqTVE5jbHl3PbQgCWLZ+Z/7MzXj8g+pfOygnoQJHO2i67 bRTma/FcCFZvgm5px6tlStSBfEyoR/RDa7cgvGiNG3uxdBbTMXzH34DfiyAjqehff+74izkgbAL DEg9cO4YLAhLlT4hcpt4rg+iy1hPF20LlM0yK3EQ== X-Gm-Gg: ASbGncsXW8yU4qpADPDaYBZ5QJB+YUYBppkBcdf/IACLJ7bh9w4+BsLTUnRVcBG/nFW sTdFxedUPBkU0PXwcxEBoxEjDd5kFhNJr+96Ge6VhDldfTQg8rF+hDy5ijfnN1ihEqp+glPH/3a Q1GSTCkhrJghIsahdjflqPeT2C0FuwWoxuO29WBB1z3BTDM1kRXbcGQtNRHBi4oUJ2kM19I6Ivd UI1iLVatq6Al5pjltdSidvFG4fsN1fSz8ZVkR5MCFYomTtjnCMaIXTHKimGJbkoNXnT7mc5MiL8 NmopDyczxGesCiiEVfgNIiT+4rVpd/ekGMmvLkt7S/rwpz5otbXVXQWo+clcSrJAo7u+2sFkj4S y X-Received: by 2002:ad4:5bac:0:b0:884:70ed:5414 with SMTP id 6a1803df08f44-8847c4c4cddmr698510876d6.17.1764618317838; Mon, 01 Dec 2025 11:45:17 -0800 (PST) X-Google-Smtp-Source: AGHT+IHDbAnBuXEt5XeXasvQ/SIHw2VShp5BR8MI3xjXFA79rZiyRHMn2fFil/FDumIl2LjcYfMxRw== X-Received: by 2002:ad4:5bac:0:b0:884:70ed:5414 with SMTP id 6a1803df08f44-8847c4c4cddmr698509626d6.17.1764618317190; Mon, 01 Dec 2025 11:45:17 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Fabiano Rosas , Vladimir Sementsov-Ogievskiy , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , peterx@redhat.com, Juraj Marcin , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , "Maciej S. Szmigiero" Subject: [PATCH for-11.0 v2 2/7] Revert "error: define g_autoptr() cleanup function for the Error type" Date: Mon, 1 Dec 2025 14:45:05 -0500 Message-ID: <20251201194510.1121221-3-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251201194510.1121221-1-peterx@redhat.com> References: <20251201194510.1121221-1-peterx@redhat.com> 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=170.10.129.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1764618370171019200 This reverts commit 18eb55546a54e443d94a4c49286348176ad4b00a. Due to the nature of how Error should be used (normally ownership will be passed over to Error APIs, like error_report_err), auto-free functions may be error prone on its own. The auto cleanup function was merged without proper review as pointed out by Dan and Markus: https://lore.kernel.org/r/aSWSLMi6ZhTCS_p2@redhat.com Cc: C=C3=A9dric Le Goater Acked-by: Maciej S. Szmigiero Reviewed-by: Markus Armbruster Signed-off-by: Peter Xu Reviewed-by: C=C3=A9dric Le Goater --- include/qapi/error.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/qapi/error.h b/include/qapi/error.h index b16c6303f8..f3ce4a4a2d 100644 --- a/include/qapi/error.h +++ b/include/qapi/error.h @@ -437,8 +437,6 @@ Error *error_copy(const Error *err); */ void error_free(Error *err); =20 -G_DEFINE_AUTOPTR_CLEANUP_FUNC(Error, error_free) - /* * Convenience function to assert that *@errp is set, then silently free i= t. */ --=20 2.50.1 From nobody Sun Feb 8 23:16:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1764618394; cv=none; d=zohomail.com; s=zohoarc; b=gWsZL2m9LxcOT2jLiFATrqnfqapPbhIa+YNMFSMRevbh4l6W0sLqab9NXLrKknqC2pc25OGCfrnlHR2ZTKey7bdu9W+LhF/F4/vyV9wHhhrOTsq7ec0m4PWk8J+98whXz7YpD8ZRxTPH8jBUfX3JUDd2yRg3hgrpouyJ/yF3CiU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764618394; 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=EQ1mPqJCFbzyT5uTHkDEJzo5K/xfvLuXsCDQhe1Tzzg=; b=NSAUqBSX1hPCl3l4KqgSDE6R+d0u3fqcEYMageNSiUfeLCwwTE474gWUdmzU9bVGyDHj0F1iAAeE+6MDepCb7Sw5ca5jjLbAUAOlOJBSOlGpocHG58G9NbUJXhlYooylHyME6SrOGPQKBZLimd0/nk6qkc2NnzB68lMmkUaVnh8= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764618394915652.569483297734; Mon, 1 Dec 2025 11:46:34 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQ9py-0000nw-Qt; Mon, 01 Dec 2025 14:45:30 -0500 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 1vQ9pw-0000nD-VX for qemu-devel@nongnu.org; Mon, 01 Dec 2025 14:45:29 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQ9pv-0005IJ-13 for qemu-devel@nongnu.org; Mon, 01 Dec 2025 14:45:28 -0500 Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-355-UBgrdvXZPsOK3xyEkIXxcQ-1; Mon, 01 Dec 2025 14:45:20 -0500 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-880501dcc67so147473956d6.3 for ; Mon, 01 Dec 2025 11:45:19 -0800 (PST) Received: from x1.com ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88652b91ba3sm88835156d6.53.2025.12.01.11.45.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Dec 2025 11:45:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764618326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EQ1mPqJCFbzyT5uTHkDEJzo5K/xfvLuXsCDQhe1Tzzg=; b=SM3j70fD/CLGY1ZdLGQxmOni9Ybspmbq2m9qJIKenf3dDL/+vbWlRQe4JO+kGozCvUrAe4 w4NDnSxzZPSDldIs9nXS7/x+F5754uoWs1krE3Y0XFLiaTgmPEJlvM4OIKZGyeYjo093Tt pHy2expDKI1aiwJ68iNlZWecKtiBch8= X-MC-Unique: UBgrdvXZPsOK3xyEkIXxcQ-1 X-Mimecast-MFC-AGG-ID: UBgrdvXZPsOK3xyEkIXxcQ_1764618319 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1764618319; x=1765223119; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=EQ1mPqJCFbzyT5uTHkDEJzo5K/xfvLuXsCDQhe1Tzzg=; b=Vp2KndKLFQhmUBOhhTZOkOEZWv+oV/1uh1R0ddOkhVKql8cv6LCDy7LdruRFFb+Uij eT4LyRyi0o6ke32TwcxotOTt8nTE2fg+gZvbub23+lPl6Puk6qLs75Z/iNTxx5dV73gx /K2TMfEBwud8gEAFmTAfhhY9DPRBqGvTUtwMy8ndq+voKAZ5yKLqtPBnfewZTjBNrfnG IVN/hKC4XnqbvogMd3ib3IOecfJbyAtdLCL/444/CQco90loRsv3ZI19RYvQWs3Vh6f6 Auo80bQciMwawGfuk0mlYJIrF8wfTN8WwqCCL2Y5K0+uB3zgzZjo0dGC3G3Oyiuf22DB Uf6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764618319; x=1765223119; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=EQ1mPqJCFbzyT5uTHkDEJzo5K/xfvLuXsCDQhe1Tzzg=; b=FboT2Vf13H72tRRwQF6eBwLNiSueZw2BXwCaUfNcQeDB0OwO+xHFSYnVA6lEAyaSPw qKQOP31A9r1YQ0qd4FbVluRb1JJTAteQjO6m9/dPr8yIDjFsp4NBQtuixm1Mvm4y9/pI xsGF4U2F2FZWNxwYFIcS+izKLnYHWurerEJ5/zGWaNQOmrGHmi7EPDeGyAsJxMAmy+me /ppa53RBFBCv5T2ooXXOBQd7GKtCiA/4Yl7ulH7tniixcd2VVNiAfQANpQ0VkJiNk7gt 4GqweeRmvdKwO0+foi58ZRu/it4p+u7eHUdiSzsT+kCQneLtWXldf33KgAzK5R06ionZ Zyzw== X-Gm-Message-State: AOJu0Yzgvo9n+oSanDsfT2GeqRnNKf7jGAoL4Nio9omR0fqXT2jyPr7I eMji/qDn7bsQaJEQ11G96omUF0UX3NEydlc5G3EheBwGRayUEDMSlZccDSTJiUIKY/5SsvOPfkv 2Mc9Y2Rclff+GR/y7nFKysEBhpfCtm6sK1+nWc48GS6lVfDioyCMCiCNo6heS1q/Fb2sa9msg3b BZAR/r279zeVonZbJqT5vGYwkVoB40lGk0TEyA8g== X-Gm-Gg: ASbGnctYrFQKrReT2mSDIjvduHPODpAxOz86dbEQBxKGzZzI2l5dLLRwUi7WsHqLMwt baluOdqS1bkhJeUj+oACjNavp4XpeXqPJJVUHEgfrLCYdUE3P8muOVqd7TKBQykE5+jojKFfiQ6 lXTrgaRsTWJKPQFq2ywxnkaUT38J8nBovEK25My7LMm1UViTo2/C+LRnt8LGRJNf8PI1XFUTADC XluT4nEyl8LthcOSiL53vJVP9uDFp7iKYrkpdfDCY0TBKMRiSz1QOIfgMp+iUwztSDslfd2XVBT JCm0Z7LNw/ioCgWr65TnQ/AuawscT67h75wNpzqgEZToJ9L4LEGBnWcWoatW538405iIOItr8Hr n X-Received: by 2002:a05:6214:448f:b0:87d:e32:81c5 with SMTP id 6a1803df08f44-8847c498571mr548828836d6.20.1764618318783; Mon, 01 Dec 2025 11:45:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IHOtApF8DmjtEs/fysvXlnNsLRXOfJUkCIEWsHoTJbkLgiCCmsAuBgbU3vSS+MtJNU27gl2YQ== X-Received: by 2002:a05:6214:448f:b0:87d:e32:81c5 with SMTP id 6a1803df08f44-8847c498571mr548828256d6.20.1764618318338; Mon, 01 Dec 2025 11:45:18 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Fabiano Rosas , Vladimir Sementsov-Ogievskiy , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , peterx@redhat.com, Juraj Marcin , Peter Maydell , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PATCH for-11.0 v2 3/7] error: Poison g_autoptr(Error) to prevent its use Date: Mon, 1 Dec 2025 14:45:06 -0500 Message-ID: <20251201194510.1121221-4-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251201194510.1121221-1-peterx@redhat.com> References: <20251201194510.1121221-1-peterx@redhat.com> 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=170.10.129.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1764618395824019200 From: Markus Armbruster The previous commit reverted support for g_autoptr(Error). This one should stop it from coming back. Suggested-by: Peter Maydell Signed-off-by: Markus Armbruster Tested-by: C=C3=A9dric Le Goater Reviewed-by: C=C3=A9dric Le Goater Signed-off-by: Peter Xu --- include/qapi/error.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/include/qapi/error.h b/include/qapi/error.h index f3ce4a4a2d..2356b84bb3 100644 --- a/include/qapi/error.h +++ b/include/qapi/error.h @@ -437,6 +437,26 @@ Error *error_copy(const Error *err); */ void error_free(Error *err); =20 +/* + * Poison g_autoptr(Error) to prevent its use. + * + * Functions that report or propagate an error take ownership of the + * Error object. Explicit error_free() is needed when you handle an + * error in some other way. This is rare. + * + * g_autoptr(Error) would call error_free() automatically on return. + * To avoid a double-free, we'd have to manually clear the pointer + * every time we propagate or report. + * + * Thus, g_autoptr(Error) would make the rare case easier to get right + * (less prone to leaks), and the common case easier to get wrong + * (more prone to double-free). + */ +extern void +__attribute__((error("Do not use g_autoptr() to declare Error * variables"= ))) +error_free_poisoned(Error *err); +G_DEFINE_AUTOPTR_CLEANUP_FUNC(Error, error_free_poisoned) + /* * Convenience function to assert that *@errp is set, then silently free i= t. */ --=20 2.50.1 From nobody Sun Feb 8 23:16:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1764618400; cv=none; d=zohomail.com; s=zohoarc; b=ncZgOtoSajcK9/Qe+4R0Pf03L5strvBa3YyIIr09AAAGuGwSgBZYgk2XTomLYMVu5QzXx3v4QQJUvQgsdkecFc9W+Eg5EMGUbJfTZqN0YAJRlQwrEOYB7yaE6UITWhBXyLmr93lrPv0VRWI3ABObDKvL0WUbhZbsa4tHY/R1UnQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764618400; 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=ei5GzZtaaE49DgNpGQUcvBY5Y72imNtgDnIb0VB53hk=; b=IAU3LcF/+GA+i0bBsqPk1VJ5s689JESuxedewodZM2E77aQsSoA/QwZZR2H9WK+5THueqAruzU0Mf/ywx1LXnYG7ria3VFDUblMi1UivVsIyAbuqOcZ1fs6zU+SPQHLx7hR91TQqywOGgqvuH2/pKxiqQVf80HdHrG3hnNRpq6I= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764618400576699.6969615890483; Mon, 1 Dec 2025 11:46:40 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQ9pu-0000mD-Cq; Mon, 01 Dec 2025 14:45:26 -0500 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 1vQ9pt-0000lV-9F for qemu-devel@nongnu.org; Mon, 01 Dec 2025 14:45:25 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQ9pr-0005Hr-Qg for qemu-devel@nongnu.org; Mon, 01 Dec 2025 14:45:25 -0500 Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-427-UXxaeNOpNrKMwVud99fTyg-1; Mon, 01 Dec 2025 14:45:21 -0500 Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-8823c1345c0so48212636d6.2 for ; Mon, 01 Dec 2025 11:45:21 -0800 (PST) Received: from x1.com ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88652b91ba3sm88835156d6.53.2025.12.01.11.45.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Dec 2025 11:45:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764618323; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ei5GzZtaaE49DgNpGQUcvBY5Y72imNtgDnIb0VB53hk=; b=ZymHLHSQIiJ0baD4cx1w+id4WYIBE2vf8/8RVfC2LP1UV3JiwpKWz5g2zhPqPiuqwVytvx 8KUEKYssKQeuSk0ZpMLmGWyNOG58KbZh63UGevz1bqFnf1+J2N7/RauH56QMs2lUrVbRvi z+bgn4jO2MJEgRTlqeQaEGBieaHqZiA= X-MC-Unique: UXxaeNOpNrKMwVud99fTyg-1 X-Mimecast-MFC-AGG-ID: UXxaeNOpNrKMwVud99fTyg_1764618321 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1764618321; x=1765223121; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ei5GzZtaaE49DgNpGQUcvBY5Y72imNtgDnIb0VB53hk=; b=oTQeavfHueMGmy6ffCP/szC0DYsyS1CiyyWIHCx5/ZGK88QpPXAiuJj2AQV72bwZQO V27TZRInoPlK/nL2Ge5JlEG4L+3Urv5tFjo97qsb6zc35oWanPVm/x9nFw+fP6HGub1u 38AdpREiW5bNDd0edVe1te0jSmLpNXqpoCvxieiV7i5kYrdDD9UZXh19OFvQ5LPEDXr1 XyqBcnyl76IWyLN23g0sp/JmAaGjh0DXhAJENoiTEEezUuv4FW354N6IYb9T035XiKq3 vhrHj35xTQ76xhEFP2of4BjGHsx2rPAWGsqg/mT6E9/BDSaIHbQMsz/1C8kyw0a7V1aG COOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764618321; x=1765223121; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ei5GzZtaaE49DgNpGQUcvBY5Y72imNtgDnIb0VB53hk=; b=TxQTmuPFo/wbf3aCRYCTgY/YLi1CAbyMY7iPzXynRTAMknQMeEMyhckBEGyg0yzR23 kyBMu4MrF2pt191qLtPWI01wBgMFk/2EVNHTK40O7CX0OhTFL2eCo7ybwqQ3bLPDlEHD I7tEQcKfFLw2AcheX8KseYqp+6bzaAKOJIcFMvoFeED5JUxcMhazCIGbmr2NAGReUlv4 bHIC8yOqQG5fg1MLriP00R83xAu0q1z6nPtWcvJGHneQrfiNXBmEkawy80Rx5M92HXME y9O06gpcAiYPTz4aHQALuDciow9gJ/5nCCzvZcz5u+xiJk89saYEHl2Bieit2xcc8hMY CeEw== X-Gm-Message-State: AOJu0YzAxEEAqWu3ic1TGInFizgIzUtr/h5QeeBXfL6AbFvlJJ1VGdYt Bij8vwEIpTU8hYsM7zRShLeSsZzPaSf8ZP7vgdmi3Jm8oIc/5+Pz/Wrxno9FS8p0WH9ZmLbV8qE jklc5J/wAfKsRJscfVF2pR3cpo/aPWAdFkh2puRiFs4eS68oGkLXP0IJfAvFDYmsdZezcLPIcN5 AuznBEqlWPGVgWsPDPkCvg+OlwzyAVFXRWnRmiSA== X-Gm-Gg: ASbGncsiXkvXM4XaB0mNsEnltyxEo5PlhYiAvAAYkYL0N4ZWmZvKbbUBlRLLeN5nliT WcK2NvJ/nZd+DVOCRrEleLD6/yleWrTVMz6bw/+PRtnM6e30sD/r46L2Vn+WqFFWF1NqXpI4aku drt5Z9aDNNxFyoDpmhdMoIDgh/8p82t7izVO6Ee1CiE0WtjhE0HBvELyXVgeKA4ygGphOcOhABg LPF9NWUq1m4o3Ngl6vDKSoVSZ7EDQ4cD3hQJNni26Iu2ATHxdqEY5VNSdumUWpgjFN9kZX99vXI zzRWNbxf3i7YBaQInrAMV4jqP+nHmEGzVEfhUWL85NEZR6X/7i6cPUIfDjIRjUHMf538VP3c1wv b X-Received: by 2002:a05:6214:4013:b0:879:6db9:148d with SMTP id 6a1803df08f44-8863aebaebfmr402159456d6.27.1764618320841; Mon, 01 Dec 2025 11:45:20 -0800 (PST) X-Google-Smtp-Source: AGHT+IEaTMiMx6Qtj0uk/a5zOoT2P2XK+rMlGa4yQ2xsHqDzd9d4mjL06JJIy53MAICsPZCSYGiitg== X-Received: by 2002:a05:6214:4013:b0:879:6db9:148d with SMTP id 6a1803df08f44-8863aebaebfmr402158446d6.27.1764618320050; Mon, 01 Dec 2025 11:45:20 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Fabiano Rosas , Vladimir Sementsov-Ogievskiy , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , peterx@redhat.com, Juraj Marcin Subject: [PATCH for-11.0 v2 4/7] migration: Make migration_connect_set_error() own the error Date: Mon, 1 Dec 2025 14:45:07 -0500 Message-ID: <20251201194510.1121221-5-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251201194510.1121221-1-peterx@redhat.com> References: <20251201194510.1121221-1-peterx@redhat.com> 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=170.10.129.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1764618401467019200 Content-Type: text/plain; charset="utf-8" Make migration_connect_set_error() take ownership of the error always. Paving way for making migrate_set_error() to take ownership. When at it, renaming it to migration_connect_error_propagate(), following Error API, to imply the Error object ownership transition. NOTE: this patch also makes migration_connect() to take ownership of the Error passed in. Signed-off-by: Peter Xu Reviewed-by: Markus Armbruster --- migration/channel.c | 1 - migration/migration.c | 9 +++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/migration/channel.c b/migration/channel.c index 462cc183e1..92435fa7f7 100644 --- a/migration/channel.c +++ b/migration/channel.c @@ -95,7 +95,6 @@ void migration_channel_connect(MigrationState *s, } } migration_connect(s, error); - error_free(error); } =20 =20 diff --git a/migration/migration.c b/migration/migration.c index b316ee01ab..0ff8b31a88 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1575,7 +1575,7 @@ static void migrate_error_free(MigrationState *s) } } =20 -static void migration_connect_set_error(MigrationState *s, const Error *er= ror) +static void migration_connect_error_propagate(MigrationState *s, Error *er= ror) { MigrationStatus current =3D s->state; MigrationStatus next; @@ -1602,6 +1602,7 @@ static void migration_connect_set_error(MigrationStat= e *s, const Error *error) =20 migrate_set_state(&s->state, current, next); migrate_set_error(s, error); + error_free(error); } =20 void migration_cancel(void) @@ -2292,7 +2293,7 @@ void qmp_migrate(const char *uri, bool has_channels, =20 out: if (local_err) { - migration_connect_set_error(s, local_err); + migration_connect_error_propagate(s, error_copy(local_err)); error_propagate(errp, local_err); } } @@ -2337,7 +2338,7 @@ static void qmp_migrate_finish(MigrationAddress *addr= , bool resume_requested, if (!resume_requested) { yank_unregister_instance(MIGRATION_YANK_INSTANCE); } - migration_connect_set_error(s, local_err); + migration_connect_error_propagate(s, error_copy(local_err)); error_propagate(errp, local_err); return; } @@ -4039,7 +4040,7 @@ void migration_connect(MigrationState *s, Error *erro= r_in) =20 s->expected_downtime =3D migrate_downtime_limit(); if (error_in) { - migration_connect_set_error(s, error_in); + migration_connect_error_propagate(s, error_in); if (resume) { /* * Don't do cleanup for resume if channel is invalid, but only= dump --=20 2.50.1 From nobody Sun Feb 8 23:16:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1764618393; cv=none; d=zohomail.com; s=zohoarc; b=avhpJKKwciSCyOA3Bnc1UHS/pOei1mNo3feeCPkXUsN7wQuXBsQl672pXbdZyXdmniEYzxXB6HUizhuFX3mMxmNIH7IKHBx227l7goS0dUpEIiJt6ExWAy3gcDjSel8QbnIpIYMieuPkpPv0qJNikPkeJ+qh5ChxHPftFu7rxvw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764618393; 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=/kWVrVdnd8jt0TShIHQCg4+CRPqbkyfemQjl5ovQg5U=; b=MZCP4gPfbb6UT3o3uZ7KQ4M7Jy3+6zXBHUUCtKhaLFomY8+jh471XLaNTI9eSQwI2XrMWYIX6MeiBLgRGkef8FYrRsUho1x7v6tpc8AMs3WfFUZsvlftkkOABiGfhGZkq+X0L4F5uNJIeD74HdGgtUvz2svYaldmi6D0z4OlyyM= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764618393654291.9734630207581; Mon, 1 Dec 2025 11:46:33 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQ9pz-0000oX-Sm; Mon, 01 Dec 2025 14:45:31 -0500 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 1vQ9py-0000nY-3Y for qemu-devel@nongnu.org; Mon, 01 Dec 2025 14:45:30 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQ9pw-0005IX-4j for qemu-devel@nongnu.org; Mon, 01 Dec 2025 14:45:29 -0500 Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-590-rlOPxvLMP4yDu6Hi2KdQWA-1; Mon, 01 Dec 2025 14:45:26 -0500 Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-8823acf4db3so84167026d6.3 for ; Mon, 01 Dec 2025 11:45:26 -0800 (PST) Received: from x1.com ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88652b91ba3sm88835156d6.53.2025.12.01.11.45.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Dec 2025 11:45:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764618327; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/kWVrVdnd8jt0TShIHQCg4+CRPqbkyfemQjl5ovQg5U=; b=W5ZwzD4ddag9TaHUYGhvDfsyctncdIB4i1OnoE/6LGkIqFs4i4gVa0/t7Gze0I4KXnuzR5 qSMeEGt/jL1PK9uXzS90HY3J6MuH5eRsdOSj0LLB93ZRtgRYC3Pqn4cacLs1vqYLxDPAjA 10AcqoA1XdbVOnXOc2pqdR8j9503t40= X-MC-Unique: rlOPxvLMP4yDu6Hi2KdQWA-1 X-Mimecast-MFC-AGG-ID: rlOPxvLMP4yDu6Hi2KdQWA_1764618326 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1764618324; x=1765223124; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/kWVrVdnd8jt0TShIHQCg4+CRPqbkyfemQjl5ovQg5U=; b=uGpyTLFsPXiSr6cpWexgdGHhT8peA+kVtftyWYmIZb7L4AlrVR7foMM7bcB2mCIQcc kSuQxXMrInY7pRkUKocKK1YG0QqU6zto64VLKAvOMXb0GusFCG55IfuKLSVe2S/Gffqz 0pQyaeMk+9HbN820OgIsnYrW7+s1Biui5oMO9OPV5ujLQpIf9kvoZPlp2kj+xTB/ySbs Jyy5mNwEp2c9mho/BMQ2bkTqVpVnl3Aidu+QFMjwBh+Qffb7grqWjP3ersWuIZDQKlDv 8D08glqKOlevAyiSmELJhBHifrHyTmUKUEfkLAbgfDNuVfQ2adnJk3szKgvcsO1ojrh6 iQ/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764618324; x=1765223124; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=/kWVrVdnd8jt0TShIHQCg4+CRPqbkyfemQjl5ovQg5U=; b=c0eIeDo5hBDObvbX7NosCQLTYv2eVU2bBmnQ2wkESdW3EIm/UAFxo+DA6+JNjrYyYD Mh/y764rHfGPLPWLiMGAjsBMlvF97B8Aa7tYVLoYV/iOP5Xngu8Q09C2rBt7oExZb2DT 4Ny68vwlYHIVzCbd9AhQmCX4hghtYGDL0sv+1eNqXtPV26TGhnb6LJFSTZff0ZJRyYKC x1LCTsY2MKbZk38gNrnV4nymQxJ1FjhlklQokcGYs1mJXupH3lmqsKPS5Rdmd2qgtFy1 rOtuem54edhfBrtChApIbLTDcjs9B36MZ3kDS5qo+lWgTbMut4W+n2MC9oMSP9QqmJ66 B8BQ== X-Gm-Message-State: AOJu0Yz8lbu3KLcGmmTly9/EiUZTXdtgFh+WtMd/yRCnP8aux4ehHz4I 7GGyXw2V+iWLhMGAlDuY/pPTBeKerDcXxU2wc/kFR1eOFIybRkS6qqKqRrfqvywlsGeCBuaBawU 6sXgGJ582AmFgrkgWr0kZf6Mc8InrlYW7wzw+ETrQiu0q/euVKPfs4Qz1mNzQ1o8RPBmS3ifL/U uYe7sAuV/4S1aw9143lGWZTWS9h2kLYHOdrlQvIQ== X-Gm-Gg: ASbGncsostkOra30gPm/0PF2A5ljX2muRQf3R8C4S7LEwZbd2IJZxDQgQYT36JziXtZ 4ayF+RAlHO4i/fbvmnrtIz/kXLqmF26c7TtxufxqpeDbnm+VOZ8Q2cGsictklsACCqTq/97lMB0 Tfth14Sgv9ykw1ZI+9JNQXOrdpoq6Ay90uWrzPwAaqyDfDNN7ytFPr63cvl7S+r6Qh4nM97MGBY nB1XQhpjnRyZ+IB69lA3zLKFGdKQumPfDwZiTbP5e+KFJ0JLYGFZfP8jQJ9c8g9/9kE4FTyM2ex aWKhBaYN2gInePGnnUXr4NeVdO921eKARmKVx4qq0+9D52E9Ea2Lvwz+KjeEt5VT3TOv8F8wqfK N X-Received: by 2002:ad4:5be1:0:b0:882:489e:a7a3 with SMTP id 6a1803df08f44-8863afb10a1mr462160886d6.52.1764618322979; Mon, 01 Dec 2025 11:45:22 -0800 (PST) X-Google-Smtp-Source: AGHT+IFsN7TcDaqsVVsVWqFxD1zeWiHPGTvy2T/hcr0r5N88NJ0K9SYrEfwFimc6f5FrDxYqKoXAaQ== X-Received: by 2002:ad4:5be1:0:b0:882:489e:a7a3 with SMTP id 6a1803df08f44-8863afb10a1mr462158326d6.52.1764618321268; Mon, 01 Dec 2025 11:45:21 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Fabiano Rosas , Vladimir Sementsov-Ogievskiy , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , peterx@redhat.com, Juraj Marcin Subject: [PATCH for-11.0 v2 5/7] migration: Make multifd_send_set_error() own the error Date: Mon, 1 Dec 2025 14:45:08 -0500 Message-ID: <20251201194510.1121221-6-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251201194510.1121221-1-peterx@redhat.com> References: <20251201194510.1121221-1-peterx@redhat.com> 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=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1764618395832019200 Content-Type: text/plain; charset="utf-8" Make multifd_send_set_error() take ownership of the error always. Paving way for making migrate_set_error() to take ownership. When at it, rename it to multifd_send_error_propagate() to imply the ownership transition following Error API's naming style. Reviewed-by: Markus Armbruster Signed-off-by: Peter Xu --- migration/multifd.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/migration/multifd.c b/migration/multifd.c index 3203dc98e1..651ea3d14b 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -414,7 +414,7 @@ bool multifd_send(MultiFDSendData **send_data) } =20 /* Multifd send side hit an error; remember it and prepare to quit */ -static void multifd_send_set_error(Error *err) +static void multifd_send_error_propagate(Error *err) { /* * We don't want to exit each threads twice. Depending on where @@ -429,6 +429,7 @@ static void multifd_send_set_error(Error *err) if (err) { MigrationState *s =3D migrate_get_current(); migrate_set_error(s, err); + error_free(err); if (s->state =3D=3D MIGRATION_STATUS_SETUP || s->state =3D=3D MIGRATION_STATUS_PRE_SWITCHOVER || s->state =3D=3D MIGRATION_STATUS_DEVICE || @@ -777,9 +778,8 @@ out: if (ret) { assert(local_err); trace_multifd_send_error(p->id); - multifd_send_set_error(local_err); + multifd_send_error_propagate(local_err); multifd_send_kick_main(p); - error_free(local_err); } =20 rcu_unregister_thread(); @@ -901,14 +901,13 @@ out: } =20 trace_multifd_new_send_channel_async_error(p->id, local_err); - multifd_send_set_error(local_err); + multifd_send_error_propagate(local_err); /* * For error cases (TLS or non-TLS), IO channel is always freed here * rather than when cleanup multifd: since p->c is not set, multifd * cleanup code doesn't even know its existence. */ object_unref(OBJECT(ioc)); - error_free(local_err); } =20 static bool multifd_new_send_channel_create(gpointer opaque, Error **errp) --=20 2.50.1 From nobody Sun Feb 8 23:16:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1764618367; cv=none; d=zohomail.com; s=zohoarc; b=YmKRFWUm9XfCjg+tfpTZuWQHzXNDzjr+g3NCU5+76YUIR83GqkKhLKHNsJNEoArjfZpSH1PoMwTtrC3ClSHShiZTvOSbgTPOHlHlImRPziAvVQwb+XcB3YXr7ZJnonAukT8SAeKmsnDb79/2WnX1TXkH11eH3BStoGBYCVDC0X0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764618367; 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=fhlRpcavjCvGF29D/uw6s5hCLFCnLOe1fbEz6fTyAew=; b=GIl7mEoHTGY64TBa5nGQK8hlUgPWxMGXKhAzKkDladwjzWsaSauhz057c8NvSXt5Y4afbtXkbbjiLrQ6vj/mvUFmODiNqrEO9zaOsWRbMahtx06VzOHeHW8pXEJquiqBHx4QeXqqVb6FGoMfrx/l0dno4OmVgaMXiJmaoBVLcL4= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764618367023114.84583889782391; Mon, 1 Dec 2025 11:46:07 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQ9py-0000nm-Mb; Mon, 01 Dec 2025 14:45:30 -0500 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 1vQ9pv-0000n0-Q7 for qemu-devel@nongnu.org; Mon, 01 Dec 2025 14:45:28 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQ9pu-0005I9-Cy for qemu-devel@nongnu.org; Mon, 01 Dec 2025 14:45:27 -0500 Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-586-nR9j8snTN5u4ae-ChpB14w-1; Mon, 01 Dec 2025 14:45:24 -0500 Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4ed6e701d26so84669911cf.1 for ; Mon, 01 Dec 2025 11:45:24 -0800 (PST) Received: from x1.com ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88652b91ba3sm88835156d6.53.2025.12.01.11.45.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Dec 2025 11:45:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764618325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fhlRpcavjCvGF29D/uw6s5hCLFCnLOe1fbEz6fTyAew=; b=goWIx8GeMI9cuAiNx7OQi2Vd79iK7D8v0rXWo/yIJF4eVAoUZ8Hpcja3WKBdmlRS/cPo/Y 0VOdgDfTsrVGMvo3BZ56N2kqpjb5xxEKEejFJZWsFtxxPmg4KXkZZelezWXVjZuytLY127 pG73925Wx/FZ7wTAjQXrLLxdPPofiyk= X-MC-Unique: nR9j8snTN5u4ae-ChpB14w-1 X-Mimecast-MFC-AGG-ID: nR9j8snTN5u4ae-ChpB14w_1764618324 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1764618323; x=1765223123; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fhlRpcavjCvGF29D/uw6s5hCLFCnLOe1fbEz6fTyAew=; b=PeQFjkSsfhrAumE8BzRmuMFDTXQXSc8dG4z821SDsIDgjJW1hzHX92jECkSKB6PzAs DKeIQkRpZUbsQicHAxeO1+ft7YNySx/PX7xVLGS2dcbyy9XEhHJH2XEVaxli8OcRGopP i80PiSdOqLdB5Q8799bCQfs9f4/2ctOmnZosqjoGReFT8hd6hitOs7LlSVQOO3P+uzD3 j/D5Xr6tBP3MDSfVLbRIF4k8umjNODB2cj3XGYGPBclRZarllx706huSdl/i7IH3gDPY 8qxfgypyc4Pi2I3c96yY4DsxOfSj1Ba1cSE0LLMgxwqJlVpMNHmUkm2ESK4Iel99PfIB lzLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764618323; x=1765223123; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=fhlRpcavjCvGF29D/uw6s5hCLFCnLOe1fbEz6fTyAew=; b=XNMBox4tivgsaSlbCtSH3b2kHVe6YvbriuTVKxXvgPK6j/Br/tfxWhOogdM1o+iJG3 wDyiX9yYaE5+Xg0f8cJhUURFYzzYW2M92Z+J9S3XfOzrNy8r2xjHHq1WgEFR05Ka4KkS oEAxQjMI4dP82xbNVlLSjwTdrBWDMMuayH+OHPbol91csz+eNDLWuuQpy6pCTse/j5+O 77NGTKJ8xakSryejyC8TrTuNkeRvFCf177hanTAgpB3/9UJUZ3QbFqxUSSEHEvfrs68c hun3XntCQpVKCF6YLhT5xbgdXJwBwxOePYiDejRGvsq4v5RpdaTD4TXWM+390BYY4zim pSrA== X-Gm-Message-State: AOJu0Yw7H3N8Cv1wr5TJnJjRuV5b9+FkarClSb93Ohc6jyYr+x/ZIosp kIfGQW7V2DEuFcsHPQLE5n680Q+My2pHjEMCmuJ0WZ5lx1EQNvykFtVCfSWzX7fUBkOB7JP/RE0 TARmKeRvTBFUH8DeOCCC3MCEf4+X3h7DmG7mUj6HyJNeoCQSp3TEUEbIjpaxMRInitqLEypbW0c eYSGz86TPLq8xaih+dAatMyO3P/03ikOHB/klumA== X-Gm-Gg: ASbGncvRkMyuuqyca+tEBWV4Ajbj0V7oIXWNXNt/zfgjjiOZ3R5y5H3dZGTiEJSQIUC Jv95NZ8D8eUi/92+dtneSMqu6fYiYt/HYpSov54qJhPCWQgkL1UEcDJQwUHx0f+nMd2ofmDVFoA OuObhLDDAgnMHFNmwhKnIakl+DBfyrYF2X6gortYkVEzDziM3e7vyOguHe/QjF251ic9IDtWL68 GSTeJTXEjweot0HlQ1xQx6F8TxbUL3VrK8o+iqXBWkHXiXyBMNSdmDRw1g7iFNUnwMtfzu4tqfm zePFzNkn3y3bEPuWG2U+xzXRNC25efahqsvboZYaBo7oBygo1BgwNEi+mZFutbtH2OjtuY/QZps B X-Received: by 2002:a05:622a:144c:b0:4ed:b012:9716 with SMTP id d75a77b69052e-4ee5895b9c4mr508296191cf.80.1764618323144; Mon, 01 Dec 2025 11:45:23 -0800 (PST) X-Google-Smtp-Source: AGHT+IEOIrg9RsmQ/oAhu1v2Yo+uLIG7J9YKzMFgd9GJn44S+bTaXDG+xtCBRgIjHju42aWIItJOSA== X-Received: by 2002:a05:622a:144c:b0:4ed:b012:9716 with SMTP id d75a77b69052e-4ee5895b9c4mr508294981cf.80.1764618322299; Mon, 01 Dec 2025 11:45:22 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Fabiano Rosas , Vladimir Sementsov-Ogievskiy , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , peterx@redhat.com, Juraj Marcin Subject: [PATCH for-11.0 v2 6/7] migration: Make multifd_recv_terminate_threads() own the error Date: Mon, 1 Dec 2025 14:45:09 -0500 Message-ID: <20251201194510.1121221-7-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251201194510.1121221-1-peterx@redhat.com> References: <20251201194510.1121221-1-peterx@redhat.com> 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=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1764618369808019200 Content-Type: text/plain; charset="utf-8" Make multifd_recv_terminate_threads() take ownership of the error always. Paving way for making migrate_set_error() to take ownership. Signed-off-by: Peter Xu Reviewed-by: Markus Armbruster --- migration/multifd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/migration/multifd.c b/migration/multifd.c index 651ea3d14b..52e4d25857 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -1068,6 +1068,7 @@ static void multifd_recv_terminate_threads(Error *err) if (err) { MigrationState *s =3D migrate_get_current(); migrate_set_error(s, err); + error_free(err); if (s->state =3D=3D MIGRATION_STATUS_SETUP || s->state =3D=3D MIGRATION_STATUS_ACTIVE) { migrate_set_state(&s->state, s->state, @@ -1434,7 +1435,6 @@ static void *multifd_recv_thread(void *opaque) =20 if (local_err) { multifd_recv_terminate_threads(local_err); - error_free(local_err); } =20 rcu_unregister_thread(); @@ -1535,7 +1535,7 @@ void multifd_recv_new_channel(QIOChannel *ioc, Error = **errp) if (use_packets) { id =3D multifd_recv_initial_packet(ioc, &local_err); if (id < 0) { - multifd_recv_terminate_threads(local_err); + multifd_recv_terminate_threads(error_copy(local_err)); error_propagate_prepend(errp, local_err, "failed to receive packet" " via multifd channel %d: ", @@ -1551,7 +1551,7 @@ void multifd_recv_new_channel(QIOChannel *ioc, Error = **errp) if (p->c !=3D NULL) { error_setg(&local_err, "multifd: received id '%d' already setup'", id); - multifd_recv_terminate_threads(local_err); + multifd_recv_terminate_threads(error_copy(local_err)); error_propagate(errp, local_err); return; } --=20 2.50.1 From nobody Sun Feb 8 23:16:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1764618400; cv=none; d=zohomail.com; s=zohoarc; b=IRIOdgcIyLuVhHuj+pFpns/JmJnXIlbjbzyP4y8KG6BadtotPxz+DxAqNiOBqUBUMTXsF7ki4beqzdeRtrzlJxn5dZ6jWpkViJ6kcascPWVpIbBfCcvh3SG/605qT7NlqjoqgS0q4E3SHE+nQSLIDdGNB6XWRawmoWw6DP56bdc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764618400; 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=RoDaNpM4TafGzT5nSjPHRGmwylMI4NGchjvtmGIjALo=; b=ErjA28hs3Ym/nSXVapPJ0RE+mOcHyq4TA6lZZ2fIVyz4WzyO4o9DYCGfXFh3DGOhwNPtwhIukgiMXwAb1aF4DuTdtMsyYnIRA/dmEuRq5UCBzLh/5U3bRMzHnGvOFSFfoajeFpenUbBtCQt+F1IlCrR4q8h6CmcHPFS3vRxGNJg= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17646184008541010.7700306038703; Mon, 1 Dec 2025 11:46:40 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQ9q1-0000oc-9B; Mon, 01 Dec 2025 14:45:33 -0500 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 1vQ9px-0000nQ-Oq for qemu-devel@nongnu.org; Mon, 01 Dec 2025 14:45:29 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQ9pv-0005IN-8x for qemu-devel@nongnu.org; Mon, 01 Dec 2025 14:45:29 -0500 Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-562-cgKhyUFlMpipJXbRT37uWQ-1; Mon, 01 Dec 2025 14:45:25 -0500 Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4ed82af96faso89733761cf.1 for ; Mon, 01 Dec 2025 11:45:25 -0800 (PST) Received: from x1.com ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-88652b91ba3sm88835156d6.53.2025.12.01.11.45.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Dec 2025 11:45:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764618326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=RoDaNpM4TafGzT5nSjPHRGmwylMI4NGchjvtmGIjALo=; b=CjA5/2U6rBY7VxvA1qU0LwiFuzoxdXicurdbsUmY5ezf/Q2LCvjGqtvnMJ/GiATDC5SIN+ 6ciFqZNB8PlCQmp7Uz7hU60wh5AnpgzUKOt+3qSMkc2ZgPP2gFGrOh1la8epvWrjCk3eJR 7XDEh0nqGYgT8CDWmy9ZAS9p39VsNm8= X-MC-Unique: cgKhyUFlMpipJXbRT37uWQ-1 X-Mimecast-MFC-AGG-ID: cgKhyUFlMpipJXbRT37uWQ_1764618325 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1764618324; x=1765223124; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=RoDaNpM4TafGzT5nSjPHRGmwylMI4NGchjvtmGIjALo=; b=I984VwgTS2L7kmAlXMdbTCY3wSxvoyy/f81wiitwDgvuoSQb2F6YS11jIUHm4Kx9y9 KcsSSzK2t8QmCqU3npaRTZ48esw4o6sV8B3ED5hHIITlUlOqUeU0d7iaQdvTtM1BLhqy AIb7HP5UfhLyiWslEKvxJuBkSpjzo5R5pKMscvuzaFeHId5tp+Vbtav1UHquebiyaYAq utik7cEL2wNdRu0OJecd+8sNpf4GxiQX4VKSf92jmFDWTqqWTKHxuHEsobJIeXqVN38t 5FPER8tFkeyO4BFYPzXeOzffcduvGQMjtZAftT/oROUI7JF5KL8yfqzicgpS8kDV/M7n bTww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764618324; x=1765223124; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=RoDaNpM4TafGzT5nSjPHRGmwylMI4NGchjvtmGIjALo=; b=pbr+gE1zewa1go2/+FCeVEuKmIIT7vZqkgOrxZvU9eFL/0WzFF8eZBxPG3lA8VpQlM 4qj2oFxNdxVGr+gjUF+HlRNCMjLp4JTh1B3B2AXIJdjmg8JjjHFcBgtDShNAgV1mC5Vh Dhz2fq2hRkN0pcx4dY15/JHanqs90Z4gHHYOZ2hiI4i5ln3rWl1J3PAd8IYPZbTG2Ji5 I+9RuQarvXfaXZDOxwY0XPRfeYjUiwT9qCLmiZeqLva7E/cMhd65czjxmGd/udA7cGrc Q2V2/QzUfBxDe0Ycfzdg4BrsBxr1vXCgC1ZaDlRezUdlfm9Eyd1Qz6JNOreNxHBvuNXi 3b8Q== X-Gm-Message-State: AOJu0YwZfoDznk7iUl0iHMKK2wGOCjG5CUYZwF26Tpifv9N5LiAe7W4E 0BCVYdzAAaU850fbBuMEwUPCYwe7FOkscLkcYiM5tHbxjU4ExFXLIqxIPlgayHMr2hKyWxPH9Eg APj9yWIloFiDIQbfihMultdu6vKsHIX0aSEgfglDSqIiTrO6H/z4Y/gg9NQaxu9ei1PyMVWI+Ge bwbvqPQmWvEtbR+bZuMWKU1pk8zyKXKgALECOC8A== X-Gm-Gg: ASbGncsw65g8McWR9z4fG3rdXA1kBfXSLITM4aDUNZSweItkdwlWme7MREuI4r6Ous5 VlcKlBu9n4JJf0vWN8XbaxB62PzRAOioy3k9O21grLJ6Www+xQ5j6OAt9MShqhVh2sXaa1FgIen B09/Q4VXkEsE+k56TIIXBh4rrR73gcxH1lvZAm4bIRr8+27xtdE5AM9E/t9nGqh/rQ9bUlP+Eh0 RAIHXsyoYRRuPQaMIKCTryI16JDNB4W3Tmr+PT9c/zdbemIIjYe7PYqF+HBklD9NbEgu1oS3/ij 99sAUYI0mqFQ6BFOhOemQE/pUrF3mH0osR3IhGI1DFOUb/KNlCLG7oS/tKDn9xs7w4OkD+YFOad x X-Received: by 2002:a05:622a:5ca:b0:4ee:18eb:feb6 with SMTP id d75a77b69052e-4ee58a44091mr540362551cf.11.1764618324190; Mon, 01 Dec 2025 11:45:24 -0800 (PST) X-Google-Smtp-Source: AGHT+IGJnGQzm9H4rtAPPumNah8aBbBfYbPL5L6WcP4/tPmV6D9VWEpUs3nljqJslQH2zEyF2zl7MA== X-Received: by 2002:a05:622a:5ca:b0:4ee:18eb:feb6 with SMTP id d75a77b69052e-4ee58a44091mr540361301cf.11.1764618323418; Mon, 01 Dec 2025 11:45:23 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Fabiano Rosas , Vladimir Sementsov-Ogievskiy , Markus Armbruster , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , peterx@redhat.com, Juraj Marcin Subject: [PATCH for-11.0 v2 7/7] migration: Replace migrate_set_error() with migrate_error_propagate() Date: Mon, 1 Dec 2025 14:45:10 -0500 Message-ID: <20251201194510.1121221-8-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251201194510.1121221-1-peterx@redhat.com> References: <20251201194510.1121221-1-peterx@redhat.com> 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=170.10.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1764618401646019200 Content-Type: text/plain; charset="utf-8" migrate_set_error() currently doesn't take ownership of the error being passed in. It's not aligned with the error API and meanwhile it also makes most of the caller free the error explicitly. Change the API to take the ownership of the Error object instead. This should save a lot of error_copy() invocations. Signed-off-by: Peter Xu Reviewed-by: Markus Armbruster --- migration/migration.h | 2 +- migration/cpr-exec.c | 5 ++-- migration/migration.c | 44 +++++++++++++++----------------- migration/multifd-device-state.c | 5 +--- migration/multifd.c | 19 +++++++------- migration/postcopy-ram.c | 5 ++-- migration/ram.c | 4 +-- migration/savevm.c | 16 +++++------- 8 files changed, 43 insertions(+), 57 deletions(-) diff --git a/migration/migration.h b/migration/migration.h index 213b33fe6e..e4b4f25deb 100644 --- a/migration/migration.h +++ b/migration/migration.h @@ -525,7 +525,7 @@ void migration_incoming_process(void); =20 bool migration_has_all_channels(void); =20 -void migrate_set_error(MigrationState *s, const Error *error); +void migrate_error_propagate(MigrationState *s, Error *error); bool migrate_has_error(MigrationState *s); =20 void migration_connect(MigrationState *s, Error *error_in); diff --git a/migration/cpr-exec.c b/migration/cpr-exec.c index 0b8344a86f..da287d8031 100644 --- a/migration/cpr-exec.c +++ b/migration/cpr-exec.c @@ -158,8 +158,9 @@ static void cpr_exec_cb(void *opaque) =20 error_report_err(error_copy(err)); migrate_set_state(&s->state, s->state, MIGRATION_STATUS_FAILED); - migrate_set_error(s, err); - error_free(err); + + migrate_error_propagate(s, err); + /* We must reset the error because it'll be reused later */ err =3D NULL; =20 /* Note, we can go from state COMPLETED to FAILED */ diff --git a/migration/migration.c b/migration/migration.c index 0ff8b31a88..70813e5006 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -914,9 +914,7 @@ process_incoming_migration_co(void *opaque) fail: migrate_set_state(&mis->state, MIGRATION_STATUS_ACTIVE, MIGRATION_STATUS_FAILED); - migrate_set_error(s, local_err); - error_free(local_err); - + migrate_error_propagate(s, local_err); migration_incoming_state_destroy(); =20 if (mis->exit_on_error) { @@ -1548,14 +1546,20 @@ static void migration_cleanup_bh(void *opaque) migration_cleanup(opaque); } =20 -void migrate_set_error(MigrationState *s, const Error *error) +/* + * Propagate the Error* object to migration core. The caller mustn't + * reference the error pointer after the function returned, because the + * Error* object might be freed. + */ +void migrate_error_propagate(MigrationState *s, Error *error) { QEMU_LOCK_GUARD(&s->error_mutex); - trace_migrate_error(error_get_pretty(error)); =20 if (!s->error) { - s->error =3D error_copy(error); + s->error =3D error; + } else { + error_free(error); } } =20 @@ -1601,8 +1605,7 @@ static void migration_connect_error_propagate(Migrati= onState *s, Error *error) } =20 migrate_set_state(&s->state, current, next); - migrate_set_error(s, error); - error_free(error); + migrate_error_propagate(s, error); } =20 void migration_cancel(void) @@ -2014,8 +2017,7 @@ void qmp_migrate_pause(Error **errp) =20 /* Tell the core migration that we're pausing */ error_setg(&error, "Postcopy migration is paused by the user"); - migrate_set_error(ms, error); - error_free(error); + migrate_error_propagate(ms, error); =20 qemu_mutex_lock(&ms->qemu_file_lock); if (ms->to_dst_file) { @@ -2647,8 +2649,7 @@ static void *source_return_path_thread(void *opaque) =20 out: if (err) { - migrate_set_error(ms, err); - error_free(err); + migrate_error_propagate(ms, err); trace_source_return_path_thread_bad_end(); } =20 @@ -3094,12 +3095,10 @@ static void migration_completion(MigrationState *s) =20 fail: if (qemu_file_get_error_obj(s->to_dst_file, &local_err)) { - migrate_set_error(s, local_err); - error_free(local_err); + migrate_error_propagate(s, local_err); } else if (ret) { error_setg_errno(&local_err, -ret, "Error in migration completion"= ); - migrate_set_error(s, local_err); - error_free(local_err); + migrate_error_propagate(s, local_err); } =20 if (s->state !=3D MIGRATION_STATUS_CANCELLING) { @@ -3326,8 +3325,7 @@ static MigThrError migration_detect_error(MigrationSt= ate *s) } =20 if (local_error) { - migrate_set_error(s, local_error); - error_free(local_error); + migrate_error_propagate(s, local_error); } =20 if (state =3D=3D MIGRATION_STATUS_POSTCOPY_ACTIVE && ret) { @@ -3522,7 +3520,7 @@ static MigIterateState migration_iteration_run(Migrat= ionState *s) if (must_precopy <=3D s->threshold_size && can_switchover && qatomic_read(&s->start_postcopy)) { if (postcopy_start(s, &local_err)) { - migrate_set_error(s, local_err); + migrate_error_propagate(s, error_copy(local_err)); error_report_err(local_err); } return MIG_ITERATE_SKIP; @@ -3819,8 +3817,7 @@ static void *migration_thread(void *opaque) * devices to unplug. This to preserve migration state transitions. */ if (ret) { - migrate_set_error(s, local_err); - error_free(local_err); + migrate_error_propagate(s, local_err); migrate_set_state(&s->state, MIGRATION_STATUS_ACTIVE, MIGRATION_STATUS_FAILED); goto out; @@ -3944,8 +3941,7 @@ static void *bg_migration_thread(void *opaque) * devices to unplug. This to preserve migration state transitions. */ if (ret) { - migrate_set_error(s, local_err); - error_free(local_err); + migrate_error_propagate(s, local_err); migrate_set_state(&s->state, MIGRATION_STATUS_ACTIVE, MIGRATION_STATUS_FAILED); goto fail_setup; @@ -4127,7 +4123,7 @@ void migration_connect(MigrationState *s, Error *erro= r_in) return; =20 fail: - migrate_set_error(s, local_err); + migrate_error_propagate(s, error_copy(local_err)); if (s->state !=3D MIGRATION_STATUS_CANCELLING) { migrate_set_state(&s->state, s->state, MIGRATION_STATUS_FAILED); } diff --git a/migration/multifd-device-state.c b/migration/multifd-device-st= ate.c index db3239fef5..91d5d81556 100644 --- a/migration/multifd-device-state.c +++ b/migration/multifd-device-state.c @@ -143,8 +143,6 @@ static int multifd_device_state_save_thread(void *opaqu= e) Error *local_err =3D NULL; =20 if (!data->hdlr(data, &local_err)) { - MigrationState *s =3D migrate_get_current(); - /* * Can't call abort_device_state_save_threads() here since new * save threads could still be in process of being launched @@ -158,8 +156,7 @@ static int multifd_device_state_save_thread(void *opaqu= e) * In case of multiple save threads failing which thread error * return we end setting is purely arbitrary. */ - migrate_set_error(s, local_err); - error_free(local_err); + migrate_error_propagate(migrate_get_current(), local_err); } =20 return 0; diff --git a/migration/multifd.c b/migration/multifd.c index 52e4d25857..bf6da85af8 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -428,8 +428,9 @@ static void multifd_send_error_propagate(Error *err) =20 if (err) { MigrationState *s =3D migrate_get_current(); - migrate_set_error(s, err); - error_free(err); + + migrate_error_propagate(s, err); + if (s->state =3D=3D MIGRATION_STATUS_SETUP || s->state =3D=3D MIGRATION_STATUS_PRE_SWITCHOVER || s->state =3D=3D MIGRATION_STATUS_DEVICE || @@ -588,8 +589,7 @@ void multifd_send_shutdown(void) Error *local_err =3D NULL; =20 if (!multifd_send_cleanup_channel(p, &local_err)) { - migrate_set_error(migrate_get_current(), local_err); - error_free(local_err); + migrate_error_propagate(migrate_get_current(), local_err); } } =20 @@ -962,8 +962,7 @@ bool multifd_send_setup(void) p->write_flags =3D 0; =20 if (!multifd_new_send_channel_create(p, &local_err)) { - migrate_set_error(s, local_err); - error_free(local_err); + migrate_error_propagate(s, local_err); ret =3D -1; } } @@ -987,8 +986,7 @@ bool multifd_send_setup(void) =20 ret =3D multifd_send_state->ops->send_setup(p, &local_err); if (ret) { - migrate_set_error(s, local_err); - error_free(local_err); + migrate_error_propagate(s, local_err); goto err; } assert(p->iov); @@ -1067,8 +1065,9 @@ static void multifd_recv_terminate_threads(Error *err) =20 if (err) { MigrationState *s =3D migrate_get_current(); - migrate_set_error(s, err); - error_free(err); + + migrate_error_propagate(s, err); + if (s->state =3D=3D MIGRATION_STATUS_SETUP || s->state =3D=3D MIGRATION_STATUS_ACTIVE) { migrate_set_state(&s->state, s->state, diff --git a/migration/postcopy-ram.c b/migration/postcopy-ram.c index 7c9fe61041..dd8e31f5ae 100644 --- a/migration/postcopy-ram.c +++ b/migration/postcopy-ram.c @@ -1927,8 +1927,7 @@ postcopy_preempt_send_channel_done(MigrationState *s, QIOChannel *ioc, Error *local_err) { if (local_err) { - migrate_set_error(s, local_err); - error_free(local_err); + migrate_error_propagate(s, local_err); } else { migration_ioc_register_yank(ioc); s->postcopy_qemufile_src =3D qemu_file_new_output(ioc); @@ -2162,7 +2161,7 @@ static void *postcopy_listen_thread(void *opaque) * exit depending on if postcopy-exit-on-error is true, but the * migration cannot be recovered. */ - migrate_set_error(migr, local_err); + migrate_error_propagate(migr, error_copy(local_err)); error_report_err(local_err); migrate_set_state(&mis->state, mis->state, MIGRATION_STATUS_FA= ILED); goto out; diff --git a/migration/ram.c b/migration/ram.c index 29f016cb25..a2f456d858 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -4730,9 +4730,7 @@ static void ram_mig_ram_block_resized(RAMBlockNotifie= r *n, void *host, * Abort and indicate a proper reason. */ error_setg(&err, "RAM block '%s' resized during precopy.", rb->ids= tr); - migrate_set_error(migrate_get_current(), err); - error_free(err); - + migrate_error_propagate(migrate_get_current(), err); migration_cancel(); } =20 diff --git a/migration/savevm.c b/migration/savevm.c index 638e9b364f..67f10a5dbe 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -1125,13 +1125,12 @@ void qemu_savevm_send_open_return_path(QEMUFile *f) int qemu_savevm_send_packaged(QEMUFile *f, const uint8_t *buf, size_t len) { uint32_t tmp; - MigrationState *ms =3D migrate_get_current(); Error *local_err =3D NULL; =20 if (len > MAX_VM_CMD_PACKAGED_SIZE) { error_setg(&local_err, "%s: Unreasonably large packaged state: %zu= ", __func__, len); - migrate_set_error(ms, local_err); + migrate_error_propagate(migrate_get_current(), error_copy(local_er= r)); error_report_err(local_err); return -1; } @@ -1373,7 +1372,7 @@ int qemu_savevm_state_setup(QEMUFile *f, Error **errp) if (se->vmsd && se->vmsd->early_setup) { ret =3D vmstate_save(f, se, vmdesc, errp); if (ret) { - migrate_set_error(ms, *errp); + migrate_error_propagate(ms, error_copy(*errp)); qemu_file_set_error(f, ret); break; } @@ -1681,7 +1680,7 @@ int qemu_savevm_state_complete_precopy_non_iterable(Q= EMUFile *f, =20 ret =3D vmstate_save(f, se, vmdesc, &local_err); if (ret) { - migrate_set_error(ms, local_err); + migrate_error_propagate(ms, error_copy(local_err)); error_report_err(local_err); qemu_file_set_error(f, ret); return ret; @@ -1858,7 +1857,6 @@ void qemu_savevm_live_state(QEMUFile *f) =20 int qemu_save_device_state(QEMUFile *f) { - MigrationState *ms =3D migrate_get_current(); Error *local_err =3D NULL; SaveStateEntry *se; =20 @@ -1876,7 +1874,8 @@ int qemu_save_device_state(QEMUFile *f) } ret =3D vmstate_save(f, se, NULL, &local_err); if (ret) { - migrate_set_error(ms, local_err); + migrate_error_propagate(migrate_get_current(), + error_copy(local_err)); error_report_err(local_err); return ret; } @@ -2826,8 +2825,6 @@ static int qemu_loadvm_load_thread(void *thread_opaqu= e) Error *local_err =3D NULL; =20 if (!data->function(data->opaque, &mis->load_threads_abort, &local_err= )) { - MigrationState *s =3D migrate_get_current(); - /* * Can't set load_threads_abort here since processing of main migr= ation * channel data could still be happening, resulting in launching o= f new @@ -2840,8 +2837,7 @@ static int qemu_loadvm_load_thread(void *thread_opaqu= e) * In case of multiple load threads failing which thread error * return we end setting is purely arbitrary. */ - migrate_set_error(s, local_err); - error_free(local_err); + migrate_error_propagate(migrate_get_current(), local_err); } =20 return 0; --=20 2.50.1 From nobody Sun Feb 8 23:16:30 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1764698032; cv=none; d=zohomail.com; s=zohoarc; b=d40LuUs6YOQw0w1AeOE97u1HiICUSYoM/AlFoTMGK9dqGWSpuYIVtb9FJlGJ5PGSc71s8CZLmDQ3etclIYZNL9h2NCv0qz0yvai3AJNBEefEDvYesPlrl7J6sq6fKFtn8gLomBVfaux6pj7Ra/1r8jQigxh0PDvP6efOQUv89Z4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764698032; 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=elCbdkabqxWCNUGgF8/iWL+STt0p5Ghdwu+SusGofQ0=; b=HaKa2S1eY8uPUTgblggLXcXtGn4RKkq1u8XK+js2QB/h7204amTIVyS3Gvo678Cwo8CeI7Vk7/5u0dmy5vBt72X24LUExoOLKIRgcDV+vPczOB3Ujw3/ZPosnEWdir0UUbgRKPjlUwE3qm3BJwWSODipjtI78q3nsdo37LQKE+k= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1764698032660284.8621712335357; Tue, 2 Dec 2025 09:53:52 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vQUZE-0001ZF-Ci; Tue, 02 Dec 2025 12:53:38 -0500 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 1vQUZ3-0001Yg-QM for qemu-devel@nongnu.org; Tue, 02 Dec 2025 12:53:26 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vQUZ2-0002L2-6Q for qemu-devel@nongnu.org; Tue, 02 Dec 2025 12:53:25 -0500 Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-615--i1nzRGFPkm5JMrdS4JF4A-1; Tue, 02 Dec 2025 12:53:20 -0500 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-8826fb20ef0so129161306d6.0 for ; Tue, 02 Dec 2025 09:53:20 -0800 (PST) Received: from x1.com ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4efd2fbc481sm99477571cf.10.2025.12.02.09.53.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Dec 2025 09:53:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764698001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=elCbdkabqxWCNUGgF8/iWL+STt0p5Ghdwu+SusGofQ0=; b=hzIJ/SZ0K1P2ELf4ALdBOLHpgs/b31MPwRT6D0yR/F46jC7mTpqsk0xhAip/7krjv/8mrk 76V6de8vkBuDyWrhPKrh74IIZ+6pbRRqnaKNovn2r1u729YL8FpGDPbWWeEIvAgHrQkJog Qkl6vUYPFdJBnvk4Z5WkcyfckC0FnX0= X-MC-Unique: -i1nzRGFPkm5JMrdS4JF4A-1 X-Mimecast-MFC-AGG-ID: -i1nzRGFPkm5JMrdS4JF4A_1764698000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1764698000; x=1765302800; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=elCbdkabqxWCNUGgF8/iWL+STt0p5Ghdwu+SusGofQ0=; b=O4kfzo/Ac707cg1cesth8bl7+43Ry3Iu1RGzgddogNW01NlHvL2KrWNQQZcG6VRnqV ng32Hz/oh13gDneqSxlj0FiJBo0xno/RtTinq5qhzdFutyuEuYJ3KEtg3/Bs/mWqrdnH EgqcXZ6cGRuKDUN3QOnS2NbZg9QsbcIa0ySy2xfVCn0+8t2JW9fsOd4s5KIwrCULWIGV o/ers6GrY53cpk7YIzl5tdXv/aDdkc8JqSNqgPnW9RE6sCuyc7RBL2/EI/dAcUYnNmTd JUtGnYj5+QaALQWh/lliHYuMLvCwkYEH1LhpRq4l9SuwRd+uIz7MeYNjCJqaCt6NUGC9 UhLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764698000; x=1765302800; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=elCbdkabqxWCNUGgF8/iWL+STt0p5Ghdwu+SusGofQ0=; b=YLysgu4j/CCQM74zeK56xGQpOPTgBgRc+F3DL2WAx/bB0LOZJtJBqXpADXc733sNPt OXbqiYtZTFb/4IzOWGgyGgZjYlNvSsxz9QGqfCyvDlVFKiobIlMRPe3w6Or4La0Vm8J3 9cxnFjpAOECzXL+xO8TLYZ+6rknnOY+zFLmfa67Z4rdFShV0PfwbKqNBSjjerokWUTpV 7zYlAqe+hNKz3qYUBnmXnHIJOlZXVY+Sb97B1F8Jouyd4Pz+4s+Td1/bguoeh2h+XDf/ LlmoxYS0KqqG0NhVo8m6WUBihipNqAAtv3tP76hrH3RkKyiMZYzbf/9KtStE794c6CsH Omvg== X-Gm-Message-State: AOJu0YwQiiaddvbTlL4olZuBXb7Q0b8p+kCToLLmK88JWyh1ZQY7eiJB G0eBl7eWQcBFdrbPL0dlPah6cFatfbCmmjVBNxTFdneo5C7qC56whhCL6ZI+ho4bJnsCLFbUWzt DgPw8K/AzYFcr1cYU0/D2r2QgsC/OypFG0jQhTVl+okOj+xUUxLoLR+CwRXsJ0mUeOYWy75+hcB 2tjQNxRrUd/MwvHIxnAU9U6ayWi6py1k08v+gfwg== X-Gm-Gg: ASbGncvkNIUje2G+ju138r1K0s12G3lcpEUznHP+zwapCTMcJ1wKsJ0/61VIIowv25u URmukXjPvL1mxdpR1jX28A82PfsWNcyI4hlTna0yu10H2u/uBJ9sO6NqMJEqD7VK+Ci+JHDHZfI Tw5T1Q2iTnJMrwgD8/CVdOW+RgExEKAQTIfEX8WTW3dqS5+TZCHPEasV9MUQB6UDZLlouZgm0Hn O7uB+g6+f641UPlcXLW3yh6oQxZ0upOcenM+0oiwA3I2a+KcCCxvDyry/VurGISfzBRhgmG6JmX ReweftBuORJ2rXwrgAC8FP9UkU37VxjVsWCXSTqQKCfCbt2Mnv1kedGG2WCW+8uA7QxHtfJoq5K A X-Received: by 2002:a05:6214:2481:b0:880:5357:f5ba with SMTP id 6a1803df08f44-8847c4995fcmr725342016d6.18.1764697999900; Tue, 02 Dec 2025 09:53:19 -0800 (PST) X-Google-Smtp-Source: AGHT+IHehlBrlL6P1+4QgaWBS9L0i+Lq7++GOcv08VvvzULG5QsmSHk8tj+p+AtzxA1PuJhAVjUmmA== X-Received: by 2002:a05:6214:2481:b0:880:5357:f5ba with SMTP id 6a1803df08f44-8847c4995fcmr725341376d6.18.1764697999302; Tue, 02 Dec 2025 09:53:19 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: berrange@redhat.com, farosas@suse.de, vsementsov@yandex-team.ru, armbru@redhat.com, marcandre.lureau@redhat.com, peterx@redhat.com, jmarcin@redhat.com Subject: [PATCH for-11.0 v2 8/7] migration: Use error_propagate() in migrate_error_propagate() Date: Tue, 2 Dec 2025 12:53:17 -0500 Message-ID: <20251202175317.1186544-1-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251201194510.1121221-1-peterx@redhat.com> References: <20251201194510.1121221-1-peterx@redhat.com> 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=170.10.129.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com 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, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-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 @redhat.com) X-ZM-MESSAGEID: 1764698035859019200 Content-Type: text/plain; charset="utf-8" It improves readability, as suggested by Markus. Suggested-by: Markus Armbruster Signed-off-by: Peter Xu Reviewed-by: Markus Armbruster --- migration/migration.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 70813e5006..d55fde222a 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1555,12 +1555,7 @@ void migrate_error_propagate(MigrationState *s, Erro= r *error) { QEMU_LOCK_GUARD(&s->error_mutex); trace_migrate_error(error_get_pretty(error)); - - if (!s->error) { - s->error =3D error; - } else { - error_free(error); - } + error_propagate(&s->error, error); } =20 bool migrate_has_error(MigrationState *s) --=20 2.50.1