]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
start: only preserve CLONE_NEWCGROUP when supported 1906/head
authorChristian Brauner <christian.brauner@ubuntu.com>
Mon, 6 Nov 2017 22:24:01 +0000 (23:24 +0100)
committerChristian Brauner <christian.brauner@ubuntu.com>
Mon, 6 Nov 2017 22:24:01 +0000 (23:24 +0100)
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/start.c

index fe76b2357f1f870d2116b864f88483bacbb4385e..ca80136d53391b7e13bc6c6299f1ea53b832ed3e 100644 (file)
@@ -1402,13 +1402,15 @@ static int lxc_spawn(struct lxc_handler *handler)
        if (lxc_sync_barrier_child(handler, LXC_SYNC_READY_START))
                return -1;
 
-       ret = lxc_preserve_ns(handler->pid, "cgroup");
-       if (ret < 0) {
-               ERROR("%s - Failed to preserve cgroup namespace", strerror(errno));
-               goto out_delete_net;
+       if (cgns_supported()) {
+               ret = lxc_preserve_ns(handler->pid, "cgroup");
+               if (ret < 0) {
+                       ERROR("%s - Failed to preserve cgroup namespace", strerror(errno));
+                       goto out_delete_net;
+               }
+               handler->nsfd[LXC_NS_CGROUP] = ret;
+               DEBUG("Preserved cgroup namespace via fd %d", ret);
        }
-       handler->nsfd[LXC_NS_CGROUP] = ret;
-       DEBUG("Preserved cgroup namespace via fd %d", ret);
 
        if (lxc_network_recv_name_and_ifindex_from_child(handler) < 0) {
                ERROR("Failed to receive names and ifindices for network "