diff --git a/src/security/security_selinux.c b/src/security/security_selinux.c index 05efdbc9bf..6c2ef22a6e 100644 --- a/src/security/security_selinux.c +++ b/src/security/security_selinux.c @@ -2616,8 +2616,11 @@ virSecuritySELinuxRestoreAllLabel(virSecurityManagerPtr mgr, if (!secdef || !secdef->relabel || data->skipAllLabel) return 0; - if (def->tpm) { - if (virSecuritySELinuxRestoreTPMFileLabelInt(mgr, def, def->tpm) < 0) + for (i = 0; i < def->ndisks; i++) { + virDomainDiskDefPtr disk = def->disks[i]; + + if (virSecuritySELinuxRestoreImageLabelInt(mgr, def, disk->src, + migrated) < 0) rc = -1; } @@ -2639,11 +2642,8 @@ virSecuritySELinuxRestoreAllLabel(virSecurityManagerPtr mgr, return -1; } - for (i = 0; i < def->ndisks; i++) { - virDomainDiskDefPtr disk = def->disks[i]; - - if (virSecuritySELinuxRestoreImageLabelInt(mgr, def, disk->src, - migrated) < 0) + if (def->tpm) { + if (virSecuritySELinuxRestoreTPMFileLabelInt(mgr, def, def->tpm) < 0) rc = -1; }