| /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/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/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-loadavg-001.c | 30 if (unshare(CLONE_NEWPID) == -1) { in main()
|
| /linux/tools/testing/selftests/namespaces/ |
| 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 | 74 ret = unshare(CLONE_NEWNS); in TEST() 183 ret = unshare(CLONE_NEWCGROUP); in TEST() 292 ret = unshare(CLONE_NEWIPC); in TEST() 401 ret = unshare(CLONE_NEWUTS); in TEST() 510 ret = unshare(CLONE_NEWUSER); in TEST() 625 ret = unshare(CLONE_NEWTIME); in TEST() 749 ret = unshare(CLONE_NEWPID); in TEST() 904 ret = unshare(CLONE_NEWNET); in TEST()
|
| /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/net/netfilter/ |
| H A D | conntrack_dump_flush.sh | 3 exec unshare -n ./conntrack_dump_flush
|
| H A D | nf_conntrack_packetdrill.sh | 47 timeout "$PDRILL_TIMEOUT" unshare -n packetdrill --ip_version="$ipver" --mtu=$mtu \
|
| /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/net/packetdrill/ |
| H A D | ksft_runner.sh | 58 unshare -n packetdrill ${ip_args[$ip_version]} ${optargs[@]} $script > /dev/null \
|
| /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/exec/ |
| H A D | recursion-depth.c | 35 if (unshare(CLONE_NEWNS) == -1) { in main()
|
| /linux/tools/testing/selftests/net/ |
| H A D | so_netns_cookie.c | 41 if (unshare(CLONE_NEWNET)) in main()
|
| /linux/Documentation/translations/zh_CN/userspace-api/ |
| H A D | index.rst | 34 * unshare
|
| /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()
|