Lines Matching refs:unshare_flags
3195 static int check_unshare_flags(unsigned long unshare_flags)
3197 if (unshare_flags & ~(CLONE_THREAD|CLONE_FS|CLONE_NEWNS|CLONE_SIGHAND|
3209 if (unshare_flags & (CLONE_THREAD | CLONE_SIGHAND | CLONE_VM)) {
3213 if (unshare_flags & (CLONE_SIGHAND | CLONE_VM)) {
3217 if (unshare_flags & CLONE_VM) {
3228 static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp)
3232 if (!(unshare_flags & CLONE_FS) || !fs)
3249 int unshare_fd(unsigned long unshare_flags, unsigned int max_fds,
3255 if ((unshare_flags & CLONE_FILES) &&
3273 int ksys_unshare(unsigned long unshare_flags)
3286 if (unshare_flags & CLONE_NEWUSER)
3287 unshare_flags |= CLONE_THREAD | CLONE_FS;
3291 if (unshare_flags & CLONE_VM)
3292 unshare_flags |= CLONE_SIGHAND;
3296 if (unshare_flags & CLONE_SIGHAND)
3297 unshare_flags |= CLONE_THREAD;
3301 if (unshare_flags & CLONE_NEWNS)
3302 unshare_flags |= CLONE_FS;
3304 err = check_unshare_flags(unshare_flags);
3312 if (unshare_flags & (CLONE_NEWIPC|CLONE_SYSVSEM))
3314 err = unshare_fs(unshare_flags, &new_fs);
3317 err = unshare_fd(unshare_flags, NR_OPEN_MAX, &new_fd);
3320 err = unshare_userns(unshare_flags, &new_cred);
3323 err = unshare_nsproxy_namespaces(unshare_flags, &new_nsproxy,
3341 if (unshare_flags & CLONE_NEWIPC) {
3392 SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
3394 return ksys_unshare(unshare_flags);