| /linux/Documentation/userspace-api/ |
| H A D | unshare.rst | 1 unshare system call 4 This document describes the new system call, unshare(). The document 42 unshare() system call adds a primitive to the Linux thread model that 43 allows threads to selectively 'unshare' any resources that were being 44 shared at the time of their creation. unshare() was conceptualized by 46 of the discussion on POSIX threads on Linux. unshare() augments the 48 shared resources without creating a new process. unshare() is a natural 55 unshare() would be useful to large application frameworks such as PAM 58 when creating a new process using fork or clone, unshare() can benefit 61 where unshare() can be used. [all …]
|
| /linux/tools/testing/selftests/net/af_unix/ |
| H A D | diag_uid.c | 29 int unshare; in FIXTURE_VARIANT() local 35 .unshare = 0, in FIXTURE_VARIANT_ADD() 41 .unshare = CLONE_NEWUSER, in FIXTURE_VARIANT_ADD() 51 if (variant->unshare) in FIXTURE_SETUP() 52 ASSERT_EQ(unshare(variant->unshare), 0); in FIXTURE_SETUP()
|
| /linux/tools/testing/selftests/pidfd/ |
| H A D | pidfd_setns_test.c | 79 if (unshare(CLONE_NEWTIME)) in switch_timens() 141 if (self->nsfds[PIDFD_NS_USER] >= 0 && unshare(CLONE_NEWUSER) < 0) in FIXTURE_SETUP() 143 if (self->nsfds[PIDFD_NS_NET] >= 0 && unshare(CLONE_NEWNET) < 0) in FIXTURE_SETUP() 172 if (self->nsfds[PIDFD_NS_MNT] >= 0 && unshare(CLONE_NEWNS) < 0) { in FIXTURE_SETUP() 176 if (self->nsfds[PIDFD_NS_CGROUP] >= 0 && unshare(CLONE_NEWCGROUP) < 0) { in FIXTURE_SETUP() 180 if (self->nsfds[PIDFD_NS_IPC] >= 0 && unshare(CLONE_NEWIPC) < 0) { in FIXTURE_SETUP() 184 if (self->nsfds[PIDFD_NS_UTS] >= 0 && unshare(CLONE_NEWUTS) < 0) { in FIXTURE_SETUP() 188 if (self->nsfds[PIDFD_NS_NET] >= 0 && unshare(CLONE_NEWNET) < 0) { in FIXTURE_SETUP() 226 if (self->nsfds[PIDFD_NS_MNT] >= 0 && unshare(CLONE_NEWNS) < 0) { in FIXTURE_SETUP() 230 if (self->nsfds[PIDFD_NS_CGROUP] >= 0 && unshare(CLONE_NEWCGROUP) < 0) { in FIXTURE_SETUP() [all …]
|
| /linux/tools/testing/selftests/namespaces/ |
| H A D | listns_permissions_test.c | 65 if (unshare(CLONE_NEWNET) < 0) { in TEST() 187 unshare(CLONE_NEWNET); in TEST() 188 unshare(CLONE_NEWUTS); in TEST() 189 unshare(CLONE_NEWIPC); in TEST() 265 if (unshare(CLONE_NEWNET) < 0) { in TEST() 408 if (unshare(CLONE_NEWNET) < 0) { in TEST() 413 if (unshare(CLONE_NEWUTS) < 0) { in TEST() 514 if (unshare(CLONE_NEWNET) < 0) { in TEST()
|
| H A D | file_handle_test.c | 472 ret = unshare(CLONE_NEWUSER); in TEST() 506 ret = unshare(CLONE_NEWNET); in TEST() 601 ret = unshare(CLONE_NEWUSER); in TEST() 635 ret = unshare(CLONE_NEWUTS); in TEST() 730 ret = unshare(CLONE_NEWUSER); in TEST() 764 ret = unshare(CLONE_NEWIPC); in TEST() 859 ret = unshare(CLONE_NEWUSER); in TEST() 893 ret = unshare(CLONE_NEWNS); in TEST() 991 ret = unshare(CLONE_NEWUSER); in TEST() 1025 ret = unshare(CLONE_NEWCGROUP); in TEST() [all …]
|
| H A D | nsid_test.c | 93 ret = unshare(CLONE_NEWNS); in TEST_F() 199 ret = unshare(CLONE_NEWCGROUP); in TEST_F() 305 ret = unshare(CLONE_NEWIPC); in TEST_F() 411 ret = unshare(CLONE_NEWUTS); in TEST_F() 517 ret = unshare(CLONE_NEWUSER); in TEST_F() 629 ret = unshare(CLONE_NEWTIME); in TEST_F() 750 ret = unshare(CLONE_NEWPID); in TEST_F() 902 ret = unshare(CLONE_NEWNET); in TEST_F()
|
| H A D | stress_test.c | 248 if (unshare(CLONE_NEWNET) < 0) in TEST() 250 if (unshare(CLONE_NEWUTS) < 0) in TEST() 252 if (unshare(CLONE_NEWIPC) < 0) in TEST() 600 if (unshare(CLONE_NEWNET) < 0) in TEST() 602 if (unshare(CLONE_NEWUTS) < 0) in TEST()
|
| H A D | ns_active_ref_test.c | 109 ret = unshare(CLONE_NEWNET); in TEST() 193 ret = unshare(CLONE_NEWNET); in TEST() 311 ret = unshare(CLONE_NEWUSER); in TEST() 401 ret = unshare(CLONE_NEWPID); in TEST() 492 ret = unshare(CLONE_NEWNET); in TEST() 865 ret = unshare(CLONE_NEWNS); in TEST() 879 ret = unshare(CLONE_NEWNET); in TEST() 1174 if (unshare(CLONE_NEWNET) < 0) { in TEST() 1324 if (unshare(CLONE_NEWNET) < 0) { in TEST() 1342 if (unshare(CLONE_NEWUTS) < 0) { in TEST() [all …]
|
| /linux/tools/testing/selftests/pid_namespace/ |
| H A D | regression_enomem.c | 27 EXPECT_EQ(0, unshare(CLONE_NEWUSER)); in TEST() 29 EXPECT_EQ(0, unshare(CLONE_NEWPID)); in TEST()
|
| /linux/tools/testing/selftests/net/packetdrill/ |
| H A D | ksft_runner.sh | 58 unshare -n packetdrill ${ip_args[$ip_version]} ${optargs[@]} $script > /dev/null \
|
| /linux/tools/testing/selftests/proc/ |
| H A D | setns-dcache.c | 54 if (unshare(CLONE_NEWNET) == -1) { in main() 75 if (unshare(CLONE_NEWNET) == -1) { in main()
|
| H A D | setns-sysvipc.c | 53 if (unshare(CLONE_NEWIPC) == -1) { in main() 74 if (unshare(CLONE_NEWIPC) == -1) { in main()
|
| H A D | proc-net-dev-lseek.c | 33 if (unshare(CLONE_NEWNET) == -1) { in main()
|
| H A D | proc-pidns.c | 53 ASSERT_SUCCESS(unshare(CLONE_NEWNS)); in FIXTURE_SETUP() 72 ASSERT_SUCCESS(unshare(CLONE_NEWPID)); in FIXTURE_SETUP()
|
| /linux/tools/testing/selftests/mount/ |
| H A D | unprivileged-remount-test.c | 162 if (unshare(CLONE_NEWUSER) !=0) { in create_and_enter_userns() 211 if (unshare(CLONE_NEWNS) != 0) { in test_unpriv_remount() 225 if (unshare(CLONE_NEWNS) != 0) { in test_unpriv_remount() 291 ret = unshare(CLONE_NEWNS); in test_priv_mount_unpriv_remount()
|
| H A D | nosymfollow-test.c | 99 if (unshare(CLONE_NEWUSER) != 0) in create_and_enter_ns() 111 if (unshare(CLONE_NEWNS) != 0) in create_and_enter_ns()
|
| /linux/tools/testing/selftests/filesystems/nsfs/ |
| H A D | owner.c | 42 if (unshare(CLONE_NEWUTS | CLONE_NEWUSER)) in main() 81 if (unshare(CLONE_NEWUSER)) in main()
|
| H A D | iterate_mntns.c | 49 ASSERT_EQ(unshare(CLONE_NEWUSER), 0); in FIXTURE_SETUP() 54 ASSERT_EQ(unshare(CLONE_NEWNS), 0); in FIXTURE_SETUP()
|
| /linux/tools/testing/selftests/uevent/ |
| H A D | uevent_filtering.c | 129 ret = unshare(CLONE_NEWUSER); in uevent_listener() 139 ret = unshare(CLONE_NEWNET); in uevent_listener() 276 ret = unshare(CLONE_NEWUSER); in do_test() 286 ret = unshare(CLONE_NEWNET); in do_test()
|
| /linux/tools/testing/selftests/filesystems/overlayfs/ |
| H A D | set_layers_via_fds.c | 54 ASSERT_EQ(unshare(CLONE_NEWNS), 0); in TEST_F() 171 ASSERT_EQ(unshare(CLONE_NEWNS), 0); in TEST_F() 238 ASSERT_EQ(unshare(CLONE_NEWNS), 0); in TEST_F() 383 ASSERT_EQ(unshare(CLONE_NEWNS), 0); in TEST_F() 457 ASSERT_EQ(unshare(CLONE_NEWNS), 0); in TEST_F() 534 ASSERT_EQ(unshare(CLONE_NEWNS), 0); in TEST_F() 603 ASSERT_EQ(unshare(CLONE_NEWNS), 0); in TEST_F()
|
| /linux/tools/include/nolibc/ |
| H A D | sched.h | 45 int unshare(int flags) in unshare() function
|
| /linux/tools/testing/selftests/exec/ |
| H A D | recursion-depth.c | 35 if (unshare(CLONE_NEWNS) == -1) { in main()
|
| /linux/tools/testing/selftests/tmpfs/ |
| H A D | bug-link-o-tmpfile.c | 42 if (unshare(CLONE_NEWNS) == -1) { in main()
|
| /linux/tools/testing/selftests/move_mount_set_group/ |
| H A D | move_mount_set_group_test.c | 85 if (unshare(CLONE_NEWUSER)) in create_and_enter_userns() 115 if (unshare(CLONE_NEWNS)) in prepare_unpriv_mountns()
|
| /linux/tools/testing/selftests/net/netfilter/ |
| H A D | nf_conntrack_packetdrill.sh | 47 timeout "$PDRILL_TIMEOUT" unshare -n packetdrill --ip_version="$ipver" --mtu=$mtu \
|