]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
LXC: don't unmount mounts for shared root
authorGao feng <gaofeng@cn.fujitsu.com>
Wed, 20 Nov 2013 02:11:09 +0000 (10:11 +0800)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 26 Nov 2013 15:55:47 +0000 (15:55 +0000)
Also after commit 5ff9d8a65ce80efb509ce4e8051394e9ed2cd942
vfs: Lock in place mounts from more privileged users,

unprivileged user has no rights to umount the mounts that
inherited from parent mountns.

right now, I have no good idea to fix this problem, we need
to do more research. this patch just skip unmounting these
mounts for shared root.

BTW, I think when libvirt lxc enables user namespace, the
configuation that shares root with host is very rara.

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

index 3d0fac3728847da68c06acd44a069049033a90fe..c24e7fbcbf7b9f6bb90eeeb63e068c9fc7a5d0d0 100644 (file)
@@ -1665,7 +1665,9 @@ static int lxcContainerSetupPivotRoot(virDomainDefPtr vmDef,
     if (lxcContainerPivotRoot(root) < 0)
         goto cleanup;
 
-    if (STREQ(root->src, "/") &&
+    /* FIXME: we should find a way to unmount these mounts for container
+     * even user namespace is enabled. */
+    if (STREQ(root->src, "/") && (!vmDef->idmap.nuidmap) &&
         lxcContainerUnmountForSharedRoot(stateDir, vmDef->name) < 0)
         goto cleanup;