]> git.proxmox.com Git - mirror_lxc.git/commitdiff
lxccontainer: use userns_exec_full()
authorChristian Brauner <christian.brauner@ubuntu.com>
Sat, 9 Sep 2017 09:21:16 +0000 (11:21 +0200)
committerStéphane Graber <stgraber@ubuntu.com>
Sun, 24 Sep 2017 04:13:30 +0000 (00:13 -0400)
Closes #1800.

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

index 093a2992bcd30c6b443bec2a0ca6b261c468d35e..5e8ad00f98ae9d55c858883b0504be59b630dbe3 100644 (file)
@@ -2569,12 +2569,17 @@ static bool has_snapshots(struct lxc_container *c)
 }
 
 static bool do_destroy_container(struct lxc_conf *conf) {
+       int ret;
+
        if (am_unpriv()) {
-               if (userns_exec_1(conf, storage_destroy_wrapper, conf,
-                                 "storage_destroy_wrapper") < 0)
+               ret = userns_exec_full(conf, storage_destroy_wrapper, conf,
+                                      "storage_destroy_wrapper");
+               if (ret < 0)
                        return false;
+
                return true;
        }
+
        return storage_destroy(conf);
 }
 
@@ -2708,8 +2713,8 @@ static bool container_destroy(struct lxc_container *c,
        if (ret < 0 || (size_t)ret >= len)
                goto out;
        if (am_unpriv())
-               ret = userns_exec_1(conf, lxc_rmdir_onedev_wrapper, path,
-                                   "lxc_rmdir_onedev_wrapper");
+               ret = userns_exec_full(conf, lxc_rmdir_onedev_wrapper, path,
+                                      "lxc_rmdir_onedev_wrapper");
        else
                ret = lxc_rmdir_onedev(path, "snaps");
        if (ret < 0) {
@@ -3551,8 +3556,8 @@ static struct lxc_container *do_lxcapi_clone(struct lxc_container *c, const char
        data.flags = flags;
        data.hookargs = hookargs;
        if (am_unpriv())
-               ret = userns_exec_1(c->lxc_conf, clone_update_rootfs_wrapper,
-                                   &data, "clone_update_rootfs_wrapper");
+               ret = userns_exec_full(c->lxc_conf, clone_update_rootfs_wrapper,
+                                      &data, "clone_update_rootfs_wrapper");
        else
                ret = clone_update_rootfs(&data);
        if (ret < 0)