From nobody Sun Feb 8 21:49:01 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=1764105178; cv=none; d=zohomail.com; s=zohoarc; b=WBbP7RzYK4eav4geCpnN/lcLnhd7+I/erKQYN3uu0BU905QmOh9dF9VnyA9FvI6uMHwzDPBKSfYIDAkRu4iKMhfEUvjCroMKVDAxDkdSBU1661yQ3cZ1KGzAsBDfiYAQliziby3b8zv39VtxCrSypMF7Ujl7unc2fXC+36TcbLM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764105178; 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=SakKHzjVHPbNfUtqiJIRl0r8TRpSYCjKDdinimjTYiY=; b=DghPUsyAES+wJOpCFMkXwM6bctdgV5LY5HOvVDmhV/intPPPNE4jjNiw+JYhamRVBptszyEqfnb0GTzJej865HcuHYglpC7Dh60pKYQ/lF5GtnZjIBjhyZh87boaS6h3sV6VC5ROdOhUWapjXNX1yGKgtCaj5n4KTCOLdBdd520= 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 1764105178826748.4442019197576; Tue, 25 Nov 2025 13:12:58 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vNzxF-0007oN-EL; Tue, 25 Nov 2025 15:48:05 -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 1vNzwA-0007Bw-FG for qemu-devel@nongnu.org; Tue, 25 Nov 2025 15:47:08 -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 1vNzw7-00030E-6r for qemu-devel@nongnu.org; Tue, 25 Nov 2025 15:46:57 -0500 Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-445-VFCW4ZlfNkaz5rEdpp_R5g-1; Tue, 25 Nov 2025 15:46:53 -0500 Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8b2e9b2608dso391485285a.3 for ; Tue, 25 Nov 2025 12:46:53 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8b3295c2276sm1250794085a.30.2025.11.25.12.46.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Nov 2025 12:46:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764103614; 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=SakKHzjVHPbNfUtqiJIRl0r8TRpSYCjKDdinimjTYiY=; b=ii9zgR8lE0vowrgZz5fjLxhAdCY6bAD6WYeuqHsV5KrqWDsKK6eIJlcFxByyS45/rF3DKd ScCVt7+p8ekbYSJs6hgszv4dcB+MUd9WTv3e9jvu4U+XDkFxHhZtnvZkdRZ0+ceeyW5ndv 1MC465QOWU6ZHNHgmFEdbPJckYZfXsw= X-MC-Unique: VFCW4ZlfNkaz5rEdpp_R5g-1 X-Mimecast-MFC-AGG-ID: VFCW4ZlfNkaz5rEdpp_R5g_1764103612 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1764103612; x=1764708412; 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=SakKHzjVHPbNfUtqiJIRl0r8TRpSYCjKDdinimjTYiY=; b=Vgjl8ZVda++u34/x99YHpgBmJN226qC4qe9nA2pZwB7/wYLCcc1JrhivK6f+gDUvhj X4NKtqaFCcGtExtl7keCHjRSziegsQVD91rYi//kFQIXiSbMEwhRuQ3WGL6BB2R+dnqX qYlnki1GJVx4DNXNYmTX/OWJwEv/xnOkzBFJSDyeepxzVp6tIfcNz7kKJ5L/D67yyPBg YNIaofigqj8V1emHcCO7VdYDaBQhMH3QwYfK6179sew+uQ4gqjBfjlYLQyJWuWmPWRoe 7jomzBISD6zt0MKx56z5DDufrBBKEGzeFb52Qveus8Guohn0O3h1odpvNZYz8eC3Gdqc ZKRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764103612; x=1764708412; 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=SakKHzjVHPbNfUtqiJIRl0r8TRpSYCjKDdinimjTYiY=; b=LQ+95cXPO0gjkL4sKx7vqiDQGx3JG2YGt8sEa66l+bZA2KwmJkNjA9Wa6YJH8YYCcq aI8qKyq4x0qU9qaWM8uQjcOJN25jQJ+LOBDk1S9EIkJleh6oIeK4qoIFZpx5otFgmuTr avL8CSR/+lahJ5aJ6AisUg1d0B+3LMoKhaLOVnM/pFQKXcKh3h6h6II6CR7orkC/AphG IseYwvf9I6HMdO/gtDL5zduaZkLzzkcRuGZdkfvpHEY+HNfRggsqJqSetxNus32axzGP kWvcbQbbIf2mUkCpOBfRTsOXVqbl9JBq0bLI9MIF7k5yEfB1oL+xzgTy0idZCxk9h8z0 /eLg== X-Gm-Message-State: AOJu0YwiISf0nDUdNmJUE7Fe9Rub//Lv1QepaoTfeVzqDBnkH99mwYRi UySjDJLEha+lmmbWFd5NvVCEIkpV7t/m5zXxq/gGCq5MNQwH7KaTBJ/F88/CmPvzI5y1HBI7+Ts hNFnTboaDHMzQgo6pym/FzNwNMAo22d9BfQwW2CfuFLMpgnf28M897rpZzjQDOKm0LutYdS81z0 k+uPTd8Mn13ymlxn+V8Ewt9GVnduwrPV21Qt+z2g== X-Gm-Gg: ASbGncshc0ZyYxfofjswgVCv9S+7ts4OesDwKYe/5CNAJEX9A++ahrNK4TCCcR9Vvue wmurBBOAcC24/5fg//e2wFnNlaXP4qFBe2A4Qg43+clbsKMlwMydxOX4vNGmLq5Vdwg9v8/X4bW Vtmqpj57Ebs09ScwXhCzUjSBcCAx5LNnH21lhUODjMVWQTExqFZ63nHu5gwY71ypsAmwjd9QbS5 RrPYxOkFDbO51RG9NePztK4gTF/4bN+9w1TkGHDtsiIv9L+ckHqFwc3LYmbCBw6uOTHbrVMr7x5 uWWEfWVa6q1uKGFflOjU2Kj5GpXEC8pNu3WyzCEzEU3AdzOQUNUjFyS/RriaryNBYPXfREC8LiQ DuZo= X-Received: by 2002:a05:620a:6910:b0:8b2:e990:5114 with SMTP id af79cd13be357-8b4ebdae72emr569419885a.42.1764103612086; Tue, 25 Nov 2025 12:46:52 -0800 (PST) X-Google-Smtp-Source: AGHT+IG4opvrwsE3cfcibnqP1KMmWuT3YknLfwh1RZqjWyFMCkK3t/r1GWiHGk565qWqjq0GY6kmkw== X-Received: by 2002:a05:620a:6910:b0:8b2:e990:5114 with SMTP id af79cd13be357-8b4ebdae72emr569415685a.42.1764103611534; Tue, 25 Nov 2025 12:46:51 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: Markus Armbruster , Juraj Marcin , peterx@redhat.com, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Vladimir Sementsov-Ogievskiy Subject: [PATCH for-11.0 1/6] migration: Use explicit error_free() instead of g_autoptr Date: Tue, 25 Nov 2025 15:46:43 -0500 Message-ID: <20251125204648.857018-2-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251125204648.857018-1-peterx@redhat.com> References: <20251125204648.857018-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: -22 X-Spam_score: -2.3 X-Spam_bar: -- X-Spam_report: (-2.3 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.152, 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: 1764105180698019101 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 accidentally merged 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 Signed-off-by: Peter Xu Reviewed-by: Markus Armbruster --- 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 21:49:01 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=1764104566; cv=none; d=zohomail.com; s=zohoarc; b=Pa3qgdyoa7VSecNzvj1kUyYOPevmS+aftk0DszZL1KkTd7ukfmlFxFiqUznC2iwaZ/o3bSkbDKMuw18irEmcKRokNHrvqqaE44fZyCL792wkrICr628kcSX9ukcyMCJNDbMjgmIgW4g7n7BVGmYnMxtdfarPNDFuvqkp1d9jbuI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764104566; 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=tpbzNPRtki18pB+Bwa2yNmzCzERPQhJos9MVBn/adac=; b=aS/WybmTi3+UuDWsNVx+sgLp5yaxRRyeHtm1rDiSld8pJDvRxDH4wRKXPoU5STVDcF35Wzo6CV29w6M12TRLH8xhnMbICEzaYfp5ZTnkbE1XddQi+643lF48Z5mI6k3KDAiiHth51GkMonsRRMIJm+0TsTFgqwZQhloBAZgyHhw= 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 1764104566537586.9269723774696; Tue, 25 Nov 2025 13:02:46 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vNzxC-0007l8-Gi; Tue, 25 Nov 2025 15:48:02 -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 1vNzwB-0007C1-Om for qemu-devel@nongnu.org; Tue, 25 Nov 2025 15:47:08 -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 1vNzwA-00030Q-7I for qemu-devel@nongnu.org; Tue, 25 Nov 2025 15:46:59 -0500 Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-106-gVkgESvCOaWPrMBiq1GYCg-1; Tue, 25 Nov 2025 15:46:54 -0500 Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8b24b811fb1so50963485a.1 for ; Tue, 25 Nov 2025 12:46:54 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8b3295c2276sm1250794085a.30.2025.11.25.12.46.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Nov 2025 12:46:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764103616; 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=tpbzNPRtki18pB+Bwa2yNmzCzERPQhJos9MVBn/adac=; b=BuNvdNDLqzS6RlXNuHp8lORxBcBwAnA0NxzaOMlDtkc09nc6zZqNd0vl9TEBBaSk4iXF+f dwCnpb3LnNplhNihbGXNVAvcy1oj0OuMD70sedPQtHk4tpYOZIzKFgkmcKNam5pDL0eFwN Y5ZqRwXMbmO35LZPp2+6ueNre0v5CGs= X-MC-Unique: gVkgESvCOaWPrMBiq1GYCg-1 X-Mimecast-MFC-AGG-ID: gVkgESvCOaWPrMBiq1GYCg_1764103614 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1764103614; x=1764708414; 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=tpbzNPRtki18pB+Bwa2yNmzCzERPQhJos9MVBn/adac=; b=fPtKPPixtZta2ScLe8yM284zxLF2+U1BNj9q1TfRTPEEYaJ3qW8GGOe3/KnwMI64eV 5UpaUhf3t5egCNctswprETLdJZ04pA0nUWrChrSQv9TbqZZ7pHFiTYA21QXf+C71Axlb XDZZcDbKYXCHerFHO8i2EjV8QUVzYrRu3azDDz2uapzVTYf3AGReGQwNm1Pdpg3nIFmz rubxeOaKyfsigEQxb0kKt1gGZYWBjJOzb2uQrrfPEQ6sahqexIB7b1aZTARRqlXxXptw afCr0PUy92PFJz4kOgixxdwFu87FkyhJzrTyf3HhiRyEysUYss8sE45DRdp0m4yUMGHa 9lTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764103614; x=1764708414; 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=tpbzNPRtki18pB+Bwa2yNmzCzERPQhJos9MVBn/adac=; b=f6pVUicYT9JQbmZ2Icag5/O/7ODuQgyCP83lEQem+cf5dv/o4aq5L2JajXtlwP1J8m OyQo6ngaDR+Puam89KpHuNpd5xGwB1CJpBogGMRG5+I9i+Zs1vpqiNwb3dxNJiiIXHIK E8o4bu/e48ou1XUxJhVUqkEC12uY25z2HD2OUlNvZcshz6kOV5QVKMu+IJdslQ8tttCi HLi9CaSqrS6E5I14yTEqDw4H7Sz+EHLwpG0gc2LO/bTrfBUQV4NfgxlRJf5We3OE/ost mE6Uphxr2lVau1iPZp4RBztH7GsSjk++0Tx5btRf4q8Y0DoQJ649KWi7a/yDNoFBau7W T4mA== X-Gm-Message-State: AOJu0YyRSNwL8FUrnSdNm5hlTIKO1sEHuB3IXxIuTSKrA2T/fbKLFiaM OowREpLPFzJomS1QDdxQ5NOCooSl8TBC+YaPLNvWpDfolPXGqRm3F/U3WbU8TruLyDeR4FaEPud N4O9USzvfX9Csvld1HOsmrKZjZPkJXdyTmhfv89glbhX2BYPEDs1InvMLT+DsXy2eiE4cGrzBJ4 0eANb4Q3whnWXcjgh7bd7nuFmRV9QfgOA/xX6poA== X-Gm-Gg: ASbGncsl0Ee+23QcNVup/K4vt6XzTIKOrJ6Ozj2dJZxSqDaMm8TI0v5/S0HjetCvUl8 HpVhAgeLn1Pz1ExUWJqYyvcHa086RoAJiKIdePuPcRbbOUaZ3BiPtLAc0WYbV66oS9rWeX10jzi UdIVNbPFjbFXL6vQYbdgLeZaUmkD0JYaxDzxBmViYLSHsHVz8hiC7fTHHd0tIV60PckE/HRPAYS sDN7G49K+Lbq9nsC0PiQt3pa32GG1M4SEm3LyctuVkk0tQAxTfiLOmxPM9nEiGJTOXAttAFRwb4 +MGB7tsdsgQ2KvAM/Z7e11YxK9KBUuaAMfGofh9/9YyhhhHz6WysWcZRlE4SGMFXWAmmG8Sycx8 dXXI= X-Received: by 2002:a05:620a:28c8:b0:89f:5057:9753 with SMTP id af79cd13be357-8b32af32b8bmr2893348185a.41.1764103613934; Tue, 25 Nov 2025 12:46:53 -0800 (PST) X-Google-Smtp-Source: AGHT+IFdQneGvER2Ml4PYWZVQ3wZLr3sN5URh2j4kQc8rAomIogjApTCRZyOucvK3i7hN3xci3GSCA== X-Received: by 2002:a05:620a:28c8:b0:89f:5057:9753 with SMTP id af79cd13be357-8b32af32b8bmr2893343785a.41.1764103613317; Tue, 25 Nov 2025 12:46:53 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: Markus Armbruster , Juraj Marcin , peterx@redhat.com, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Vladimir Sementsov-Ogievskiy , "Maciej S. Szmigiero" , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= Subject: [PATCH for-11.0 2/6] Revert "error: define g_autoptr() cleanup function for the Error type" Date: Tue, 25 Nov 2025 15:46:44 -0500 Message-ID: <20251125204648.857018-3-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251125204648.857018-1-peterx@redhat.com> References: <20251125204648.857018-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.133.124; envelope-from=peterx@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.152, 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_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: 1764104570546019100 This reverts commit 18eb55546a54e443d94a4c49286348176ad4b00a. Discussion can be seen at: https://lore.kernel.org/r/aSWSLMi6ZhTCS_p2@redhat.com Cc: Maciej S. Szmigiero Cc: C=C3=A9dric Le Goater Signed-off-by: Peter Xu Acked-by: Maciej S. Szmigiero Reviewed-by: C=C3=A9dric Le Goater Reviewed-by: Markus Armbruster --- 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 21:49:01 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=1764104912; cv=none; d=zohomail.com; s=zohoarc; b=HSMewKi/ui3Vm+hUJ4DMpr/WFw06XD9J2kxC41L/qQsgBlBvJZALD27QY9Il/ak2IbAEBgTtLL+UX3DuEH9qV5GGAnvBX310OOYcAhyJj669kN0FIGf1lw1/u3wS0vwtRe8tk/k5iwqfzqdaDZ4ov5HDvf3hc/sX3IFMmFMpRn8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764104912; 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=TNOplzLLskodi+3D4AbE6U1qQ02Gi/Ef8JIPS+itajU=; b=Z+TDa5ywhEAZq08Jg1EyTHhpoNKzOF48Hme1eeYRKD3dJHUc3Y8mfsS5bs0EndD3przKtiYBYNK2kvjhoYEACJGLU+yAPSETh/NHDC1EiaZe1oCzs1DPjaBWmWLrLtl2MfOYui5erGqDiaKlRX+XNJUDxnQ+PLS87UGSpv+ggv8= 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 1764104912625355.23421306569855; Tue, 25 Nov 2025 13:08:32 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vNzxB-0007kI-TX; Tue, 25 Nov 2025 15:48:01 -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 1vNzwF-0007CI-LF for qemu-devel@nongnu.org; Tue, 25 Nov 2025 15:47:08 -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 1vNzwA-00030b-Bp for qemu-devel@nongnu.org; Tue, 25 Nov 2025 15:47:00 -0500 Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-131-BgVtlVlDMhCn6FADG_OfeQ-1; Tue, 25 Nov 2025 15:46:56 -0500 Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8b17194d321so764969585a.0 for ; Tue, 25 Nov 2025 12:46:56 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8b3295c2276sm1250794085a.30.2025.11.25.12.46.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Nov 2025 12:46:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764103617; 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=TNOplzLLskodi+3D4AbE6U1qQ02Gi/Ef8JIPS+itajU=; b=KwY3tySa00ORA17G+OjCjzf83OqQTPwJXpqGkwaOKw16/hN/C2cxaS8L9nX76nrW9bUg82 D/VInVEgCSLrmaYwvmmYWxW08Tvky6+WfQSy0DdyDnpbvvJK5Fmb0f5synPsX92kZds+S6 chO3X8bUr+mJ75eNQ6S+Po0THpEzbq0= X-MC-Unique: BgVtlVlDMhCn6FADG_OfeQ-1 X-Mimecast-MFC-AGG-ID: BgVtlVlDMhCn6FADG_OfeQ_1764103615 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1764103615; x=1764708415; 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=TNOplzLLskodi+3D4AbE6U1qQ02Gi/Ef8JIPS+itajU=; b=bMTXnQe1PJZ3vQp9umjAByOjZAHu5MXumqTuOeeBKv2B6pR3Ie05MGG8misiOi+wvE n+cg2H/AQHsRDgorjjvbxsmQV9xfpCNv/7HXaN8tx48rmXLBsoOc1ywtUBjhjTxHenIy PnqjAWmyGfzkBvCMrHL5g/cncUdvnW/UkZYH7mgrdypx5ilpG7Nd7zz0kVWMbBXYQZt7 Iax1nGyaMzd4Pp1MZQjBUwD5rcw/5K3X/qG71cIA+x1DAfQUoTxwEOHiegO8Deu1/Gat dB8xeOWl/rDE5eGtTgboiH0PSn3tYqZ4jdnJDyWIzYwKNuvNYzwEXzonJ56ZzPBfdGqL dD8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764103615; x=1764708415; 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=TNOplzLLskodi+3D4AbE6U1qQ02Gi/Ef8JIPS+itajU=; b=Dvk+W3hbQVNpWSc6+zZ+Zk61/t+Nu56ebe3aHOqDydT5FdcA0vr3MzW8e7rYGbUOIc LGzE5kQLNUhULvvx1v5gd0EDVfg7CP+U8FiUjobAZzIvxE76htyw7whBVc0XXTZ9srTj F7gBX0i7PuIEhk+nAzsMsfFV7U3WT1790LmmWGmut38Lp+CBEb+gEcCAyqLMig/6DSNt 2oSsy4kdTmZ33OO2BU9J/Tlw/bNDo34+bYoBJqm0y7yt/OE+8IGdPTzUP6CVasyHTcCV 8AlR68M+VqrZcejJ0uuaYFw2IiNtWtEfGigAXZkpBWcJngPewnvLE7kjteVkFIY0GDSc vqcQ== X-Gm-Message-State: AOJu0Yx+6h20+O5Zj4ZfQG8Fq/rWqEPI9YweZfrYVb5a7YWcvywOubOU 5TgjAxjIhlW1bEu4ry3+ms79SFL7aQA7Eo/R8Q1KJHlEphxV4UvbLnmKLnbTDllMScYUQx2OxYn k0kGHj1o5l4d3VwiD6FOz1Omk28Z6L761jLBU4AhhxM6BsSmK9GoglmO7wRkkl2YfbTCj+//bjt ZpXKDENXYZs+E6XFBPt00kc34HnNYYnvelUbDlhg== X-Gm-Gg: ASbGncvp6A7+9NjjjP1B/k2vZHcvD3f/M6QR+/HwKurTWwF+WDJYDVBYa+QS9kk0Mos AzBLOwGbQxeVRn46g1zDvBc/pMPEdFdE7OZLrD+u0aJe7Lo6RvuzoRADes7+gzLkhEEZIGkeU9V k2P/hMkxYG1SfGOYFpzRc5+v7sz9Q52bK591kbsMbUYbBnsMswrSPhuVqo0L0Ed70nraM3uWlnV WlgkvVpdYoUMb+KTuafk1iQPrMOYLrGBhwspCQWqHBCgVCvkw4o55ZOxc4wdhhHsUloAXLDy17D ViBoS0dy2mGNH/Y4k5ctmTgn+c23Dm6ApV0AAqvhzNniaKaodseiO5iE311coYPDSFir0aNuOLm nxbI= X-Received: by 2002:a05:620a:1aaa:b0:8b2:de6a:e3 with SMTP id af79cd13be357-8b4ebdbd2c4mr539071685a.81.1764103615022; Tue, 25 Nov 2025 12:46:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IHpg/hgzFrdvezmUoURAguTbZcH6DcyUkmldXa3Iq/0mu2EbofoizhaPSbcwV+yH8YXo2Gy+A== X-Received: by 2002:a05:620a:1aaa:b0:8b2:de6a:e3 with SMTP id af79cd13be357-8b4ebdbd2c4mr539067085a.81.1764103614396; Tue, 25 Nov 2025 12:46:54 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: Markus Armbruster , Juraj Marcin , peterx@redhat.com, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Vladimir Sementsov-Ogievskiy Subject: [PATCH for-11.0 3/6] migration: Make migration_connect_set_error() own the error Date: Tue, 25 Nov 2025 15:46:45 -0500 Message-ID: <20251125204648.857018-4-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251125204648.857018-1-peterx@redhat.com> References: <20251125204648.857018-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: -22 X-Spam_score: -2.3 X-Spam_bar: -- X-Spam_report: (-2.3 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.152, 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: 1764104914757019100 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. Signed-off-by: Peter Xu --- migration/channel.c | 1 - migration/migration.c | 7 ++++--- 2 files changed, 4 insertions(+), 4 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..4fe69cc2ef 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_set_error(MigrationState *s, Error *error) { 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_set_error(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_set_error(s, error_copy(local_err)); error_propagate(errp, local_err); return; } --=20 2.50.1 From nobody Sun Feb 8 21:49:01 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=1764105170; cv=none; d=zohomail.com; s=zohoarc; b=lGJCEEYJWID4jbY5IU1jFbOiLYAYSpEPj38MdCwr1VBD5sPbLpzhWc3Zm77mtX2PgaU7emp6xDPI4s4l/46yyFtlmZuh7aqRd5bQu5ll8S5shf5aXKqBtRRG026WCbD2DmPFai1EocnfSK2OCvkT4FIhCRgQtZ25LYoE3N4kiYY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764105170; 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=h1pESVjBvJTZ/CKgbTrEvkbhJJvwnKZXdmxAANhR78Q=; b=Ff5YAvVAToORrawMJk4qU1/qx3oL4ZzX6CELwUCjBlECWS01Ji4KTAQSOoyUx0XDmcSZx+YcWkiasuODdMGUkGUlrp1eJHUq829P5FKmQLnE82y/JSkbFR7A17I4tv8aIVSbEZkRGNz+664Vz3v+tXrV/6Sxg19HMDONtw6BZBc= 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 1764105170621881.4847352048216; Tue, 25 Nov 2025 13:12:50 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vNzxF-0007pF-TA; Tue, 25 Nov 2025 15:48:05 -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 1vNzwG-0007CL-5o for qemu-devel@nongnu.org; Tue, 25 Nov 2025 15:47:08 -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 1vNzwC-000316-8V for qemu-devel@nongnu.org; Tue, 25 Nov 2025 15:47:01 -0500 Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-183-hQ1D67DOOTuxjN-swfJctw-1; Tue, 25 Nov 2025 15:46:57 -0500 Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8b286006ffaso1437774885a.2 for ; Tue, 25 Nov 2025 12:46:57 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8b3295c2276sm1250794085a.30.2025.11.25.12.46.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Nov 2025 12:46:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764103619; 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=h1pESVjBvJTZ/CKgbTrEvkbhJJvwnKZXdmxAANhR78Q=; b=EH5A+PPIA6JgEhxwKDg466MXrQR2smk6t83ZKXAGtmlIyyR9/j2NtUkHFaFg57Z2W1FoMv /SUGqeY8TLbg0NooEZ8BZxXz2ENyugWNrtrBiaet9YfvIWHRi080LWmpegEKL3xIJIHtuS ouI89KCQztBGcL7v1nN/leaYEWw+BPg= X-MC-Unique: hQ1D67DOOTuxjN-swfJctw-1 X-Mimecast-MFC-AGG-ID: hQ1D67DOOTuxjN-swfJctw_1764103617 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1764103616; x=1764708416; 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=h1pESVjBvJTZ/CKgbTrEvkbhJJvwnKZXdmxAANhR78Q=; b=p/CwXOKX2+GQaX8mCqIAL6oSYw2hdShJyz4sr9fW6RMY+qPKhw3ECizzpzMOG0Rgh+ hEsnc3BiHdlvWuIsdsyupwpe2uFXaR1py6bhh9Ob3hYPD6Sy2rQvlEMrLvxNjWtd2iM+ ef0nHbmWGQ1j6pGhwQpY8/wOHEiJ/Ni9GSp5iNfCuC8dhs/kYiSfkR87JMWoYhNyePgt GYuARZlICOjOEOY1argMpo+ShJd35hmFBt3dcrlzI7J7X60n/fGjwJtbEXEsftGpao08 FG4B3DcnHZpFRaAOnz2DQuyjHQolKTCD6x7boOVZ9s6DrrKvNJlJdfd0wjhxvZ83nh0E HKtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764103616; x=1764708416; 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=h1pESVjBvJTZ/CKgbTrEvkbhJJvwnKZXdmxAANhR78Q=; b=kmyESE4q/4Q+Clu8jkgVLZ8pRL3FO7M39iWVqNWbz/23Lt+MmkXydKRpxgU/7PtMpQ gg7zFIM4Qf2sYs+jAJ97Z9pct+TjiAnT0MVa3ufjHL/pl5RtMl8LT7oGbE3bGZhHvIbF zlNVEx0bTPb7J9LwX/2hVp2D3bU8EtTfDs16ulgg5BdO8pqv4O9wsZunEejIXkV+sd2R SjXp/rIsDs+aBTPK9yRt7iHngS9YFXCEItq0mavyUAp351nmfNunOqOuFhjKQseh7px2 UGKU6+nmNCGcjnA8OLHEhwRN4rSzKvlPdhaNsOTjynjGS7m1/Jo5cmqc0C6fq5BXqmqb pCpA== X-Gm-Message-State: AOJu0Yy8NFVxdDsXXGjms6egmof4ETZzRD/OzyqCbTO5/sPuVkJnSkvM O291EGWWpWGqSgKXs3q92SJO/m1UEIuZD05eRJ/sXF1Ser+Kx0IgOkLdVshNPTMlTPPRtkvR6O2 3mNK+1koLAZpKWNTsQCvmoQ6AR+QiXSCPoT5l3mHgVdNcBw0U2hJ1Mpj5/lEYLjVHGyGSKg1/kr dYu6rOCXo4exFemnEyq61s8Roq/RwvQSeq+SI/xg== X-Gm-Gg: ASbGncs0+QzUOaWITVopSLu2iT0f7kKQqtyhVeY3pLmS2BYgyd3X2aEE3eSheAcmFXr QbUdFtrk27YNzeu22QsSKhNOqOhv864PkKAdAEIN8+fJ4tg6K4+yUlaJXHin+VfwpCfEDOGYNHg 5UgsIsbuGBKrPrUIplFtYRUhqnPMXxBlrNCaX67FgVsh0DnPcxU4XECN7kjlQoC8khmHtkealc7 l2nTfNLxO1qe8/o9m4j8rxvbwIPVOJ5utOnGRa0Z5xKbs4gTR1Z8toQSUW/7MB/s0CjubaazyxG fwdoYKva+r0t2pyFXFu938WM9ldf5cO5+ue5F19BWAHv5bCLTK8HssfYw8e7kpB8wwArj3mmRoK uojk= X-Received: by 2002:a05:620a:1714:b0:89f:5541:b5f5 with SMTP id af79cd13be357-8b33d1b2657mr2289593785a.17.1764103616234; Tue, 25 Nov 2025 12:46:56 -0800 (PST) X-Google-Smtp-Source: AGHT+IFmGYxeLhGq5kkXinQxC/A+b0ffjCDohLyrrNxCIwhrkXmk828epRwgT0l/5UCL0duyL3ZJCw== X-Received: by 2002:a05:620a:1714:b0:89f:5541:b5f5 with SMTP id af79cd13be357-8b33d1b2657mr2289589485a.17.1764103615539; Tue, 25 Nov 2025 12:46:55 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: Markus Armbruster , Juraj Marcin , peterx@redhat.com, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Vladimir Sementsov-Ogievskiy Subject: [PATCH for-11.0 4/6] migration: Make multifd_send_set_error() own the error Date: Tue, 25 Nov 2025 15:46:46 -0500 Message-ID: <20251125204648.857018-5-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251125204648.857018-1-peterx@redhat.com> References: <20251125204648.857018-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: -22 X-Spam_score: -2.3 X-Spam_bar: -- X-Spam_report: (-2.3 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.152, 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: 1764105172928019100 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. Signed-off-by: Peter Xu Reviewed-by: Markus Armbruster --- migration/multifd.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/migration/multifd.c b/migration/multifd.c index 3203dc98e1..930eee9949 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -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 || @@ -779,7 +780,6 @@ out: trace_multifd_send_error(p->id); multifd_send_set_error(local_err); multifd_send_kick_main(p); - error_free(local_err); } =20 rcu_unregister_thread(); @@ -908,7 +908,6 @@ out: * 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 21:49:01 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=1764104891; cv=none; d=zohomail.com; s=zohoarc; b=LqszIwZVDgn4uzN0/HUeE3SwVfT5UfF8JC+9ArZYSPD/Q45N7bMDibf61TBwz2xk8BJ9qD0AoB9gXi0dTdRpBTvTAXRHZ/WRJgDKVyArsHZlRk8ArCCFyX9XTPIcvTtvynqo7RA+ylHWQS2wUNR9pF9qn46u7D1jdaMDDos1psU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764104891; 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=8c8c5v+0jpdumCrxkT9SiY0lxovBK7mZ5TDU5iM91ks=; b=TMU24Ata2rDoOMHcxs9s32+dqstchCZJnnQ1RBUbkbAAsgsFCu8E57scmh6mk2NhX2935sbUrIGp0MhlBsoqp3VJsuBER9xMjbOij7RI0hk2AEyYnddz1sPsuBT/RLfJIeSoIiz+BQJAsvB2irr7CSKkEQ9eMnuO5yJ9M+w25sY= 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 1764104891172492.21807955714223; Tue, 25 Nov 2025 13:08:11 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vNzxB-0007kn-W4; Tue, 25 Nov 2025 15:48:02 -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 1vNzwG-0007CK-5c for qemu-devel@nongnu.org; Tue, 25 Nov 2025 15:47:08 -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 1vNzwC-00030v-3Y for qemu-devel@nongnu.org; Tue, 25 Nov 2025 15:47:01 -0500 Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-314-m1HVZE80NlOCy10CG_VCiA-1; Tue, 25 Nov 2025 15:46:58 -0500 Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8b29b4864b7so484945985a.0 for ; Tue, 25 Nov 2025 12:46:58 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8b3295c2276sm1250794085a.30.2025.11.25.12.46.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Nov 2025 12:46:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764103619; 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=8c8c5v+0jpdumCrxkT9SiY0lxovBK7mZ5TDU5iM91ks=; b=AGDG2KKXsht0SOybB796WzA5BQ2x+ZTQl1KMiTIuX3hHriknfoeIzPV1sz0BJfiWZiESrt AAapvTmb0Pn/BkIH41ks+JfcYq1m7CZK7wAgQ5XkSGeOuH0U9U3oDBpgJ165oa6ZxZd0gW 0qH88oLtsf4ClliucJwbrjyz5Jo2rvI= X-MC-Unique: m1HVZE80NlOCy10CG_VCiA-1 X-Mimecast-MFC-AGG-ID: m1HVZE80NlOCy10CG_VCiA_1764103617 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1764103617; x=1764708417; 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=8c8c5v+0jpdumCrxkT9SiY0lxovBK7mZ5TDU5iM91ks=; b=Azr7bNJ8tH63awXc18cNLI4owswkV2ULxj9XMZ3+uIjY6+ZT1AxLSha3IMMCsRi8eV nZ4adMYfhGeJyNCugJXx3VSx8ObMCRtiAPZMT3OAJ68BB97KU09HAK21b6SCpzBYi2X8 xUUQGIdo+aVLlAat0aD4kobDTL5hs61XBRdok/Arvg4UZtm5kmzSTYYdQkxhadIO0ica eta+DDMoTOr5Bxvtgec+dseTwLI6m2im46+sLlUqgGW6KiQP/zpJJqppGRqYY1elRcyE 3y+vYNMAy8d26UF8/e7+/3mgUyf6zVysTmFYeglG794ENK7YtSRR0TAQsFxfw10ZeYXV MlDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764103617; x=1764708417; 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=8c8c5v+0jpdumCrxkT9SiY0lxovBK7mZ5TDU5iM91ks=; b=fQGv1jCh/4skD7fqIWaVdLRiV/iZbazuQIxgVtJNRsToWhtjhdhD3HuhQ7kLTx5N7t hs3qTq1Dg1fG5zwTNPzZpYlSGrGAjaNkPMHYZFXhhGnj8bN8mYj6FebbJTB7gVlpTsO0 /GilpOx3SGG0EL0v6B6egAPwahD6lDRPGfs5Pf5h8Y8yYsWdX3YfKD0SZDHFhDUKYRjt WWvJmE1XbtRkkw6rALZUNA2lBzgcn11sMDDCZ7L/7Skw1bOFAaYa17WnbYXCsWo+pa9M bp2OFOzDTIZ86H7ImNp7QkO8olLw5n0Dv/0bGNUjq+2BYFiN8fsSXGNG1MGuLB2OtwDp Ai7A== X-Gm-Message-State: AOJu0Yw1GzJ0APv1WkmUmp1kZGjbJ84crRACvi8II7JAlF5o1Cdtbp8H KOJwIxfDXjk6Pq2SqHqt9Lpjp/ODj60d0GiNTOZBO4xBkMsPfadgYkC9tF1c73ZDbISzoapsuAY NRd4fSNK1Ns/yiIk55UzQ0Tbw4PvQr6Ybucd/lbdZXyKQnPX0HApF8qr9zcED9yL3AVZGVDTTTZ xL0xAAMkiseHVLayiVisRsRknbmD0t6NaltpH+1A== X-Gm-Gg: ASbGnctksAeaRCvAT61yi0JAdHrS6Q92/wWLtbOSO1s53MEDXQ8hY6tH5bVtFKpF7YE EYlTnlXyzP4k+7jk4XgRyqYFssRgYngZ3zNYmKYQJNbZ5trUGos5tz6fu7a9xeKAT3+Hg3RGXpD dCwecKV9Xz16RVJg0hRwKi+NCJUSSyA6WsaTaTwT0FI+swT+B9VcO9aip20pMhOcddL/2MeTcQN QA1aj73ydctopz7RMCUbDYCqk1Sm7PSn4K5zFYJCStUBN8MMR+eZwqav1To8f939gexW3ZGq6JW NRq5qx4klWmERJ7WWh7iR5FdRrkLFuQO6pqOw1S6vOiPmtm7FVuKm5wgOBZ/ITRyG3tbqhkJZOM 8dKs= X-Received: by 2002:a05:620a:29cb:b0:8b0:f2bd:4762 with SMTP id af79cd13be357-8b4ebdbf290mr597345485a.75.1764103617114; Tue, 25 Nov 2025 12:46:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IH6TG8CyW5GaUwqdDncArC+Gg+TF3VVw6OhfLayABdV8f08WB1s8vriY7ua2g/r+mqWtI+KPA== X-Received: by 2002:a05:620a:29cb:b0:8b0:f2bd:4762 with SMTP id af79cd13be357-8b4ebdbf290mr597341185a.75.1764103616614; Tue, 25 Nov 2025 12:46:56 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: Markus Armbruster , Juraj Marcin , peterx@redhat.com, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Vladimir Sementsov-Ogievskiy Subject: [PATCH for-11.0 5/6] migration: Make multifd_recv_terminate_threads() own the error Date: Tue, 25 Nov 2025 15:46:47 -0500 Message-ID: <20251125204648.857018-6-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251125204648.857018-1-peterx@redhat.com> References: <20251125204648.857018-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: -21 X-Spam_score: -2.2 X-Spam_bar: -- X-Spam_report: (-2.2 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.152, 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_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: 1764104894762019100 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 --- migration/multifd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/migration/multifd.c b/migration/multifd.c index 930eee9949..c861b4b557 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 21:49:01 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=1764105111; cv=none; d=zohomail.com; s=zohoarc; b=Frj0n1DMLY6KjmE/Mvqd3LBdyKiSFOK1UQULbSRMhHhE3tSIoB58qRbRIuDiw9Ocxx/95wxgz2KcMuL/6GOnYbg9QCgXrHo0PFQy8C0uidrxR6fzj1qcsStzdO04aTTzdeB5ZYv84XJ+VCD7La2aCOwmAiSHUu8THe1E3aPyQIM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1764105111; 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=39vtfy/ykemAPu0lP0oiKmDXg8WxA7OgREWmGs1cs8I=; b=aoJhvy4MBTY6UQiYjVRXkV9gi28K4TbWiwzxLpYdqqAwlqDWWaDKAvzBWb5J8d+yLL51WuZG9ZsH2IuSasaztFX4JP/m27TYt8H3d6cqinTMkukD/bEyI4fX7XT7VJTxiqHv1uWrhow/YO5cyJ4VgUa/+BtLkGfOsuNEo78cu70= 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 1764105111694454.1454112343275; Tue, 25 Nov 2025 13:11:51 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vNzxH-0007qk-2R; Tue, 25 Nov 2025 15:48:07 -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 1vNzwI-0007CT-3v for qemu-devel@nongnu.org; Tue, 25 Nov 2025 15:47:08 -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 1vNzwF-00031M-FK for qemu-devel@nongnu.org; Tue, 25 Nov 2025 15:47:05 -0500 Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-335-y96qFWz9NnKTFwBP-V2PbQ-1; Tue, 25 Nov 2025 15:47:00 -0500 Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8b2217a9c60so2228651285a.3 for ; Tue, 25 Nov 2025 12:47:00 -0800 (PST) Received: from x1.local ([142.188.210.156]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8b3295c2276sm1250794085a.30.2025.11.25.12.46.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Nov 2025 12:46:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764103621; 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=39vtfy/ykemAPu0lP0oiKmDXg8WxA7OgREWmGs1cs8I=; b=ff+fT5X5Ymba2Mtbi1LKLDXBsnqbf1QaxHcr2y9Pfuduozgm+U3kP0IK/lbD60quHOEIiI KkhMRj+eT6WDLIIWpbYbkF//RNujMfnlZhuY61YR/HkNaNFFdPCRrl1ImNBJqv0C7B2lna nBgrxmUuchvEZzjiPicXOWzwoTTnDWM= X-MC-Unique: y96qFWz9NnKTFwBP-V2PbQ-1 X-Mimecast-MFC-AGG-ID: y96qFWz9NnKTFwBP-V2PbQ_1764103619 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1764103619; x=1764708419; 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=39vtfy/ykemAPu0lP0oiKmDXg8WxA7OgREWmGs1cs8I=; b=FIpHTDd/4bXOxDzdGAr88UN8/sGhRCbX04KB63tebzcmH9xjTWxL3RO9573hyZHFj7 wWBZiFBAY6aTZTttN9fvHU4pVZUn9sZsM/4e4RxsDZ0Ll6EEYBSCbZ/5jKHMuuBNEKOo bbk9QOXo9Szz4WwsWAkP2/zkOZS9TIQjf2VAtXpTwfWaWqSjWOYah9239BHvsBhL8gKC 5+VnWEFP45B8XRpmmwJ3GkxxC5avPJeBY4//XidmKZsHsxb3QUeZYBtxhdeajCt2fHON PsYVMbuxNFpwg+ozJXGrCEuDjZwbgFUkImCRzZiW7N+TcxWVaYerZxth9YEWtC7BKKCw LSoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764103619; x=1764708419; 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=39vtfy/ykemAPu0lP0oiKmDXg8WxA7OgREWmGs1cs8I=; b=IINfbksNUyvwS0KUIe1zjcTJQi8DFT0cwQpg34ky24QUEceXmwUyPk5nXzIxisSKrr /Zgx3KdyaP4+S8kMyYzHCWJvzbvdN2+kB0ymL4uaDO3GtmdK31wcNYXIiDoRwb0yoNcn zer87P+fNu9xiOzDaF3UI07D/OHBijjTgHa2LdAybWhhh5rO6cy81W05j+fec3dSj9tc dX1DBSak/4NafhXSvJSs6D4VJbliYYar5eYK3TFRzacqSqikjRxuGHHEeHm/jNcCjl9D S90A3TPYOSiXy0Ecg0ZJatDeHvtDPHdrzScdLorf7t1bC0XuT3XeqWqF7M62ikRn1lkA PBwg== X-Gm-Message-State: AOJu0Ywirk+VeCkXYrW4Sgpc5Za8CDjlqTrxbKVCRh+QLrSdjt3qK3pV ZR+dMr4Z8cv1HCOjGLiOUwujqPAMO2+HhLM7Xi0I3Hfhn0aU1eYC6Y9x3IlEnvIswGSI3HMpNMu g2OIxnPMA7selRuisnXwrcRJssNcckyujvYVdZ9JdbJWhIKfn3NT7rKWr/4IWsLZuvMPXEQl4YU pMQizRda7SYoRHtBcm+iTxZXoLm/vmAIUcM6IZ7g== X-Gm-Gg: ASbGncvRcJHK9qMb60uzDt8Hb+u8uofRMRXEQChWgftrN5T1uFTJ7Lzd01NNPO+2z0s KpdQRWLmZARmqDvyWKEdVs41f7CTTANmblfbmYeYf16KeZ8fIVONQ3aocTqjPLnRFDPrE01gq0V fy8qhuR3fuRXVYKznDHDKoxLIYRTUAZY/CiB/yjPi74GqlPjRE43AVHi8FsOEus6EgNFqRdkZrT wp4auR6oGhF55s+cVMcc2TD9NHPSClr9UlvNwk5SWtRlZNajBMbprDJlrtIe+J9z9ZC9qg5wZS4 GayeOEgdwCcYv9+aA8vWANoS8MXH7oKyCMlIWLCv05F7ZTCF3UFC+YJm43BkwAkZb396G9S1zTY oifs= X-Received: by 2002:a05:620a:1a05:b0:8b2:6ac7:aa4f with SMTP id af79cd13be357-8b33d49b0aamr2279174585a.68.1764103619113; Tue, 25 Nov 2025 12:46:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IE78yl5utIRX9MypFDMOTie9OTsAPgZgtTeGqt4QJ/4TyMxDack1FBshaiWQgAjCP8Zz8O4nA== X-Received: by 2002:a05:620a:1a05:b0:8b2:6ac7:aa4f with SMTP id af79cd13be357-8b33d49b0aamr2279167685a.68.1764103618120; Tue, 25 Nov 2025 12:46:58 -0800 (PST) From: Peter Xu To: qemu-devel@nongnu.org Cc: Markus Armbruster , Juraj Marcin , peterx@redhat.com, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Fabiano Rosas , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Vladimir Sementsov-Ogievskiy Subject: [PATCH for-11.0 6/6] migration: Replace migrate_set_error() with migrate_error_propagate() Date: Tue, 25 Nov 2025 15:46:48 -0500 Message-ID: <20251125204648.857018-7-peterx@redhat.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20251125204648.857018-1-peterx@redhat.com> References: <20251125204648.857018-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: -22 X-Spam_score: -2.3 X-Spam_bar: -- X-Spam_report: (-2.3 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.152, 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: 1764105114700019100 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. When at it, remove the first parameter so it's friendly to g_clear_pointer(). It can be used whenever the caller wants to provide extra safety measure (or reuse the pointer) to reset the Error* pointer after stolen. Signed-off-by: Peter Xu --- migration/migration.h | 2 +- migration/cpr-exec.c | 4 +-- migration/migration.c | 46 +++++++++++++++----------------- migration/multifd-device-state.c | 5 +--- migration/multifd.c | 19 +++++++------ migration/postcopy-ram.c | 5 ++-- migration/ram.c | 4 +-- migration/savevm.c | 15 ++++------- 8 files changed, 42 insertions(+), 58 deletions(-) diff --git a/migration/migration.h b/migration/migration.h index 213b33fe6e..df74f9b14f 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(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..13e6138f56 100644 --- a/migration/cpr-exec.c +++ b/migration/cpr-exec.c @@ -158,9 +158,7 @@ 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); - err =3D NULL; + g_clear_pointer(&err, migrate_error_propagate); =20 /* Note, we can go from state COMPLETED to FAILED */ migration_call_notifiers(s, MIG_EVENT_PRECOPY_FAILED, NULL); diff --git a/migration/migration.c b/migration/migration.c index 4fe69cc2ef..219d3129cb 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(local_err); migration_incoming_state_destroy(); =20 if (mis->exit_on_error) { @@ -1548,14 +1546,22 @@ 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(Error *error) { - QEMU_LOCK_GUARD(&s->error_mutex); + MigrationState *s =3D migrate_get_current(); =20 + 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 +1607,7 @@ static void migration_connect_set_error(MigrationStat= e *s, Error *error) } =20 migrate_set_state(&s->state, current, next); - migrate_set_error(s, error); - error_free(error); + migrate_error_propagate(error); } =20 void migration_cancel(void) @@ -2014,8 +2019,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(error); =20 qemu_mutex_lock(&ms->qemu_file_lock); if (ms->to_dst_file) { @@ -2647,8 +2651,7 @@ static void *source_return_path_thread(void *opaque) =20 out: if (err) { - migrate_set_error(ms, err); - error_free(err); + migrate_error_propagate(err); trace_source_return_path_thread_bad_end(); } =20 @@ -3094,12 +3097,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(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(local_err); } =20 if (s->state !=3D MIGRATION_STATUS_CANCELLING) { @@ -3326,8 +3327,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(local_error); } =20 if (state =3D=3D MIGRATION_STATUS_POSTCOPY_ACTIVE && ret) { @@ -3522,7 +3522,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(error_copy(local_err)); error_report_err(local_err); } return MIG_ITERATE_SKIP; @@ -3819,8 +3819,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(local_err); migrate_set_state(&s->state, MIGRATION_STATUS_ACTIVE, MIGRATION_STATUS_FAILED); goto out; @@ -3944,8 +3943,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(local_err); migrate_set_state(&s->state, MIGRATION_STATUS_ACTIVE, MIGRATION_STATUS_FAILED); goto fail_setup; @@ -4127,7 +4125,7 @@ void migration_connect(MigrationState *s, Error *erro= r_in) return; =20 fail: - migrate_set_error(s, local_err); + migrate_error_propagate(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..3040d70872 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(local_err); } =20 return 0; diff --git a/migration/multifd.c b/migration/multifd.c index c861b4b557..99717b64e9 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -428,8 +428,9 @@ static void multifd_send_set_error(Error *err) =20 if (err) { MigrationState *s =3D migrate_get_current(); - migrate_set_error(s, err); - error_free(err); + + migrate_error_propagate(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(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(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(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(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..856366072a 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(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(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..1d2a47526e 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(err); migration_cancel(); } =20 diff --git a/migration/savevm.c b/migration/savevm.c index 638e9b364f..ab9d1e579e 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(error_copy(local_err)); 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(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(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,7 @@ 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(error_copy(local_err)); error_report_err(local_err); return ret; } @@ -2826,8 +2824,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 +2836,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(local_err); } =20 return 0; --=20 2.50.1