| # Copyright 2018 syzkaller project authors. All rights reserved. |
| # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. |
| |
| include <uapi/linux/sched.h> |
| |
| resource fd_namespace[fd] |
| |
| unshare(flags flags[unshare_flags]) |
| setns(fd fd_namespace, type flags[ns_type]) |
| |
| syz_open_procfs$namespace(pid pid, file ptr[in, string[procfs_namespace_file]]) fd_namespace |
| |
| procfs_namespace_file = "ns/cgroup", "ns/ipc", "ns/mnt", "ns/net", "ns/pid", "ns/user", "ns/uts", "ns/pid_for_children" |
| |
| unshare_flags = CLONE_FILES, CLONE_FS, CLONE_NEWCGROUP, CLONE_NEWIPC, CLONE_NEWNET, CLONE_NEWNS, CLONE_NEWPID, CLONE_NEWUSER, CLONE_NEWUTS, CLONE_SYSVSEM, CLONE_THREAD, CLONE_SIGHAND, CLONE_VM |
| ns_type = 0, CLONE_NEWIPC, CLONE_NEWNET, CLONE_NEWUTS, CLONE_NEWCGROUP, CLONE_NEWNS, CLONE_NEWPID, CLONE_NEWUSER |