[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 1/2] hw/nvme: fix incorrect use of errp/local_err
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v2 1/2] hw/nvme: fix incorrect use of errp/local_err |
Date: |
Thu, 10 Nov 2022 11:03:31 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Klaus Jensen <its@irrelevant.dk> writes:
> From: Klaus Jensen <k.jensen@samsung.com>
>
> Make nvme_check_constraints() return a bool and fix an invalid error
> propagation where the actual error is thrown away in favor of an unused
> local Error value.
Is it? I think you're talking about ...
> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
> ---
> hw/nvme/ctrl.c | 48 +++++++++++++++++++++++-------------------------
> 1 file changed, 23 insertions(+), 25 deletions(-)
>
> diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
> index ac3885ce5079..a5c0a5fa6ce2 100644
> --- a/hw/nvme/ctrl.c
> +++ b/hw/nvme/ctrl.c
[...]
> @@ -7564,7 +7566,6 @@ static void nvme_realize(PCIDevice *pci_dev, Error
> **errp)
> {
> NvmeCtrl *n = NVME(pci_dev);
> NvmeNamespace *ns;
> - Error *local_err = NULL;
> NvmeCtrl *pn = NVME(pcie_sriov_get_pf(pci_dev));
>
> if (pci_is_vf(pci_dev)) {
> @@ -7576,9 +7577,7 @@ static void nvme_realize(PCIDevice *pci_dev, Error
> **errp)
> n->subsys = pn->subsys;
> }
>
> - nvme_check_constraints(n, &local_err);
> - if (local_err) {
> - error_propagate(errp, local_err);
> + if (!nvme_check_params(n, errp)) {
> return;
> }
>
> @@ -7586,7 +7585,6 @@ static void nvme_realize(PCIDevice *pci_dev, Error
> **errp)
> &pci_dev->qdev, n->parent_obj.qdev.id);
>
> if (nvme_init_subsys(n, errp)) {
> - error_propagate(errp, local_err);
... this one. error_propagate() does nothing here, because @local_err
is still null.
> return;
> }
> nvme_init_state(n);