Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

kernel/fork.c ksys_unshare() -> switch_task_namespaces()

Type Parameter Key Value
PARAM_VALUE 1 new 4096-ptr_max
PARAM_VALUE 1 new->count.refs.counter 1
PARAM_VALUE 1 new->mnt_ns->is_anon 0-1
PARAM_VALUE 1 new->mnt_ns->ns.__ns_ref.refs.counter s32min-s32max
NOCHECK_CALL

kernel/nsproxy.c commit_nsset() -> switch_task_namespaces()

Type Parameter Key Value
PARAM_VALUE 0 p->mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 p->mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 1 new 4096-ptr_max
DATA_SOURCE 0 p r get_current
NOCHECK_CALL

kernel/nsproxy.c exec_task_namespaces() -> switch_task_namespaces()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->fs->pwd.dentry 0,4096-ptr_max
PARAM_VALUE 0 p->fs->pwd.mnt 4096-ptr_max
PARAM_VALUE 0 p->fs->root.dentry 0,4096-ptr_max
PARAM_VALUE 0 p->fs->root.mnt 4096-ptr_max
PARAM_VALUE 0 p->mm->mmap_lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 p->mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 p->nsproxy 4096-ptr_max
PARAM_VALUE 0 p->nsproxy->cgroup_ns 1-u64max
PARAM_VALUE 0 p->nsproxy->mnt_ns 1-u64max
PARAM_VALUE 0 p->nsproxy->mnt_ns->ns.__ns_ref.refs.counter s32min-s32max
PARAM_VALUE 0 p->nsproxy->mnt_ns->root->mnt.mnt_flags s32min-s32max
PARAM_VALUE 0 p->nsproxy->mnt_ns->root->mnt_expiry_mark s32min-s32max
PARAM_VALUE 0 p->nsproxy->mnt_ns->root->mnt_fsnotify_mask 0-4294967295
PARAM_VALUE 0 p->nsproxy->mnt_ns->root->mnt_group_id s32min-s32max
PARAM_VALUE 0 p->nsproxy->mnt_ns->root->mnt_id s32min-s32max
PARAM_VALUE 0 p->nsproxy->mnt_ns->root->mnt_t_flags s32min-s32max
PARAM_VALUE 0 p->nsproxy->uts_ns 1-u64max
PARAM_VALUE 0 p->nsproxy->uts_ns->ns.ns_owner_node.ns_list_entry.next->prev 4096-ptr_max
PARAM_VALUE 0 p->nsproxy->uts_ns->ns.ns_owner_node.ns_list_entry.prev->next 4096-ptr_max
PARAM_VALUE 0 p->nsproxy->uts_ns->ns.ns_tree_node.ns_list_entry.next->prev 4096-ptr_max
PARAM_VALUE 0 p->nsproxy->uts_ns->ns.ns_tree_node.ns_list_entry.prev->next 4096-ptr_max
PARAM_VALUE 0 p->nsproxy->uts_ns->ns.ns_unified_node.ns_list_entry.next->prev 4096-ptr_max
PARAM_VALUE 0 p->nsproxy->uts_ns->ns.ns_unified_node.ns_list_entry.prev->next 4096-ptr_max
PARAM_VALUE 0 p->nsproxy->uts_ns->ucounts->ns->work.entry.next 4096-ptr_max
PARAM_VALUE 0 p->nsproxy->uts_ns->ucounts->ns->work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 p->nsproxy->uts_ns->user_ns->work.entry.next->prev 4096-ptr_max
PARAM_VALUE 1 new 4096-ptr_max
PARAM_VALUE 1 new->cgroup_ns 1-ptr_max
PARAM_VALUE 1 new->count.refs.counter 1
PARAM_VALUE 1 new->ipc_ns 0-ptr_max
PARAM_VALUE 1 new->mnt_ns 1-ptr_max
PARAM_VALUE 1 new->mnt_ns->ns.__ns_ref.refs.counter s32min-s32max
PARAM_VALUE 1 new->net_ns 0-ptr_max
PARAM_VALUE 1 new->pid_ns_for_children 0-ptr_max
PARAM_VALUE 1 new->time_ns 0-ptr_max
PARAM_VALUE 1 new->time_ns_for_children 0-ptr_max
PARAM_VALUE 1 new->uts_ns 1-ptr_max
CAPPED_DATA 1 new->time_ns 1
CAPPED_DATA 1 new->time_ns_for_children 1
DATA_SOURCE 0 p r get_current
PARAM_COMPARE 0 p->nsproxy->time_ns != $0->nsproxy->time_ns_for_children
NOCHECK_CALL
LOCK2 &tsk->signal->exec_update_lock

kernel/nsproxy.c exit_nsproxy_namespaces() -> switch_task_namespaces()

Type Parameter Key Value
PARAM_VALUE 0 p 4096-ptr_max
PARAM_VALUE 0 p->alloc_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 p->audit_context 0
PARAM_VALUE 0 p->files 0
PARAM_VALUE 0 p->flags 0,4-u32max
PARAM_VALUE 0 p->fs 0
PARAM_VALUE 0 p->kcov 0,4096-ptr_max
PARAM_VALUE 0 p->kcov->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 p->perf_ctx_data->callback_head.func 1-u64max
PARAM_VALUE 0 p->perf_ctx_data->callback_head.next 0
PARAM_VALUE 0 p->perf_event_ctxp 0
PARAM_VALUE 0 p->perf_event_mutex.dep_map->name 0-255
PARAM_VALUE 0 p->perf_event_mutex.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 p->perf_event_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 p->perf_event_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 p->perf_event_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 p->perf_event_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 p->perf_event_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 p->perf_event_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 p->perf_event_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 p->perf_event_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 p->rcu.func 1-u64max
PARAM_VALUE 0 p->rcu.next 0
PARAM_VALUE 0 p->real_fs 0
PARAM_VALUE 0 p->sighand 4096-ptr_max
PARAM_VALUE 0 p->sighand->siglock.rlock.dep_map->name 0-255
PARAM_VALUE 0 p->signal 4096-ptr_max
PARAM_VALUE 0 p->signal->cgroup_threadgroup_rwsem.dep_map->name 0-255
PARAM_VALUE 0 p->signal->cgroup_threadgroup_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 p->signal->cgroup_threadgroup_rwsem.first_waiter->list.next 2212933610777083904
PARAM_VALUE 0 p->signal->cgroup_threadgroup_rwsem.first_waiter->list.prev 2212933610777083904
PARAM_VALUE 0 p->signal->cgroup_threadgroup_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 p->signal->core_state->startup.wait.lock.dep_map->name 0-255
PARAM_VALUE 0 p->signal->core_state->startup.wait.lock.owner (-1)
PARAM_VALUE 0 p->signal->core_state->startup.wait.lock.owner_cpu u32max
PARAM_VALUE 0 p->signal->flags 4
PARAM_VALUE 0 p->signal->group_stop_count 0
PARAM_VALUE 0 p->sysvsem.undo_list 0
PARAM_VALUE 0 p->sysvsem.undo_list->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 p->user_event_mm 0
PARAM_VALUE 0 p->user_event_mm->mm->mmap_lock.dep_map->name 0-255
PARAM_VALUE 0 p->user_event_mm->mm->mmap_lock.first_waiter->handoff_set 1
PARAM_VALUE 0 p->user_event_mm->mm->mmap_lock.first_waiter->list.next 2624917664208203776
PARAM_VALUE 0 p->user_event_mm->mm->mmap_lock.first_waiter->list.prev 2624917664208203776
PARAM_VALUE 0 p->user_event_mm->mm->mmap_lock.first_waiter->type 0-1
PARAM_VALUE 0 p->user_event_mm->mm->mmap_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 p->user_event_mm->put_rwork.rcu.next 0
PARAM_VALUE 0 *p->perf_ctx_data->global s32min-s32max
PARAM_VALUE 1 new 0
CAPPED_DATA 0 p 1
DATA_SOURCE 0 p $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 p->exit_code 0,256-65280[c]
USER_DATA 0 p->signal->group_exit_code 0,256-65280[c]
HALF_LOCKED2 global &system_transition_mutex