[{"id":3188214,"web_url":"http://patchwork.ozlabs.org/comment/3188214/","msgid":"<d705b54e-b584-e14f-2046-7c27c131cde9@yandex-team.ru>","list_archive_url":null,"date":"2023-09-26T20:47:06","subject":"Re: [PATCH v2 5/8] pcie_sriov: unregister_vfs(): fix error path","submitter":{"id":84116,"url":"http://patchwork.ozlabs.org/api/people/84116/","name":"Vladimir Sementsov-Ogievskiy","email":"vsementsov@yandex-team.ru"},"content":"[add Markus]\n\nOn 26.09.23 23:15, Vladimir Sementsov-Ogievskiy wrote:\n> local_err must be NULL before calling object_property_set_bool(), so we\n> must clear it on each iteration. Let's also use more convenient\n> error_reportf_err().\n> \n> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>\n> ---\n>   hw/pci/pcie_sriov.c | 9 +++------\n>   1 file changed, 3 insertions(+), 6 deletions(-)\n> \n> diff --git a/hw/pci/pcie_sriov.c b/hw/pci/pcie_sriov.c\n> index 76a3b6917e..5ef8950940 100644\n> --- a/hw/pci/pcie_sriov.c\n> +++ b/hw/pci/pcie_sriov.c\n> @@ -196,19 +196,16 @@ static void register_vfs(PCIDevice *dev)\n>   \n>   static void unregister_vfs(PCIDevice *dev)\n>   {\n> -    Error *local_err = NULL;\n>       uint16_t num_vfs = dev->exp.sriov_pf.num_vfs;\n>       uint16_t i;\n>   \n>       trace_sriov_unregister_vfs(dev->name, PCI_SLOT(dev->devfn),\n>                                  PCI_FUNC(dev->devfn), num_vfs);\n>       for (i = 0; i < num_vfs; i++) {\n> +        Error *err = NULL;\n>           PCIDevice *vf = dev->exp.sriov_pf.vf[i];\n> -        object_property_set_bool(OBJECT(vf), \"realized\", false, &local_err);\n> -        if (local_err) {\n> -            fprintf(stderr, \"Failed to unplug: %s\\n\",\n> -                    error_get_pretty(local_err));\n> -            error_free(local_err);\n> +        if (!object_property_set_bool(OBJECT(vf), \"realized\", false, &err)) {\n> +            error_reportf_err(err, \"Failed to unplug: \");\n>           }\n>           object_unparent(OBJECT(vf));\n>           object_unref(OBJECT(vf));","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=yandex-team.ru header.i=@yandex-team.ru\n header.a=rsa-sha256 header.s=default header.b=jHBbGPP0;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)","mail-nwsmtp-smtp-corp-main-26.myt.yp-c.yandex.net;\n dkim=pass header.i=@yandex-team.ru"],"Received":["from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4RwBdq4Gdfz1ypJ\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 27 Sep 2023 06:47:58 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1qlExu-0002sX-Ep; Tue, 26 Sep 2023 16:47:30 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <vsementsov@yandex-team.ru>)\n id 1qlExf-0002qS-8w\n for qemu-devel@nongnu.org; Tue, 26 Sep 2023 16:47:20 -0400","from forwardcorp1b.mail.yandex.net ([178.154.239.136])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <vsementsov@yandex-team.ru>)\n id 1qlExc-0004TX-5g\n for qemu-devel@nongnu.org; Tue, 26 Sep 2023 16:47:15 -0400","from mail-nwsmtp-smtp-corp-main-26.myt.yp-c.yandex.net\n (mail-nwsmtp-smtp-corp-main-26.myt.yp-c.yandex.net\n [IPv6:2a02:6b8:c12:5429:0:640:6285:0])\n by forwardcorp1b.mail.yandex.net (Yandex) with ESMTP id 8C3515FF95;\n Tue, 26 Sep 2023 23:47:07 +0300 (MSK)","from [IPV6:2a02:6b8:b081:b41d::1:39] (unknown\n [2a02:6b8:b081:b41d::1:39])\n by mail-nwsmtp-smtp-corp-main-26.myt.yp-c.yandex.net (smtpcorp/Yandex) with\n ESMTPSA id 6lWbOr0OjuQ0-FYNiGNx2; Tue, 26 Sep 2023 23:47:06 +0300"],"Precedence":"bulk","X-Yandex-Fwd":"1","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru;\n s=default; t=1695761226;\n bh=wXD8sxtnHzqhaMP0yKgHrs/mTcVYfbMVlCUNvKAjMbA=;\n h=From:In-Reply-To:Cc:Date:References:To:Subject:Message-ID;\n b=jHBbGPP0/lUJ+ZJwpSivXxZZZM/pkLoXuPLP5hA5NO4HHbjijIk9S7PWa7rRT4tgD\n bOf0g1r+R4kiGU8ycz6OD8cliEq259MM+ApRhLFPVnkMvFDL6VQI7MXqRSOSGXtbg1\n Isk0hcYyA/YWETwtcEpBzZbd5PxqLk/+kH5aEpt0=","Message-ID":"<d705b54e-b584-e14f-2046-7c27c131cde9@yandex-team.ru>","Date":"Tue, 26 Sep 2023 23:47:06 +0300","MIME-Version":"1.0","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101\n Thunderbird/102.13.0","Subject":"Re: [PATCH v2 5/8] pcie_sriov: unregister_vfs(): fix error path","Content-Language":"en-US","To":"qemu-devel@nongnu.org","Cc":"pbonzini@redhat.com, peter.maydell@linaro.org, yc-core@yandex-team.ru,\n davydov-max@yandex-team.ru, \"Michael S. Tsirkin\" <mst@redhat.com>,\n Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,\n Markus Armbruster <armbru@redhat.com>","References":"<20230926201532.221152-1-vsementsov@yandex-team.ru>\n <20230926201532.221152-6-vsementsov@yandex-team.ru>","From":"Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>","In-Reply-To":"<20230926201532.221152-6-vsementsov@yandex-team.ru>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Received-SPF":"pass client-ip=178.154.239.136;\n envelope-from=vsementsov@yandex-team.ru; helo=forwardcorp1b.mail.yandex.net","X-Spam_score_int":"-35","X-Spam_score":"-3.6","X-Spam_bar":"---","X-Spam_report":"(-3.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-1.473,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n 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","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}}]