]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
security_stack: Add SetDirLabel support
authorMartin Kletzander <mkletzan@redhat.com>
Mon, 17 Aug 2015 18:01:12 +0000 (11:01 -0700)
committerMartin Kletzander <mkletzan@redhat.com>
Mon, 24 Aug 2015 09:53:17 +0000 (11:53 +0200)
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
src/security/security_stack.c

index 1ded57b9604c54e7b556a85c145a36bcd26bc843..8d9560dad5457ebc7047937c7e8bd4c910d8519b 100644 (file)
@@ -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,
 };