On Thu, Nov 13, 2025 at 03:28:12PM -0500, Matthew Rosato wrote: > On 10/3/25 11:39 AM, Peter Xu wrote: > > From: Steve Sistare <[email protected]> > > > > Allow a notifier to be added for multiple migration modes. > > To allow a notifier to appear on multiple per-node lists, use > > a generic list type. We can no longer use NotifierWithReturnList, > > because it shoe horns the notifier onto a single list. > > > > Signed-off-by: Steve Sistare <[email protected]> > > Reviewed-by: Fabiano Rosas <[email protected]> > > Link: > > https://lore.kernel.org/r/[email protected] > > Signed-off-by: Peter Xu <[email protected]> > > ... > > > void migration_remove_notifier(NotifierWithReturn *notify) > > { > > if (notify->notify) { > > - notifier_with_return_remove(notify); > > + for (MigMode mode = 0; mode < MIG_MODE__MAX; mode++) { > > + migration_blockers[mode] = > > + g_slist_remove(migration_state_notifiers[mode], notify); > > + } > > notify->notify = NULL; > > } > > Hi, we started noticing occasional crashes on detach of vfio-pci devices on > s390x. > > The pattern we used to reliably hit the issue is to attach/detach the same > hostdev to a guest; crash usually happens on the second detach, sometimes the > third. > > I did a bisect and it points to this patch. This code isn't my area of > expertise, but the change above looks wrong. > > I tried the following diff and it resolves the crash for me at least: > > diff --git a/migration/migration.c b/migration/migration.c > index c2daab6bdd..9e787749b2 100644 > --- a/migration/migration.c > +++ b/migration/migration.c > @@ -1693,7 +1693,7 @@ void migration_remove_notifier(NotifierWithReturn > *notify) > { > if (notify->notify) { > for (MigMode mode = 0; mode < MIG_MODE__MAX; mode++) { > - migration_blockers[mode] = > + migration_state_notifiers[mode] = > g_slist_remove(migration_state_notifiers[mode], notify); > } > notify->notify = NULL;
I bet you're correct, thanks for reporting and providing the fix. Could you prepare a formal patch and send it to the list? I can collect it for the rc pull. Thanks, -- Peter Xu
