Lines Matching refs:unshare_flags

3077 static int check_unshare_flags(unsigned long unshare_flags)  in check_unshare_flags()  argument
3079 if (unshare_flags & ~(CLONE_THREAD|CLONE_FS|CLONE_NEWNS|CLONE_SIGHAND| in check_unshare_flags()
3091 if (unshare_flags & (CLONE_THREAD | CLONE_SIGHAND | CLONE_VM)) { in check_unshare_flags()
3095 if (unshare_flags & (CLONE_SIGHAND | CLONE_VM)) { in check_unshare_flags()
3099 if (unshare_flags & CLONE_VM) { in check_unshare_flags()
3110 static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp) in unshare_fs() argument
3114 if (!(unshare_flags & CLONE_FS) || !fs) in unshare_fs()
3131 int unshare_fd(unsigned long unshare_flags, unsigned int max_fds, in unshare_fd() argument
3137 if ((unshare_flags & CLONE_FILES) && in unshare_fd()
3155 int ksys_unshare(unsigned long unshare_flags) in ksys_unshare() argument
3168 if (unshare_flags & CLONE_NEWUSER) in ksys_unshare()
3169 unshare_flags |= CLONE_THREAD | CLONE_FS; in ksys_unshare()
3173 if (unshare_flags & CLONE_VM) in ksys_unshare()
3174 unshare_flags |= CLONE_SIGHAND; in ksys_unshare()
3178 if (unshare_flags & CLONE_SIGHAND) in ksys_unshare()
3179 unshare_flags |= CLONE_THREAD; in ksys_unshare()
3183 if (unshare_flags & CLONE_NEWNS) in ksys_unshare()
3184 unshare_flags |= CLONE_FS; in ksys_unshare()
3186 err = check_unshare_flags(unshare_flags); in ksys_unshare()
3194 if (unshare_flags & (CLONE_NEWIPC|CLONE_SYSVSEM)) in ksys_unshare()
3196 err = unshare_fs(unshare_flags, &new_fs); in ksys_unshare()
3199 err = unshare_fd(unshare_flags, NR_OPEN_MAX, &new_fd); in ksys_unshare()
3202 err = unshare_userns(unshare_flags, &new_cred); in ksys_unshare()
3205 err = unshare_nsproxy_namespaces(unshare_flags, &new_nsproxy, in ksys_unshare()
3223 if (unshare_flags & CLONE_NEWIPC) { in ksys_unshare()
3274 SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags) in SYSCALL_DEFINE1() argument
3276 return ksys_unshare(unshare_flags); in SYSCALL_DEFINE1()