summaryrefslogtreecommitdiff
path: root/src/security/security_stack.c
diff options
context:
space:
mode:
authorMartin Kletzander <mkletzan@redhat.com>2015-08-17 11:01:12 -0700
committerMartin Kletzander <mkletzan@redhat.com>2015-08-24 11:53:17 +0200
commit99cf04e32d94025a8a969057fba4451eb416a56e (patch)
tree788995b03a9c07b40a5c3f6e655ae639c29b99ab /src/security/security_stack.c
parentf65a2a12f4b9ab6144a979774f0486cdc4f7a60a (diff)
downloadlibvirt-99cf04e32d94025a8a969057fba4451eb416a56e.tar.gz
security_stack: Add SetDirLabel support
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
Diffstat (limited to 'src/security/security_stack.c')
-rw-r--r--src/security/security_stack.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/security/security_stack.c b/src/security/security_stack.c
index 1ded57b960..8d9560dad5 100644
--- a/src/security/security_stack.c
+++ b/src/security/security_stack.c
@@ -599,6 +599,24 @@ virSecurityStackRestoreSecurityImageLabel(virSecurityManagerPtr mgr,
return rc;
}
+static int
+virSecurityStackDomainSetDirLabel(virSecurityManagerPtr mgr,
+ virDomainDefPtr vm,
+ const char *path)
+{
+ virSecurityStackDataPtr priv = virSecurityManagerGetPrivateData(mgr);
+ virSecurityStackItemPtr item = priv->itemsHead;
+ int rc = 0;
+
+ for (; item; item = item->next) {
+ if (virSecurityManagerDomainSetDirLabel(item->securityManager,
+ vm, path) < 0)
+ rc = -1;
+ }
+
+ return rc;
+}
+
virSecurityDriver virSecurityDriverStack = {
.privateDataLen = sizeof(virSecurityStackData),
.name = "stack",
@@ -648,4 +666,6 @@ virSecurityDriver virSecurityDriverStack = {
.domainSetSecurityHugepages = virSecurityStackSetHugepages,
.getBaseLabel = virSecurityStackGetBaseLabel,
+
+ .domainSetDirLabel = virSecurityStackDomainSetDirLabel,
};