Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

kernel/ptrace.c ptrace_getsiginfo() -> copy_siginfo()

Type Parameter Key Value
PARAM_VALUE 0 to 426155301856309248,6331518415531577344
PARAM_VALUE 1 from 1-u64max
DATA_SOURCE 0 to $1
NOCHECK_CALL

kernel/ptrace.c ptrace_peek_siginfo() -> copy_siginfo()

Type Parameter Key Value
PARAM_VALUE 0 to 3557810156823793664
PARAM_VALUE 1 from 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &child->sighand->siglock
LOCK2 irq
TYPE_LOCK (struct sighand_struct)->siglock

kernel/ptrace.c ptrace_setsiginfo() -> copy_siginfo()

Type Parameter Key Value
PARAM_VALUE 0 to 1-u64max
PARAM_VALUE 1 from 426155301856309248,6331518415531577344
DATA_SOURCE 1 from $1
NOCHECK_CALL
USER_DATA 1 from->_sifields._kill._pid s32min-s32max
USER_DATA 1 from->_sifields._kill._uid 0-u32max
USER_DATA 1 from->_sifields._rt._pid s32min-s32max
USER_DATA 1 from->_sifields._rt._sigval.sival_int s32min-s32max
USER_DATA 1 from->_sifields._rt._uid 0-u32max
USER_DATA 1 from->_sifields._sigchld._pid s32min-s32max
USER_DATA 1 from->_sifields._sigchld._status s32min-s32max
USER_DATA 1 from->_sifields._sigchld._stime s64min-s64max
USER_DATA 1 from->_sifields._sigchld._uid 0-u32max
USER_DATA 1 from->_sifields._sigchld._utime s64min-s64max
USER_DATA 1 from->_sifields._sigfault._addr_lsb s16min-s16max
USER_DATA 1 from->_sifields._sigfault._addr_pkey._pkey 0-u32max
USER_DATA 1 from->_sifields._sigfault._perf._data 0-u64max
USER_DATA 1 from->_sifields._sigfault._perf._flags 0-u32max
USER_DATA 1 from->_sifields._sigfault._perf._type 0-u32max
USER_DATA 1 from->_sifields._sigfault._trapno s32min-s32max
USER_DATA 1 from->_sifields._sigpoll._band s64min-s64max
USER_DATA 1 from->_sifields._sigpoll._fd s32min-s32max
USER_DATA 1 from->_sifields._sigsys._arch 0-u32max
USER_DATA 1 from->_sifields._sigsys._syscall s32min-s32max
USER_DATA 1 from->_sifields._timer._overrun s32min-s32max
USER_DATA 1 from->_sifields._timer._sigval.sival_int s32min-s32max
USER_DATA 1 from->_sifields._timer._sys_private s32min-s32max
USER_DATA 1 from->_sifields._timer._tid s32min-s32max
USER_DATA 1 from->si_code s32min-s32max
USER_DATA 1 from->si_errno s32min-s32max
USER_DATA 1 from->si_signo s32min-s32max

kernel/signal.c __send_signal_locked() -> copy_siginfo()

Type Parameter Key Value
PARAM_VALUE 0 to 4096-ptr_max
PARAM_VALUE 1 from 4096-18446744073709547520
BUF_SIZE 1 from (-1),48
BUF_SIZE 1 from (-1),48
DATA_SOURCE 1 from $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 from->_sifields._kill._pid s32min-s32max
USER_DATA 1 from->_sifields._kill._uid 0-u32max
USER_DATA 1 from->_sifields._rt._pid s32min-s32max
USER_DATA 1 from->_sifields._rt._sigval.sival_int s32min-s32max
USER_DATA 1 from->_sifields._rt._uid 0-u32max
USER_DATA 1 from->_sifields._sigchld._pid s32min-s32max
USER_DATA 1 from->_sifields._sigchld._status s32min-s32max
USER_DATA 1 from->_sifields._sigchld._stime s64min-s64max
USER_DATA 1 from->_sifields._sigchld._uid 0-u32max
USER_DATA 1 from->_sifields._sigchld._utime s64min-s64max
USER_DATA 1 from->_sifields._sigfault._addr_lsb s16min-s16max
USER_DATA 1 from->_sifields._sigfault._addr_pkey._pkey 0-u32max
USER_DATA 1 from->_sifields._sigfault._perf._data 0-u64max
USER_DATA 1 from->_sifields._sigfault._perf._flags 0-u32max
USER_DATA 1 from->_sifields._sigfault._perf._type 0-u32max
USER_DATA 1 from->_sifields._sigfault._trapno s32min-s32max
USER_DATA 1 from->_sifields._sigpoll._band s64min-s64max
USER_DATA 1 from->_sifields._sigpoll._fd s32min-s32max
USER_DATA 1 from->_sifields._sigsys._arch 0-u32max
USER_DATA 1 from->_sifields._sigsys._syscall s32min-s32max
USER_DATA 1 from->_sifields._timer._overrun s32min-s32max
USER_DATA 1 from->_sifields._timer._sigval.sival_int s32min-s32max
USER_DATA 1 from->_sifields._timer._sys_private s32min-s32max
USER_DATA 1 from->_sifields._timer._tid s32min-s32max
USER_DATA 1 from->si_code s32min-s32max
USER_DATA 1 from->si_errno s32min-s32max
USER_DATA 1 from->si_signo s32min-s32max
HALF_LOCKED2 &psig->siglock
HALF_LOCKED2 flags
HALF_LOCKED2 global &tasklist_lock
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

kernel/signal.c collect_signal() -> copy_siginfo()

Type Parameter Key Value
PARAM_VALUE 0 to 4096-ptr_max
PARAM_VALUE 1 from 4096-ptr_max
PARAM_VALUE 1 from->si_signo s32min-(-1),1-s32max
DATA_SOURCE 0 to $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq
HALF_LOCKED2 &sighand->siglock
HALF_LOCKED2 &task->sighand->siglock
HALF_LOCKED2 &tsk->sighand->siglock

kernel/signal.c dequeue_synchronous_signal() -> copy_siginfo()

Type Parameter Key Value
PARAM_VALUE 0 to 205423189549002784,672443148911562784,6167043204661637152,7556018523812884512
PARAM_VALUE 1 from 4096-ptr_max
PARAM_VALUE 1 from->si_code 1-s32max
DATA_SOURCE 0 to $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &sighand->siglock
LOCK2 irq
TYPE_LOCK (struct sighand_struct)->siglock

kernel/trace/bpf_trace.c bpf_send_signal_common() -> copy_siginfo()

Type Parameter Key Value
PARAM_VALUE 0 to 4096-ptr_max
PARAM_VALUE 1 from 1369660061362429952
PARAM_VALUE 1 from->_sifields._kill._pid 0
PARAM_VALUE 1 from->_sifields._kill._uid 0
PARAM_VALUE 1 from->_sifields._rt._pid 0
PARAM_VALUE 1 from->_sifields._rt._sigval.sival_int 0
PARAM_VALUE 1 from->_sifields._rt._uid 0
PARAM_VALUE 1 from->_sifields._sigchld._pid 0
PARAM_VALUE 1 from->_sifields._sigchld._status 0
PARAM_VALUE 1 from->_sifields._sigchld._stime 0
PARAM_VALUE 1 from->_sifields._sigchld._uid 0
PARAM_VALUE 1 from->_sifields._sigchld._utime 0
PARAM_VALUE 1 from->_sifields._sigfault._addr 0
PARAM_VALUE 1 from->_sifields._sigfault._addr_bnd._lower 0
PARAM_VALUE 1 from->_sifields._sigfault._addr_bnd._upper 0
PARAM_VALUE 1 from->_sifields._sigfault._addr_lsb 0
PARAM_VALUE 1 from->_sifields._sigfault._addr_pkey._pkey 0
PARAM_VALUE 1 from->_sifields._sigfault._perf._data 0
PARAM_VALUE 1 from->_sifields._sigfault._perf._flags 0
PARAM_VALUE 1 from->_sifields._sigfault._perf._type 0
PARAM_VALUE 1 from->_sifields._sigfault._trapno 0
PARAM_VALUE 1 from->_sifields._sigpoll._band 0
PARAM_VALUE 1 from->_sifields._sigpoll._fd 0
PARAM_VALUE 1 from->_sifields._sigsys._arch 0
PARAM_VALUE 1 from->_sifields._sigsys._call_addr 0
PARAM_VALUE 1 from->_sifields._sigsys._syscall 0
PARAM_VALUE 1 from->_sifields._timer._overrun 0
PARAM_VALUE 1 from->_sifields._timer._sigval.sival_int 0
PARAM_VALUE 1 from->_sifields._timer._sigval.sival_ptr 0
PARAM_VALUE 1 from->_sifields._timer._sys_private 0
PARAM_VALUE 1 from->_sifields._timer._tid 0
PARAM_VALUE 1 from->si_code 128
PARAM_VALUE 1 from->si_errno 0
MEM_ZERO 1 from
NOCHECK_CALL