Lines Matching refs:unshare_flags
2900 static int check_unshare_flags(unsigned long unshare_flags)
2902 if (unshare_flags & ~(CLONE_THREAD|CLONE_FS|CLONE_NEWNS|CLONE_SIGHAND|
2914 if (unshare_flags & (CLONE_THREAD | CLONE_SIGHAND | CLONE_VM)) {
2918 if (unshare_flags & (CLONE_SIGHAND | CLONE_VM)) {
2922 if (unshare_flags & CLONE_VM) {
2933 static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp)
2937 if (!(unshare_flags & CLONE_FS) || !fs)
2954 int unshare_fd(unsigned long unshare_flags, unsigned int max_fds,
2960 if ((unshare_flags & CLONE_FILES) &&
2978 int ksys_unshare(unsigned long unshare_flags)
2991 if (unshare_flags & CLONE_NEWUSER)
2992 unshare_flags |= CLONE_THREAD | CLONE_FS;
2996 if (unshare_flags & CLONE_VM)
2997 unshare_flags |= CLONE_SIGHAND;
3001 if (unshare_flags & CLONE_SIGHAND)
3002 unshare_flags |= CLONE_THREAD;
3006 if (unshare_flags & CLONE_NEWNS)
3007 unshare_flags |= CLONE_FS;
3009 err = check_unshare_flags(unshare_flags);
3017 if (unshare_flags & (CLONE_NEWIPC|CLONE_SYSVSEM))
3019 err = unshare_fs(unshare_flags, &new_fs);
3022 err = unshare_fd(unshare_flags, NR_OPEN_MAX, &new_fd);
3025 err = unshare_userns(unshare_flags, &new_cred);
3028 err = unshare_nsproxy_namespaces(unshare_flags, &new_nsproxy,
3040 if (unshare_flags & CLONE_NEWIPC) {
3094 SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
3096 return ksys_unshare(unshare_flags);