Defined in 2 files as a function:
- include/linux/user_namespace.h, line 190 (as a function)
- include/linux/user_namespace.h, line 230 (as a function)
Referenced in 30 files:
- fs/binfmt_misc.c
- fs/binfmt_misc_bpf.c
- fs/exec.c
- fs/fs_context.c, line 502
- fs/fuse/inode.c, line 996
- fs/namespace.c
- fs/nfs/nfs4idmap.c
- fs/nfsd/nfsctl.c, line 1362
- fs/notify/fanotify/fanotify.c, line 1020
- fs/proc/base.c
- fs/proc/root.c
- fs/resctrl/rdtgroup.c, line 3395
- fs/super.c, line 299
- fs/sysfs/mount.c, line 63
- ipc/mqueue.c
- ipc/namespace.c
- kernel/bpf/token.c, line 38
- kernel/cgroup/cgroup.c, line 2362
- kernel/cgroup/namespace.c, line 41
- kernel/cred.c, line 61
- kernel/exec_state.c, line 19
- kernel/nsproxy.c, line 521
- kernel/nstree.c, line 417
- kernel/pid_namespace.c, line 145
- kernel/time/namespace.c, line 149
- kernel/ucount.c, line 201
- kernel/user_namespace.c
- kernel/utsname.c, line 100
- net/core/net_namespace.c
- net/sunrpc/rpc_pipe.c, line 1182
Smatch caller information:
ipc/namespace.c create_ipc_ns() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | ns | r get_user_ns |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock |
ipc/namespace.c free_ipc_ns() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
net/core/net_namespace.c cleanup_net() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
net/core/net_namespace.c copy_net_ns() -> put_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 put_fs_context() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fc->root->d_lockref.lock | ||
| HALF_LOCKED2 | &sb->s_umount |
kernel/cgroup/namespace.c free_cgroup_ns() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/super.c destroy_super_work() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/nfs/nfs4idmap.c nfs_idmap_delete() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/nfs/nfs4idmap.c nfs_idmap_new() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | ns | r get_user_ns |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/proc/base.c proc_id_map_open() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ns | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/proc/base.c proc_id_map_release() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | ns | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | ns | s32min-(-2),1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | ns | unit_array_size |
fs/proc/base.c proc_setgroups_open() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ns | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/proc/base.c proc_setgroups_release() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | ns | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | ns | s32min-(-2),1-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | ns | unit_array_size |
kernel/exec_state.c __free_task_exec_state() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu |
fs/nfsd/nfsctl.c nfsd_init_fs_context() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
kernel/ucount.c put_ucounts() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
kernel/nstree.c __free_klistns_free() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ns | 0 |
| NOCHECK_CALL |
fs/proc/root.c proc_init_fs_context() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
fs/proc/root.c proc_parse_pidns_param() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NS_CAPABLE | 0 | 21 | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
kernel/nsproxy.c validate_nsset() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ns | 0,4096-ptr_max |
| PARAM_VALUE | 0 | ns->ns.ops | 4096-ptr_max |
| PARAM_VALUE | 0 | ns->ns.ops->install | 4096-ptr_max |
| NOCHECK_CALL |
fs/resctrl/rdtgroup.c rdt_init_fs_context() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
kernel/time/namespace.c free_time_ns() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/sysfs/mount.c sysfs_init_fs_context() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
kernel/pid_namespace.c delayed_free_pidns() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu |
net/sunrpc/rpc_pipe.c rpc_init_fs_context() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
fs/namespace.c finish_mount_kattr() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ns | 1-u64max |
| NOCHECK_CALL |
fs/namespace.c mnt_ns_release() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
kernel/cgroup/cgroup.c cgroup_init_fs_context() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
fs/notify/fanotify/fanotify.c fanotify_free_group_priv() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | global &nfsd_mutex |
kernel/user_namespace.c userns_install() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NS_CAPABLE | 0 | 21 | |
| NOCHECK_CALL |
kernel/user_namespace.c userns_put() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ns | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &task->signal->exec_update_lock |
fs/fuse/inode.c delayed_release() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu |
kernel/cred.c put_cred_rcu() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu |
fs/binfmt_misc.c bm_free() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ns | 1-u64max |
| BUF_SIZE | 0 | ns | (-1),11312 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | ns | unit_byte |
fs/binfmt_misc.c bm_kill_sb() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| BUF_SIZE | 0 | ns | (-1),4608 |
| BUF_SIZE | 0 | ns | (-1),4608 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 0 | ns | unit_byte |
| HALF_LOCKED2 | &s->s_umount | ||
| HALF_LOCKED2 | global &cifs_mount_mutex |
kernel/bpf/token.c bpf_token_free() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
fs/exec.c free_bprm() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ns | 1-u64max |
| NOCHECK_CALL |
fs/exec.c would_dump() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| NOCHECK_CALL | |||
| UNITS | 0 | ns | unit_array_size |
ipc/mqueue.c __do_notify() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| LOCK2 | &info->lock | ||
| TYPE_LOCK | (struct mqueue_inode_info)->lock |
ipc/mqueue.c mq_create_mount() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
ipc/mqueue.c mqueue_init_fs_context() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &fc->uapi_mutex |
ipc/mqueue.c remove_notification() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &info->lock | ||
| TYPE_LOCK | (struct mqueue_inode_info)->lock |
kernel/utsname.c free_uts_ns() -> put_user_ns()
| Type | Parameter | Key | Value |
|---|---|---|---|
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |