CLONE_NEWNS
err = ksys_unshare(CLONE_NEWNS);
ns = ns_tree_lookup_rcu(mnt_ns_id, CLONE_NEWNS);
if (likely(!(flags & CLONE_NEWNS))) {
if (ns->ns_type != CLONE_NEWNS)
if (ns->ns_type != CLONE_NEWNS)
if (ns->ns_type != CLONE_NEWNS)
if (ns->ns_type != CLONE_NEWNS)
case CLONE_NEWNS:
case CLONE_NEWNS:
struct mnt_namespace *: CLONE_NEWNS, \
if ((clone_flags & (CLONE_NEWNS|CLONE_FS)) == (CLONE_NEWNS|CLONE_FS))
if (unshare_flags & ~(CLONE_THREAD|CLONE_FS|CLONE_NEWNS|CLONE_SIGHAND|
if (!(unshare_flags & CLONE_NEWNS) && fs->users == 1)
if (unshare_flags & CLONE_NEWNS)
case CLONE_NEWNS:
if (likely(!(flags & (CLONE_NEWNS | CLONE_NEWUTS | CLONE_NEWIPC |
if (!(unshare_flags & (CLONE_NEWNS | CLONE_NEWUTS | CLONE_NEWIPC |
if (!flags || (flags & ~(CLONE_NEWNS | CLONE_NEWUTS | CLONE_NEWIPC |
if (nsset->fs && (flags & CLONE_NEWNS) && (flags & ~CLONE_NEWNS))
if (flags == CLONE_NEWNS) {
} else if (flags & CLONE_NEWNS) {
if (flags & CLONE_NEWNS) {
if ((flags & CLONE_NEWNS) && (flags & ~CLONE_NEWNS)) {
case CLONE_NEWNS:
ret = unshare(CLONE_NEWNS);
if (setns(newns, CLONE_NEWNS) < 0)
setns(nc->oldns, CLONE_NEWNS);
if (unshare(CLONE_NEWNS)) {
if (!ASSERT_OK(unshare(CLONE_NEWNET | CLONE_NEWNS), "unshare"))
err = unshare(CLONE_NEWNS);
err = unshare(CLONE_NEWNS);
} else if (unshare(CLONE_NEWUSER | CLONE_NEWNS) == 0) {
if (outer_uid == 0 && unshare(CLONE_NEWNS) == 0) {
if (unshare(CLONE_NEWNS) == -1) {
ret = unshare(CLONE_NEWNS);
ret = unshare(CLONE_NEWNS);
ASSERT_SUCCESS(unshare(CLONE_NEWNS));
ASSERT_SUCCESS(setns(self->host_mntns, CLONE_NEWNS));
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
ASSERT_EQ(unshare(CLONE_NEWNS|CLONE_NEWUSER), 0);
unshare(CLONE_NEWNS);
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
unshare(CLONE_NEWNS);
ASSERT_EQ(setns(self->fd_mnt_ns[0], CLONE_NEWNS), 0);
ASSERT_EQ(setns(self->fd_mnt_ns[MNT_NS_LAST_INDEX], CLONE_NEWNS), 0);
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
if (setns(self->fd, CLONE_NEWNS) < 0)
if (setns(fd, CLONE_NEWNS) < 0)
if (setns(fd, CLONE_NEWNS) < 0)
if (unshare(CLONE_NEWNS))
if (setns(fd, CLONE_NEWNS) < 0)
if (unshare(CLONE_NEWNS) == -1) {
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
ret = unshare(CLONE_NEWNS|CLONE_NEWUSER|CLONE_NEWPID);
pid = do_clone(get_userns_fd_cb, NULL, CLONE_NEWUSER | CLONE_NEWNS);
ret = unshare(CLONE_NEWNS|CLONE_NEWUSER);
if (unshare(CLONE_NEWNS) != 0) {
ASSERT_EQ(0, unshare(CLONE_NEWNS | CLONE_NEWCGROUP));
if (unshare(CLONE_NEWNS) != 0)
#ifndef CLONE_NEWNS
if (unshare(CLONE_NEWNS) != 0) {
if (unshare(CLONE_NEWNS) != 0) {
ret = unshare(CLONE_NEWNS);
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
if (unshare(CLONE_NEWNS))
#ifndef CLONE_NEWNS
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
if (unshare(CLONE_NEWNS))
#ifndef CLONE_NEWNS
ASSERT_EQ(setns(ca_to.mntnsfd, CLONE_NEWNS), 0);
ret = unshare(CLONE_NEWNS);
pid = create_child(&pidfds[i], CLONE_NEWNS);
pid = create_child(&pidfds[i], CLONE_NEWNS);
.ns_type = CLONE_NEWNS, /* Only mount namespaces */
pid = create_child(&pidfds[i], CLONE_NEWNS);
ret = unshare(CLONE_NEWNS);
ret = unshare(CLONE_NEWNS);
E_unshare(CLONE_NEWNS);
pid = do_clone(pid_max_nested_inner, NULL, CLONE_NEWPID | CLONE_NEWNS);
pid = do_clone(pid_max_nested_limit_inner, NULL, CLONE_NEWPID | CLONE_NEWNS);
pid = do_clone(pid_max_cb, NULL, CLONE_NEWPID | CLONE_NEWNS);
pid = do_clone(pid_max_nested_limit_outer, NULL, CLONE_NEWPID | CLONE_NEWNS);
pid = do_clone(pid_max_nested_outer, NULL, CLONE_NEWPID | CLONE_NEWNS);
ASSERT_EQ(unshare(CLONE_NEWNS), 0);
static int flags = CLONE_PIDFD | CLONE_NEWPID | CLONE_NEWNS | SIGCHLD;
if (self->nsfds[PIDFD_NS_MNT] >= 0 && unshare(CLONE_NEWNS) < 0) {
if (self->nsfds[PIDFD_NS_MNT] >= 0 && unshare(CLONE_NEWNS) < 0) {
[PIDFD_NS_MNT] = { "mnt", CLONE_NEWNS, PIDFD_GET_MNT_NAMESPACE, },
ret = unshare(CLONE_NEWNS);
if (unshare(CLONE_NEWNS) == -1) {
ASSERT_SUCCESS(unshare(CLONE_NEWNS));
ASSERT_SUCCESS(setns(self->host_mntns, CLONE_NEWNS));
if (unshare(CLONE_NEWNS) == -1) {
if (unshare(CLONE_NEWNS) == -1) {