Lines Matching defs:unshare_flags

3176 static int check_unshare_flags(unsigned long unshare_flags)
3178 if (unshare_flags & ~(CLONE_THREAD|CLONE_FS|CLONE_SIGHAND|
3188 if (unshare_flags & (CLONE_THREAD | CLONE_SIGHAND | CLONE_VM)) {
3192 if (unshare_flags & (CLONE_SIGHAND | CLONE_VM)) {
3196 if (unshare_flags & CLONE_VM) {
3207 static int unshare_fs(unsigned long unshare_flags, struct fs_struct **new_fsp)
3211 if (!(unshare_flags & CLONE_FS) || !fs)
3215 if (!(unshare_flags & CLONE_NEWNS) && fs->users == 1)
3228 static int unshare_fd(unsigned long unshare_flags, struct files_struct **new_fdp)
3232 if ((unshare_flags & CLONE_FILES) &&
3251 int ksys_unshare(unsigned long unshare_flags)
3264 if (unshare_flags & CLONE_NEWUSER)
3265 unshare_flags |= CLONE_THREAD | CLONE_FS;
3269 if (unshare_flags & CLONE_VM)
3270 unshare_flags |= CLONE_SIGHAND;
3274 if (unshare_flags & CLONE_SIGHAND)
3275 unshare_flags |= CLONE_THREAD;
3279 if (unshare_flags & UNSHARE_EMPTY_MNTNS)
3280 unshare_flags |= CLONE_NEWNS;
3281 if (unshare_flags & CLONE_NEWNS)
3282 unshare_flags |= CLONE_FS;
3285 VFS_WARN_ON_ONCE(unshare_flags & (CLONE_NEWNS | CLONE_FS) &&
3288 err = check_unshare_flags(unshare_flags);
3296 if (unshare_flags & (CLONE_NEWIPC|CLONE_SYSVSEM))
3298 err = unshare_fs(unshare_flags, &new_fs);
3301 err = unshare_fd(unshare_flags, &new_fd);
3304 err = unshare_userns(unshare_flags, &new_cred);
3307 err = unshare_nsproxy_namespaces(unshare_flags, &new_nsproxy,
3324 if (unshare_flags & CLONE_NEWIPC) {
3373 SYSCALL_DEFINE1(unshare, unsigned long, unshare_flags)
3375 return ksys_unshare(unshare_flags);