]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
LXC: Don't mount securityfs when user namespace enabled
authorGao feng <gaofeng@cn.fujitsu.com>
Thu, 5 Sep 2013 10:50:40 +0000 (11:50 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Thu, 5 Sep 2013 11:00:07 +0000 (12:00 +0100)
Right now, securityfs is disallowed to be mounted in non-initial
user namespace, so we must avoid trying to mount securityfs in
a container which has user namespace enabled.

Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
src/lxc/lxc_container.c

index 8abaea0f325d1b3545250a97361ca7567a08c845..c41ab405031aa2cfa8d58864ef8556ee1405b324 100644 (file)
@@ -750,7 +750,7 @@ err:
 }
 
 
-static int lxcContainerMountBasicFS(void)
+static int lxcContainerMountBasicFS(bool userns_enabled)
 {
     const struct {
         const char *src;
@@ -801,6 +801,9 @@ static int lxcContainerMountBasicFS(void)
             continue;
 #endif
 
+        if (STREQ(mnts[i].src, "securityfs") && userns_enabled)
+            continue;
+
         if (virFileMakePath(mnts[i].dst) < 0) {
             virReportSystemError(errno,
                                  _("Failed to mkdir %s"),
@@ -1530,7 +1533,7 @@ static int lxcContainerSetupPivotRoot(virDomainDefPtr vmDef,
         goto cleanup;
 
     /* Mounts the core /proc, /sys, etc filesystems */
-    if (lxcContainerMountBasicFS() < 0)
+    if (lxcContainerMountBasicFS(vmDef->idmap.nuidmap) < 0)
         goto cleanup;
 
     /* Mounts /proc/meminfo etc sysinfo */