Defined in 2 files as a function:
- include/linux/user_namespace.h, line 179 (as a function)
- include/linux/user_namespace.h, line 212 (as a function)
Referenced in 30 files:
- fs/binfmt_misc.c, line 1639
- fs/binfmt_misc_bpf.c, line 382
- fs/exec.c
- fs/fs_context.c
- fs/fuse/inode.c, line 973
- fs/namespace.c
- fs/nfs/nfs4idmap.c, line 453
- fs/nfsd/nfsctl.c, line 1363
- fs/notify/fanotify/fanotify_user.c, line 1686
- fs/proc/base.c
- fs/proc/root.c
- fs/resctrl/rdtgroup.c, line 3396
- fs/super.c, line 347
- fs/sysfs/mount.c, line 64
- ipc/mqueue.c
- ipc/namespace.c, line 70
- kernel/bpf/token.c, line 192
- kernel/cgroup/cgroup.c
- kernel/cgroup/namespace.c, line 84
- kernel/cred.c
- kernel/exec_state.c, line 38
- kernel/nsproxy.c, line 444
- kernel/pid_namespace.c, line 117
- kernel/time/namespace.c, line 107
- kernel/ucount.c, line 187
- kernel/user_namespace.c
- kernel/utsname.c, line 60
- net/core/net_namespace.c, line 577
- net/sunrpc/rpc_pipe.c, line 1183
- security/keys/process_keys.c, line 938
Smatch caller information:
ipc/namespace.c create_ipc_ns() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | ns | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock |
net/core/net_namespace.c copy_net_ns() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | ns | $1 [m] |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock |
fs/fs_context.c alloc_fs_context() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/fs_context.c alloc_fs_context() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &reference->d_lockref.lock |
fs/fs_context.c alloc_fs_context() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &sb->s_umount |
fs/fs_context.c vfs_dup_fs_context() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
kernel/cgroup/namespace.c copy_cgroup_ns() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | ns | $1 |
| NS_CAPABLE | 0 | 21 | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock |
fs/super.c alloc_super() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | ns | (-1),1088 |
| BUF_SIZE | 0 | ns | (-1),1088 |
| DATA_SOURCE | 0 | ns | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | global &cifs_mount_mutex |
fs/nfs/nfs4idmap.c nfs_idmap_new() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/proc/base.c proc_id_map_open() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/proc/base.c proc_setgroups_open() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/exec_state.c alloc_task_exec_state() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | ns | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/nfsd/nfsctl.c nfsd_init_fs_context() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
kernel/ucount.c alloc_ucounts() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | ns | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | global &ucounts_lock | ||
| LOCK2 | irq |
fs/proc/root.c proc_init_fs_context() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
fs/proc/root.c proc_parse_pidns_param() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NS_CAPABLE | 0 | 21 | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
kernel/nsproxy.c validate_nsset() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| LOCK2 | rcu_read |
fs/resctrl/rdtgroup.c rdt_init_fs_context() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ns | 251279612184977408 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
kernel/time/namespace.c clone_time_ns() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | ns | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock |
fs/sysfs/mount.c sysfs_init_fs_context() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
kernel/pid_namespace.c create_pid_namespace() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | ns | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock |
net/sunrpc/rpc_pipe.c rpc_init_fs_context() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
fs/namespace.c alloc_mnt_ns() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | ns | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
fs/namespace.c build_mount_idmapped() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ns | 4096-251279612184977407,251279612184977409-ptr_max |
| NS_CAPABLE | 0 | 21 |
kernel/cgroup/cgroup.c cgroup_init() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL |
kernel/cgroup/cgroup.c cgroup_init_fs_context() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
kernel/user_namespace.c ns_get_owner() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ns | 1-u64max |
| HALF_LOCKED2 | global &rtnl_mutex |
kernel/user_namespace.c userns_get() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &task->signal->exec_update_lock |
kernel/user_namespace.c userns_install() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ns | 4096-ptr_max |
| DATA_SOURCE | 0 | ns | r to_user_ns |
| NS_CAPABLE | 0 | 21 |
fs/fuse/inode.c fuse_conn_init() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | ns | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING |
kernel/cred.c prepare_creds() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &cache->daemon_mutex | ||
| HALF_LOCKED2 | global &event_mutex |
kernel/cred.c prepare_kernel_cred() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &cache->daemon_mutex | ||
| HALF_LOCKED2 | &pool->lock |
fs/notify/fanotify/fanotify_user.c __do_sys_fanotify_init() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|
fs/notify/fanotify/fanotify_user.c __do_sys_fanotify_init() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|
security/keys/process_keys.c key_change_session_keyring() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu |
fs/binfmt_misc.c bm_get_tree() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
kernel/bpf/token.c bpf_token_create() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NS_CAPABLE | 0 | 39 | |
| NOCHECK_CALL |
fs/exec.c bprm_mm_init() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|
fs/exec.c would_dump() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ns | 4096-ptr_max |
| UNITS | 0 | ns | unit_array_size |
ipc/mqueue.c do_mq_notify() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | &info->lock | ||
| TYPE_LOCK | (struct mqueue_inode_info)->lock |
ipc/mqueue.c mq_create_mount() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING |
ipc/mqueue.c mqueue_init_fs_context() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
kernel/utsname.c clone_uts_ns() -> get_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | ns | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | global &uts_sem | ||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock |