]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
lxccontainer: only attach netns on netdev detach
authorChristian Brauner <christian.brauner@ubuntu.com>
Sun, 10 Dec 2017 01:41:14 +0000 (02:41 +0100)
committerChristian Brauner <christian.brauner@ubuntu.com>
Tue, 12 Dec 2017 10:54:12 +0000 (11:54 +0100)
Detaching network namespaces as an unprivileged user is currently not possible
and attaching to the user namespace will mean we are not allowed to move the
network device into an ancestor network namespace.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/lxccontainer.c

index 5256dd0f0a2c6470b445743fac76012a52180b72..f23f03d151f202b6269e14bd6cc52b6e85941381 100644 (file)
@@ -4450,10 +4450,12 @@ static bool do_lxcapi_detach_interface(struct lxc_container *c, const char *ifna
        }
 
        if (pid == 0) { /* child */
-               int ret = 0;
-               if (!enter_net_ns(c)) {
-                       ERROR("failed to enter namespace");
-                       exit(-1);
+               pid_t init_pid;
+
+               init_pid = do_lxcapi_init_pid(c);
+               if (!switch_to_ns(init_pid, "net")) {
+                       ERROR("Failed to enter network namespace");
+                       exit(EXIT_FAILURE);
                }
 
                ret = lxc_netdev_isup(ifname);