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 |