[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/4] nvme: check msix_init_exclusive_bar return
From: |
Max Reitz |
Subject: |
Re: [Qemu-devel] [PATCH 3/4] nvme: check msix_init_exclusive_bar return value |
Date: |
Wed, 9 Jan 2019 15:51:56 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
On 30.10.18 06:18, Li Qiang wrote:
> As this function can fail.
>
> Signed-off-by: Li Qiang <address@hidden>
> ---
> hw/block/nvme.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/hw/block/nvme.c b/hw/block/nvme.c
> index 72c9644..a406c23 100644
> --- a/hw/block/nvme.c
> +++ b/hw/block/nvme.c
> @@ -1250,7 +1250,10 @@ static void nvme_realize(PCIDevice *pci_dev, Error
> **errp)
> pci_register_bar(&n->parent_obj, 0,
> PCI_BASE_ADDRESS_SPACE_MEMORY | PCI_BASE_ADDRESS_MEM_TYPE_64,
> &n->iomem);
> - msix_init_exclusive_bar(&n->parent_obj, n->num_queues, 4, NULL);
> + if (msix_init_exclusive_bar(&n->parent_obj, n->num_queues, 4, NULL)) {
> + error_setg(errp, "msix_init_exclusive_bar failed");
> + return;
> + }
Commit ee640c625e1 which last touched this function stated that creating
this device won't fail if this function fails, so I suppose it's
intential that the error isn't checked.
But if you think the error should be checked and device creation should
be aborted if this function failed, then I suppose there'd be some
cleaning up to instead of just returning.
Also, we should just pass errp to that function (as its last parameter,
instead of NULL).
Max
>
> id->vid = cpu_to_le16(pci_get_word(pci_conf + PCI_VENDOR_ID));
> id->ssvid = cpu_to_le16(pci_get_word(pci_conf +
> PCI_SUBSYSTEM_VENDOR_ID));
>
signature.asc
Description: OpenPGP digital signature
- Re: [Qemu-devel] [PATCH 3/4] nvme: check msix_init_exclusive_bar return value,
Max Reitz <=