Commit 2500fb423a "migration: Include migration support for machine check handling" adds this:
ret = migrate_add_blocker(spapr->fwnmi_migration_blocker, &local_err); if (ret == -EBUSY) { /* * We don't want to abort so we let the migration to continue. * In a rare case, the machine check handler will run on the target. * Though this is not preferable, it is better than aborting * the migration or killing the VM. */ warn_report("Received a fwnmi while migration was in progress"); } migrate_add_blocker() can fail in two ways: 1. -EBUSY: migration is already in progress Ignoring this one is clearly intentional. The comment explains why. I'm taking it at face value (I'm a spapr ignoramus). Aside: I doubt the warning is going to help users. 2. -EACCES: we're running with -only-migratable Why may we ignore -only-migratable here? By the way, we leak @local_err on failure. I'll post a patch, but I'd like my question answered first.