Re: [PATCH v2 07/22] vfio/pci: Notify PCI subsystem about devices preserved across Live Update
From: David Matlack
Date: Thu Feb 26 2026 - 18:32:15 EST
On 2026-02-26 04:03 PM, Alex Williamson wrote:
> On Thu, 29 Jan 2026 21:24:54 +0000 David Matlack <dmatlack@xxxxxxxxxx> wrote:
> > diff --git a/drivers/vfio/pci/vfio_pci_liveupdate.c b/drivers/vfio/pci/vfio_pci_liveupdate.c
> > index 7f4117181fd0..ad915352303f 100644
> > --- a/drivers/vfio/pci/vfio_pci_liveupdate.c
> > +++ b/drivers/vfio/pci/vfio_pci_liveupdate.c
> > @@ -53,6 +53,8 @@ static int vfio_pci_liveupdate_preserve(struct liveupdate_file_op_args *args)
> > if (IS_ERR(ser))
> > return PTR_ERR(ser);
> >
> > + pci_liveupdate_outgoing_preserve(pdev);
>
> Why do we get to ignore the return value here?
Ugh, we do not. This is a bug, thanks for catching.
> > @@ -203,5 +225,6 @@ void vfio_pci_liveupdate_cleanup(void)
> > if (!liveupdate_enabled())
> > return;
> >
> > + WARN_ON_ONCE(pci_liveupdate_unregister_fh(&vfio_pci_liveupdate_fh));
>
> This is propagation of a poor API choice in liveupdate, the unregister
> should return void, it shouldn't be allowed to fail, IMO. Thanks,
Ack. I'll make pci_liveupdate_unregister_fh() unable to fail and follow
up with the maintainers of LUO about liveupdate_unregister_flb().