Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 10 files:

Smatch caller information:

ipc/util.c sysvipc_proc_release() -> put_pid_ns()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/proc/root.c proc_apply_options() -> put_pid_ns()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fc->uapi_mutex

fs/proc/root.c proc_fs_context_free() -> put_pid_ns()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/proc/root.c proc_kill_sb() -> put_pid_ns()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &s->s_umount
HALF_LOCKED2 global &cifs_mount_mutex

fs/proc/root.c proc_parse_pidns_param() -> put_pid_ns()

Type Parameter Key Value
NS_CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &fc->uapi_mutex

kernel/nsproxy.c create_new_namespaces() -> put_pid_ns()

Type Parameter Key Value
PARAM_VALUE 0 ns 0-ptr_max
DATA_SOURCE 0 ns r copy_pid_ns
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &tsk->signal->exec_update_lock

kernel/nsproxy.c nsproxy_free() -> put_pid_ns()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/nsproxy.c validate_nsset() -> put_pid_ns()

Type Parameter Key Value
PARAM_VALUE 0 ns 1-u64max
NOCHECK_CALL

kernel/pid_namespace.c pidns_install() -> put_pid_ns()

Type Parameter Key Value
NS_CAPABLE 0 21
NOCHECK_CALL

kernel/pid_namespace.c pidns_put() -> put_pid_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

kernel/pid.c alloc_pid() -> put_pid_ns()

Type Parameter Key Value
PARAM_VALUE 0 ns 4096-ptr_max
PARAM_VALUE 0 ns->pid_cachep->object_size 0-4294967295
CAPPED_DATA 0 ns->pid_cachep 1
DATA_SOURCE 0 ns $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/pid.c put_pid() -> put_pid_ns()

Type Parameter Key Value
PARAM_VALUE 0 ns 4096-ptr_max
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &cdl->lock
HALF_LOCKED2 &dev->event_lock
HALF_LOCKED2 &f_owner->lock
HALF_LOCKED2 &info->lock
HALF_LOCKED2 &kvm->lock
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &p->mutex
HALF_LOCKED2 &p->sighand->siglock
HALF_LOCKED2 &real_tty->ctrl.lock
HALF_LOCKED2 &sbi->wq_mutex
HALF_LOCKED2 &seq->lock
HALF_LOCKED2 &task->signal->exec_update_lock
HALF_LOCKED2 &tty->ctrl.lock
HALF_LOCKED2 &tty->legacy_mutex
HALF_LOCKED2 &vcpu->mutex
HALF_LOCKED2 _T->flags
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags
HALF_LOCKED2 global &console_sem
HALF_LOCKED2 global &kbd_event_lock
HALF_LOCKED2 global &tasklist_lock
HALF_LOCKED2 global &vt_spawn_con.lock
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

kernel/cgroup/cgroup-v1.c cgroup_pidlist_destroy_work_fn() -> put_pid_ns()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 &l->owner->pidlist_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct cgroup)->pidlist_mutex

kernel/events/core.c free_event_rcu() -> put_pid_ns()

Type Parameter Key Value
PARAM_VALUE 0 ns 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

kernel/bpf/task_iter.c fini_seq_pidns() -> put_pid_ns()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/fuse/inode.c fuse_conn_put() -> put_pid_ns()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL