mirror of
git://github.com/lxc/lxc
synced 2025-09-01 13:08:41 +00:00
lxccontainer: use userns_exec_full()
Closes #1800. Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
This commit is contained in:
@@ -2569,12 +2569,17 @@ static bool has_snapshots(struct lxc_container *c)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static bool do_destroy_container(struct lxc_conf *conf) {
|
static bool do_destroy_container(struct lxc_conf *conf) {
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (am_unpriv()) {
|
if (am_unpriv()) {
|
||||||
if (userns_exec_1(conf, storage_destroy_wrapper, conf,
|
ret = userns_exec_full(conf, storage_destroy_wrapper, conf,
|
||||||
"storage_destroy_wrapper") < 0)
|
"storage_destroy_wrapper");
|
||||||
|
if (ret < 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return storage_destroy(conf);
|
return storage_destroy(conf);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2708,8 +2713,8 @@ static bool container_destroy(struct lxc_container *c,
|
|||||||
if (ret < 0 || (size_t)ret >= len)
|
if (ret < 0 || (size_t)ret >= len)
|
||||||
goto out;
|
goto out;
|
||||||
if (am_unpriv())
|
if (am_unpriv())
|
||||||
ret = userns_exec_1(conf, lxc_rmdir_onedev_wrapper, path,
|
ret = userns_exec_full(conf, lxc_rmdir_onedev_wrapper, path,
|
||||||
"lxc_rmdir_onedev_wrapper");
|
"lxc_rmdir_onedev_wrapper");
|
||||||
else
|
else
|
||||||
ret = lxc_rmdir_onedev(path, "snaps");
|
ret = lxc_rmdir_onedev(path, "snaps");
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
@@ -3551,8 +3556,8 @@ static struct lxc_container *do_lxcapi_clone(struct lxc_container *c, const char
|
|||||||
data.flags = flags;
|
data.flags = flags;
|
||||||
data.hookargs = hookargs;
|
data.hookargs = hookargs;
|
||||||
if (am_unpriv())
|
if (am_unpriv())
|
||||||
ret = userns_exec_1(c->lxc_conf, clone_update_rootfs_wrapper,
|
ret = userns_exec_full(c->lxc_conf, clone_update_rootfs_wrapper,
|
||||||
&data, "clone_update_rootfs_wrapper");
|
&data, "clone_update_rootfs_wrapper");
|
||||||
else
|
else
|
||||||
ret = clone_update_rootfs(&data);
|
ret = clone_update_rootfs(&data);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
Reference in New Issue
Block a user