CLONE_NEWNET
case CLONE_NEWNET:
case CLONE_NEWNET:
struct net *: CLONE_NEWNET, \
if (flags & CLONE_NEWNET)
CLONE_NEWUTS|CLONE_NEWIPC|CLONE_NEWNET|
case CLONE_NEWNET:
CLONE_NEWPID | CLONE_NEWNET |
CLONE_NEWNET | CLONE_NEWPID | CLONE_NEWCGROUP |
CLONE_NEWNET | CLONE_NEWTIME | CLONE_NEWUSER |
if (flags & CLONE_NEWNET)
if (flags & CLONE_NEWNET) {
case CLONE_NEWNET:
if (!(flags & CLONE_NEWNET))
err = setns(nsfd, CLONE_NEWNET);
if (setns(token->orig_netns_fd, CLONE_NEWNET))
if (!ASSERT_OK(unshare(CLONE_NEWNET), "create netns"))
if (!ASSERT_OK(unshare(CLONE_NEWNET), "create netns"))
if (!ASSERT_OK(unshare(CLONE_NEWNET | CLONE_NEWNS), "unshare"))
err = setns(old_net, CLONE_NEWNET);
err = setns(old_net, CLONE_NEWNET);
setns(old_net, CLONE_NEWNET);
err = setns(init_net, CLONE_NEWNET);
err = setns(saved_net, CLONE_NEWNET);
err = unshare(CLONE_NEWNET);
setns(old_net, CLONE_NEWNET);
if (!ASSERT_OK(unshare(CLONE_NEWNET), "create netns"))
if (CHECK_FAIL(setns(self_net, CLONE_NEWNET)))
if (CHECK_FAIL(unshare(CLONE_NEWNET)))
err = unshare(CLONE_NEWNET);
if (!ASSERT_OK(unshare(CLONE_NEWNET), "create netns"))
if (!ASSERT_OK(unshare(CLONE_NEWNET), "create netns"))
if (!ASSERT_OK(unshare(CLONE_NEWNET), "create netns"))
ASSERT_OK(setns(root_netns_fd, CLONE_NEWNET), "restore_root_netns");
err = setns(nsfd, CLONE_NEWNET);
if (setns(env.saved_netns_fd, CLONE_NEWNET) == -1) {
ASSERT_EQ(0, unshare(CLONE_NEWNET));
#ifndef CLONE_NEWNET
ret = unshare(CLONE_NEWNET);
unshare(CLONE_NEWNET);
if (unshare(CLONE_NEWNET) < 0) {
.ns_type = CLONE_NEWNET,
.ns_type = CLONE_NEWNET,
if (unshare(CLONE_NEWNET) < 0) {
if (unshare(CLONE_NEWNET) < 0) {
if (unshare(CLONE_NEWNET) < 0) {
.ns_type = CLONE_NEWNET,
ASSERT_EQ(ns_type, CLONE_NEWNET);
.ns_type = CLONE_NEWNET,
if (unshare(CLONE_NEWNET) < 0) {
unshare(CLONE_NEWNET);
.ns_type = CLONE_NEWNET | CLONE_NEWUTS, /* Network and UTS */
.ns_type = CLONE_NEWNET, /* Only network namespaces */
.ns_type = CLONE_NEWNET,
ret = unshare(CLONE_NEWNET);
if (unshare(CLONE_NEWNET) < 0) {
if (unshare(CLONE_NEWNET) < 0) {
if (unshare(CLONE_NEWNET) < 0) {
if (unshare(CLONE_NEWNET) < 0) {
if (unshare(CLONE_NEWNET) < 0) {
ret = unshare(CLONE_NEWNET);
if (unshare(CLONE_NEWNET) < 0) {
ret = unshare(CLONE_NEWNET);
if (unshare(CLONE_NEWNET) < 0) {
ret = setns(fd, CLONE_NEWNET);
req.ns_type = CLONE_NEWNET;
req.ns_type = CLONE_NEWNET;
ret = unshare(CLONE_NEWNET);
ret = unshare(CLONE_NEWNET);
ret = unshare(CLONE_NEWNET);
ret = setns(fd_child_netns, CLONE_NEWNET);
setns(fd_parent_netns, CLONE_NEWNET);
if (unshare(CLONE_NEWUTS | CLONE_NEWIPC | CLONE_NEWNET | CLONE_NEWUSER) < 0) {
child_pid = create_child(&pidfd, CLONE_NEWUSER | CLONE_NEWUTS | CLONE_NEWIPC | CLONE_NEWNET);
if (unshare(CLONE_NEWNET) < 0) {
.ns_type = CLONE_NEWNET | CLONE_NEWUSER,
if (unshare(CLONE_NEWNET) < 0) {
ASSERT_EQ(unshare(CLONE_NEWNET), 0);
setns(netns_a_fd, CLONE_NEWNET);
ASSERT_EQ(setns(netns_a_fd, CLONE_NEWNET), 0);
ASSERT_EQ(unshare(CLONE_NEWNET), 0);
if (unshare(CLONE_NEWNET) < 0) {
.ns_type = CLONE_NEWNET,
if (unshare(CLONE_NEWNET) < 0) {
if (unshare(CLONE_NEWNET) < 0) {
if (unshare(CLONE_NEWNET) < 0) {
.ns_type = CLONE_NEWNET | CLONE_NEWUSER,
if (unshare(CLONE_NEWNET) < 0)
.ns_type = CLONE_NEWUSER | CLONE_NEWNET | CLONE_NEWUTS,
if (unshare(CLONE_NEWNET) < 0)
ret = unshare(CLONE_NEWNET);
.flags = CLONE_NEWNET,
.flags = CLONE_NEWNET,
.flags = CLONE_NEWNET,
.flags = CLONE_NEWNET,
ret = unshare(CLONE_NEWNET);
if (unshare(CLONE_NEWNET) != 0) {
if (setns(fd, CLONE_NEWNET)) {
if (unshare(CLONE_NEWNET) == -1)
ret = setns(fd, CLONE_NEWNET);
ASSERT_EQ(unshare(CLONE_NEWNET), 0);
if (unshare(CLONE_NEWNET))
if (unshare(CLONE_NEWNET) != 0)
if (setns(fd, CLONE_NEWNET))
if (setns(fd, CLONE_NEWNET))
ASSERT_EQ(unshare(CLONE_NEWNET), 0);
if (self->nsfds[PIDFD_NS_NET] >= 0 && unshare(CLONE_NEWNET) < 0)
if (self->nsfds[PIDFD_NS_NET] >= 0 && unshare(CLONE_NEWNET) < 0) {
if (self->nsfds[PIDFD_NS_NET] >= 0 && unshare(CLONE_NEWNET) < 0) {
ASSERT_NE(setns(self->child_pidfd_exited, CLONE_NEWUSER | CLONE_NEWNET),
[PIDFD_NS_NET] = { "net", CLONE_NEWNET, PIDFD_GET_NET_NAMESPACE, },
if (unshare(CLONE_NEWNET) == -1) {
if (setns(nsfd, CLONE_NEWNET) == -1) {
if (unshare(CLONE_NEWNET) == -1) {
if (unshare(CLONE_NEWNET) == -1) {
if (post_flags & CLONE_NEWNET) {
ret = unshare(CLONE_NEWNET);
if (pre_flags & CLONE_NEWNET) {
ret = unshare(CLONE_NEWNET);
ret = do_test(CLONE_NEWNET, 0, true, sync_fd);
ret = do_test(CLONE_NEWUSER | CLONE_NEWNET, 0, false, sync_fd);
ret = do_test(0, CLONE_NEWNET, true, sync_fd);
ret = do_test(0, CLONE_NEWUSER | CLONE_NEWNET, true, sync_fd);