]> xenbits.xensource.com Git - libvirt.git/commitdiff
security, apparmor: implement domainSetPathLabel
authorChristian Ehrhardt <christian.ehrhardt@canonical.com>
Tue, 9 Jan 2018 15:04:02 +0000 (16:04 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 9 Jan 2018 16:29:52 +0000 (17:29 +0100)
This came up in discussions around huge pages, but it will cover
more per guest paths that should be added to the guests apparmor profile:
 - keys via qemuDomainWriteMasterKeyFile
 - per domain dirs via qemuProcessMakeDir
 - memory backing paths via qemuProcessBuildDestroyMemoryPathsImpl

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
src/security/security_apparmor.c

index 1db94c632f5d0feccf2992095cd3c003661ead0f..dcd6f52c164eda1b05f229dd82bac729fc2781ca 100644 (file)
@@ -953,6 +953,13 @@ AppArmorSetSavedStateLabel(virSecurityManagerPtr mgr,
     return reload_profile(mgr, def, savefile, true);
 }
 
+static int
+AppArmorSetPathLabel(virSecurityManagerPtr mgr,
+                           virDomainDefPtr def,
+                           const char *path)
+{
+    return reload_profile(mgr, def, path, true);
+}
 
 static int
 AppArmorRestoreSavedStateLabel(virSecurityManagerPtr mgr,
@@ -1045,6 +1052,8 @@ virSecurityDriver virAppArmorSecurityDriver = {
     .domainSetSavedStateLabel           = AppArmorSetSavedStateLabel,
     .domainRestoreSavedStateLabel       = AppArmorRestoreSavedStateLabel,
 
+    .domainSetPathLabel                 = AppArmorSetPathLabel,
+
     .domainSetSecurityImageFDLabel      = AppArmorSetFDLabel,
     .domainSetSecurityTapFDLabel        = AppArmorSetFDLabel,