From: Peter Xu Date: Mon, 5 Mar 2018 09:49:38 +0000 (+0800) Subject: migration: fix applying wrong capabilities X-Git-Tag: qemu-xen-4.12.0-rc1~394^2~1 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=dd0ee30caeebbd25a80d8e985f3ee1b9343c05f1;p=qemu-xen.git migration: fix applying wrong capabilities When setting migration capabilities via QMP/HMP, we'll apply them even if the capability check failed. Fix it. Fixes: 4a84214ebe ("migration: provide migrate_caps_check()", 2017-07-18) Signed-off-by: Peter Xu Message-Id: <20180305094938.31374-1-peterx@redhat.com> Reviewed-by: Dr. David Alan Gilbert Signed-off-by: Dr. David Alan Gilbert --- diff --git a/migration/migration.c b/migration/migration.c index 62c243d2d4..6a4780ef6f 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -747,13 +747,15 @@ void qmp_migrate_set_capabilities(MigrationCapabilityStatusList *params, { MigrationState *s = migrate_get_current(); MigrationCapabilityStatusList *cap; + bool cap_list[MIGRATION_CAPABILITY__MAX]; if (migration_is_setup_or_active(s->state)) { error_setg(errp, QERR_MIGRATION_ACTIVE); return; } - if (!migrate_caps_check(s->enabled_capabilities, params, errp)) { + memcpy(cap_list, s->enabled_capabilities, sizeof(cap_list)); + if (!migrate_caps_check(cap_list, params, errp)) { return; }