Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 28 files:

Smatch caller information:

kernel/exit.c do_wait_pid() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 1-u64max
PARAM_VALUE 1 type 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &tasklist_lock

kernel/exit.c do_wait_pid() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 4096-ptr_max
PARAM_VALUE 1 type 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &tasklist_lock

fs/proc/proc_net.c get_proc_task_net() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

drivers/gpu/drm/drm_debugfs.c drm_clients_info() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->filelist_mutex
LOCK2 &m->lock
LOCK2 &priv->client_name_lock
LOCK2 rcu_read
TYPE_LOCK (struct drm_device)->filelist_mutex
TYPE_LOCK (struct drm_file)->client_name_lock
TYPE_LOCK (struct seq_file)->lock

drivers/gpu/drm/drm_debugfs.c drm_debugfs_proc_info_show() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
LOCK2 rcu_read
TYPE_LOCK (struct seq_file)->lock

fs/gfs2/glock.c dump_holder() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 0,4096-ptr_max
PARAM_VALUE 1 type 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &gl->gl_lockref.lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &rbm.rgd->rd_mutex
HALF_LOCKED2 &rbm.rgd->rd_rsspin
HALF_LOCKED2 &rgd->rd_mutex
HALF_LOCKED2 &rgd->rd_rsspin
HALF_LOCKED2 &sdp->sd_ail_lock
HALF_LOCKED2 &sdp->sd_freeze_mutex
HALF_LOCKED2 &sdp->sd_log_flush_lock
HALF_LOCKED2 &sdp->sd_log_lock
HALF_LOCKED2 &seq->lock

fs/gfs2/glock.c gfs2_glockfd_next_task() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 1-u64max
PARAM_VALUE 1 type 1
DATA_SOURCE 0 pid r find_ge_pid
RX_PATH
TASK_NOT_RUNNING
LOCK2 &seq->lock
LOCK2 rcu_read
TYPE_LOCK (struct seq_file)->lock

fs/pidfs.c pidfd_poll() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid->wait_pidfd.head.next->next 4096-ptr_max
PARAM_VALUE 0 pid->wait_pidfd.head.next->prev 4096-ptr_max
PARAM_VALUE 0 pid->wait_pidfd.head.prev->next 4096-ptr_max
PARAM_VALUE 0 pid->wait_pidfd.head.prev->next->next 4096-ptr_max
PARAM_VALUE 0 pid->wait_pidfd.lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 type 0
BUF_SIZE 0 pid s32min-(-1),1-s32max
BUF_SIZE 0 pid s32min-(-1),1-s32max
DATA_SOURCE 0 pid r pidfd_pid
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &kvm->irq_srcu
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &vm->irqfds_lock
HALF_LOCKED2 global &irqfds_srcu

fs/pidfs.c pidfs_file_release() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 1
BUF_SIZE 0 pid s32min-(-2),1-s32max
BUF_SIZE 0 pid s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 pid unit_array_size
LOCK2 rcu_read

security/landlock/fs.c control_current_fowner() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0-1
LOCK2 rcu_read

kernel/time/posix-cpu-timers.c cpu_timer_task_rcu() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0-1
LOCK2 rcu_read
HALF_LOCKED2 irq

kernel/time/posix-cpu-timers.c pid_for_clock() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 1-u64max
PARAM_VALUE 1 type 0
DATA_SOURCE 0 pid r find_vpid
LOCK2 rcu_read

kernel/time/posix-cpu-timers.c posix_cpu_clock_get() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0-1
BIT_INFO 1 type 0x0,0x1
LOCK2 rcu_read

kernel/time/posix-cpu-timers.c timer_lock_sighand() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0-1
DATA_SOURCE 1 type r clock_pid_type
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &timer->it_lock
HALF_LOCKED2 irq

drivers/gpu/drm/drm_file.c drm_file_err() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &file_priv->client_name_lock
LOCK2 rcu_read
HALF_LOCKED2 &uq_mgr->userq_mutex
HALF_LOCKED2 db_obj->obj->tbo.base.resv
TYPE_LOCK (struct drm_file)->client_name_lock

fs/proc/base.c first_tid() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0
DATA_SOURCE 0 pid $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/proc/base.c next_tgid() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 1-u64max
PARAM_VALUE 1 type 1
DATA_SOURCE 0 pid r find_ge_pid
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/proc/base.c pid_getattr() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &iint->mutex
HALF_LOCKED2 &lo->lo_mutex

fs/proc/base.c pid_revalidate() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

fs/proc/base.c proc_loginuid_write() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0
LOCK2 rcu_read

fs/proc/base.c proc_pid_attr_write() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0
LOCK2 rcu_read

fs/proc/fd.c proc_fd_permission() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex

fs/proc/array.c get_children_pid() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &seq->lock
LOCK2 global &tasklist_lock
TYPE_LOCK (struct seq_file)->lock

fs/proc/array.c get_children_pid() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 1-ptr_max
PARAM_VALUE 1 type 0
DATA_SOURCE 0 pid $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &seq->lock
LOCK2 global &tasklist_lock
TYPE_LOCK (struct seq_file)->lock

drivers/gpu/drm/vmwgfx/vmwgfx_gem.c vmw_debugfs_gem_info_show() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->filelist_mutex
LOCK2 &m->lock
LOCK2 rcu_read
TYPE_LOCK (struct drm_device)->filelist_mutex
TYPE_LOCK (struct seq_file)->lock

drivers/gpu/drm/panfrost/panfrost_drv.c show_each_file() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ddev->filelist_mutex
LOCK2 &m->lock
LOCK2 rcu_read
TYPE_LOCK (struct drm_device)->filelist_mutex
TYPE_LOCK (struct seq_file)->lock

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

Type Parameter Key Value
PARAM_VALUE 1 type 0
BUF_SIZE 0 pid s32min-(-1),1-s32max
BUF_SIZE 0 pid s32min-(-1),1-s32max
DATA_SOURCE 0 pid $1
LOCK2 rcu_read

drivers/gpu/drm/i915/i915_gpu_error.c record_context() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &capture_mutex

kernel/pid_namespace.c zap_pid_ns_processes() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 1-u64max
PARAM_VALUE 1 type 0
DATA_SOURCE 0 pid r idr_get_next
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &tasklist_lock
LOCK2 rcu_read
HALF_LOCKED2 global &system_transition_mutex

kernel/pid.c find_task_by_pid_ns() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &group->notification_lock
HALF_LOCKED2 &head->io_sem
HALF_LOCKED2 &seq->lock
HALF_LOCKED2 global &perm_group_lock
HALF_LOCKED2 global &tomoyo_ss
HALF_LOCKED2 rcu_read

kernel/pid.c get_pid_task() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0-1
BUF_SIZE 0 pid s32min-(-1),1-s32max
BUF_SIZE 0 pid s32min-(-1),1-s32max
DATA_SOURCE 0 pid $0
DATA_SOURCE 1 type $1
FUZZY_MAX 1 type 1
HARD_MAX 1 type 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &gpu->lock
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &seq->lock
HALF_LOCKED2 &target->pid_lock
HALF_LOCKED2 hpriv_lock
HALF_LOCKED2 obj->resv

drivers/block/ublk_drv.c ublk_ctrl_get_dev_info() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 1
DATA_SOURCE 0 pid r find_pid_ns
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &ctx->uring_lock

drivers/block/ublk_drv.c ublk_timeout() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0
DATA_SOURCE 0 pid r find_vpid
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &khd->lock

drivers/tty/tty_jobctrl.c session_of_pgrp() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 1-u64max
PARAM_VALUE 1 type 2
DATA_SOURCE 0 pid $0
LOCK2 &real_tty->ctrl.lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct tty_struct)->ctrl.lock

drivers/tty/tty_jobctrl.c session_of_pgrp() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 4096-ptr_max
PARAM_VALUE 1 type 0
DATA_SOURCE 0 pid $0
LOCK2 &real_tty->ctrl.lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct tty_struct)->ctrl.lock

kernel/time/posix-timers.c good_sigevent() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0
DATA_SOURCE 0 pid r find_vpid
LOCK2 rcu_read

kernel/signal.c kill_pid_info_type() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0
BUF_SIZE 0 pid s32min-(-1),1-s32max
BUF_SIZE 0 pid s32min-(-1),1-s32max
DATA_SOURCE 0 pid $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read

kernel/signal.c kill_pid_usb_asyncio() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 0
DATA_SOURCE 0 pid $3
LOCK2 rcu_read
HALF_LOCKED2 global &usbfs_mutex

kernel/signal.c posixtimer_get_target() -> pid_task()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 rcu_read
HALF_LOCKED2 &tsk->sighand->siglock
HALF_LOCKED2 irq

kernel/sys.c __do_sys_setpgid() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 2
DATA_SOURCE 0 pid r find_vpid
LOCK2 global &tasklist_lock
LOCK2 irq
LOCK2 rcu_read

kernel/sys.c __do_sys_setpgid() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 2
DATA_SOURCE 0 pid r find_vpid
LOCK2 global &tasklist_lock
LOCK2 irq
LOCK2 rcu_read

kernel/sys.c ksys_setsid() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 2
LOCK2 global &tasklist_lock
LOCK2 irq

drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c amdgpu_debugfs_gem_info_show() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 1 type 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->filelist_mutex
LOCK2 &m->lock
LOCK2 rcu_read
TYPE_LOCK (struct drm_device)->filelist_mutex
TYPE_LOCK (struct seq_file)->lock

mm/kmemleak.c kmemleak_scan_task_stacks() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 4096-ptr_max
PARAM_VALUE 1 type 0
DATA_SOURCE 0 pid r find_ge_pid
LOCK2 global &scan_mutex
LOCK2 rcu_read

drivers/gpu/drm/msm/msm_rd.c msm_rd_dump_submit() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 0,4096-ptr_max
PARAM_VALUE 1 type 0
LOCK2 &rd->write_lock
LOCK2 rcu_read
HALF_LOCKED2 &gpu->lock
HALF_LOCKED2 &queue->lock
TYPE_LOCK (struct msm_rd_state)->write_lock

fs/fcntl.c f_getown() -> pid_task()

Type Parameter Key Value
LOCK2 &f_owner->lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct fown_struct)->lock

fs/fcntl.c f_getown_ex() -> pid_task()

Type Parameter Key Value
LOCK2 &f_owner->lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct fown_struct)->lock

fs/fcntl.c send_sigio() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 1-u64max
PARAM_VALUE 1 type 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &fown->lock
LOCK2 flags
LOCK2 rcu_read
HALF_LOCKED2 &fa->fa_lock
HALF_LOCKED2 &inode_mark->lock
TYPE_LOCK (struct fown_struct)->lock

fs/fcntl.c send_sigurg() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 1-u64max
PARAM_VALUE 1 type 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &fown->lock
LOCK2 flags
LOCK2 rcu_read
HALF_LOCKED2 &(&smc->sk)->sk_lock.slock
TYPE_LOCK (struct fown_struct)->lock

ipc/mqueue.c __do_notify() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 4096-ptr_max
PARAM_VALUE 1 type 1
PREEMPT_ADD
LOCK2 &info->lock
LOCK2 rcu_read
TYPE_LOCK (struct mqueue_inode_info)->lock

kernel/bpf/bpf_task_storage.c bpf_pid_task_storage_delete_elem() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 0,4096-ptr_max
PARAM_VALUE 1 type 0
BUF_SIZE 0 pid s32min-(-2),1-s32max
BUF_SIZE 0 pid s32min-(-2),1-s32max
DATA_SOURCE 0 pid r pidfd_get_pid
HALF_LOCKED2 rcu_read

kernel/bpf/bpf_task_storage.c bpf_pid_task_storage_lookup_elem() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 0,4096-ptr_max
PARAM_VALUE 1 type 0
BUF_SIZE 0 pid s32min-(-2),1-s32max
BUF_SIZE 0 pid s32min-(-2),1-s32max
DATA_SOURCE 0 pid r pidfd_get_pid
HALF_LOCKED2 rcu_read

kernel/bpf/bpf_task_storage.c bpf_pid_task_storage_update_elem() -> pid_task()

Type Parameter Key Value
PARAM_VALUE 0 pid 0,4096-ptr_max
PARAM_VALUE 1 type 0
BUF_SIZE 0 pid s32min-(-2),1-s32max
BUF_SIZE 0 pid s32min-(-2),1-s32max
DATA_SOURCE 0 pid r pidfd_get_pid
HALF_LOCKED2 rcu_read