qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v6 09/19] vfio-user: find and init PCI device


From: Stefan Hajnoczi
Subject: Re: [PATCH v6 09/19] vfio-user: find and init PCI device
Date: Mon, 21 Feb 2022 15:57:52 +0000

On Thu, Feb 17, 2022 at 02:48:56AM -0500, Jagannathan Raman wrote:
> @@ -221,6 +272,14 @@ static void vfu_object_finalize(Object *obj)
>  
>      o->device = NULL;
>  
> +    if (o->unplug_blocker && o->pci_dev) {
> +        qdev_del_unplug_blocker(DEVICE(o->pci_dev), o->unplug_blocker);
> +        error_free(o->unplug_blocker);
> +        o->unplug_blocker = NULL;
> +    }
> +
> +    o->pci_dev = NULL;

Since we don't hold a reference to o->pci_dev there is an assumption
about the order of --object vs --device ->finalize() here. I think it
will work because softmmu/runstate.c:qemu_cleanup() doesn't unref
main_system_bus and only --object ->finalize() is called, but this seems
fragile. We should probably hold a reference to pci_dev and call
object_unref() on it.

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]