On 2026-02-26 04:03 PM, Alex Williamson wrote: > On Thu, 29 Jan 2026 21:24:54 +0000 David Matlack <[email protected]> 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().

