Defined in 1 files as a function:

Referenced in 7 files:

Smatch caller information:

fs/proc/proc_net.c PDE() -> PROC_I()

Type Parameter Key Value
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_size

fs/proc/proc_net.c proc_pid() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
LOCK2 rcu_read

fs/proc/base.c call_proc_get_link() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &task->signal->exec_update_lock
TYPE_LOCK (struct signal_struct)->exec_update_lock

fs/proc/base.c proc_map_files_instantiate() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_sb->s_time_max 1
DATA_SOURCE 0 inode r proc_pid_make_inode
BIT_INFO 0 inode->i_mode 0xa000,0xa1ff
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 &mm->mmap_lock

fs/proc/base.c proc_pid() -> PROC_I()

Type Parameter Key Value
BUF_SIZE 0 inode s32min-(-1),1-s32max
BUF_SIZE 0 inode s32min-(-1),1-s32max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
UNITS 0 inode unit_array_size
HALF_LOCKED2 &m->lock
HALF_LOCKED2 rcu_read
HALF_LOCKED2 0 &inode->i_rwsem

fs/proc/base.c proc_pid_attr_read() -> PROC_I()

Type Parameter Key Value

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

Type Parameter Key Value

fs/proc/base.c proc_pid_make_base_inode() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_sb->s_time_max 1
DATA_SOURCE 0 inode r proc_pid_make_inode
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 &inode->i_rwsem

fs/proc/base.c proc_pid_make_inode() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode r new_inode
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits

fs/proc/base.c proc_pident_instantiate() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_sb->s_time_max 1
DATA_SOURCE 0 inode r proc_pid_make_inode
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits

fs/proc/base.c proc_single_show() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode s32min-(-2),1-s32max
BUF_SIZE 0 inode s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
UNITS 0 inode unit_array_size
LOCK2 &m->lock
TYPE_LOCK (struct seq_file)->lock

fs/proc/namespaces.c proc_ns_get_link() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $1
RX_PATH
TASK_NOT_RUNNING

fs/proc/namespaces.c proc_ns_instantiate() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_sb->s_time_max 1
DATA_SOURCE 0 inode r proc_pid_make_inode
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits

fs/proc/namespaces.c proc_ns_readlink() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max

fs/proc/namespaces.c proc_pid() -> PROC_I()

Type Parameter Key Value
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max

fs/proc/task_mmu.c proc_pid() -> PROC_I()

Type Parameter Key Value
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &m->lock

fs/proc/fd.c proc_fd() -> PROC_I()

Type Parameter Key Value
BUF_SIZE 0 inode s32min-(-1),1-s32max
BUF_SIZE 0 inode s32min-(-1),1-s32max
DATA_SOURCE 0 inode $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 0 inode unit_array_size
HALF_LOCKED2 &m->lock
HALF_LOCKED2 &task->alloc_lock
HALF_LOCKED2 &task->signal->exec_update_lock

fs/proc/fd.c proc_fd_instantiate() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_sb->s_time_max 1
DATA_SOURCE 0 inode r proc_pid_make_inode
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits

fs/proc/fd.c proc_fdinfo_instantiate() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode->i_sb->s_time_max 1
DATA_SOURCE 0 inode r proc_pid_make_inode
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits

fs/proc/fd.c proc_pid() -> PROC_I()

Type Parameter Key Value
BUF_SIZE 0 inode s32min-(-1),1-s32max
BUF_SIZE 0 inode s32min-(-1),1-s32max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
UNITS 0 inode unit_array_size
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 rcu_read
HALF_LOCKED2 0 &inode->i_rwsem

fs/proc/array.c proc_pid() -> PROC_I()

Type Parameter Key Value
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &seq->lock
LOCK2 global &tasklist_lock
TYPE_LOCK (struct seq_file)->lock

fs/proc_namespace.c proc_pid() -> PROC_I()

Type Parameter Key Value
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_size

fs/proc/generic.c PDE() -> PROC_I()

Type Parameter Key Value
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_linklen
HALF_LOCKED2 &dentry->d_lockref.lock
HALF_LOCKED2 0 &inode->i_rwsem

fs/proc/proc_sysctl.c grab_header() -> PROC_I()

Type Parameter Key Value
BUF_SIZE 0 inode (-1),1-s32max
BUF_SIZE 0 inode (-1),1-s32max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 0 &inode->i_rwsem

fs/proc/proc_sysctl.c proc_sys_call_handler() -> PROC_I()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

fs/proc/proc_sysctl.c proc_sys_compare() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 1-u64max
RX_PATH
TASK_NOT_RUNNING

fs/proc/proc_sysctl.c proc_sys_delete() -> PROC_I()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dentry->d_lockref.lock
HALF_LOCKED2 global &mount_lock.lock
TYPE_LOCK (struct lockref)->lock

fs/proc/proc_sysctl.c proc_sys_evict_inode() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_bytes
LOCK2 global &sysctl_lock

fs/proc/proc_sysctl.c proc_sys_getattr() -> PROC_I()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &iint->mutex
HALF_LOCKED2 &lo->lo_mutex

fs/proc/proc_sysctl.c proc_sys_make_inode() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode r new_inode
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 &inode->i_rwsem

fs/proc/proc_sysctl.c proc_sys_open() -> PROC_I()

Type Parameter Key Value
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_size

fs/proc/proc_sysctl.c proc_sys_permission() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode (-1),1-s32max
BUF_SIZE 0 inode (-1),1-s32max
DATA_SOURCE 0 inode $1
BIT_INFO 0 inode->i_opflags 0x0,0xfffe
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_mode 0-u16max
USER_DATA 0 inode->i_size (-9223372036854775807)-(-4),0-s64max
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_size
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex
HALF_LOCKED2 0 &inode->i_rwsem

fs/proc/proc_sysctl.c proc_sys_poll() -> PROC_I()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &kvm->irq_srcu
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &vm->irqfds_lock
HALF_LOCKED2 global &irqfds_srcu

fs/proc/proc_sysctl.c proc_sys_revalidate() -> PROC_I()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

fs/proc/inode.c PDE() -> PROC_I()

Type Parameter Key Value
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_ino
NO_OVERFLOW_SIMPLE 0 inode->i_linklen
NO_OVERFLOW_SIMPLE 0 inode->i_size

fs/proc/inode.c proc_evict_inode() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
CAPPED_DATA 0 inode 1
CAPPED_DATA 0 inode->i_io_list.next 1
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 inode->i_mapping->host->i_bytes

fs/proc/inode.c proc_free_inode() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

fs/proc/inode.c proc_free_inode() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
DATA_SOURCE 0 inode $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu

fs/proc/inode.c proc_get_inode() -> PROC_I()

Type Parameter Key Value
PARAM_VALUE 0 inode 4096-ptr_max
BUF_SIZE 0 inode->i_private s32min-(-2),1-s32max
BUF_SIZE 0 inode->i_sb (-1),2880
CAPPED_DATA 0 inode->i_sb->s_time_max 1
DATA_SOURCE 0 inode r new_inode
STR_LEN 0 inode->i_sb (-1),8
PARAM_COMPARE 0 inode->i_sb->s_time_max >= $0->i_sb->s_time_min
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 inode->i_sb->s_flags 0-u64max[c]
NO_OVERFLOW_SIMPLE 0 inode->i_blkbits
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize
NO_OVERFLOW_SIMPLE 0 inode->i_sb->s_blocksize_bits