Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

ipc/sem.c __do_semtimedop() -> do_smart_update()

Type Parameter Key Value
PARAM_VALUE 0 sma 4096-ptr_max
PARAM_VALUE 0 sma->sem_nsems 1-s32max
PARAM_VALUE 0 sma->sem_perm.deleted 0
PARAM_VALUE 1 sops 4096-18446744073709547519
PARAM_VALUE 2 nsops 1-357913941
PARAM_VALUE 3 otime 1
PARAM_VALUE 4 wake_q 5846733852203089920
PARAM_VALUE 4 wake_q->first 1
PARAM_VALUE 4 wake_q->lastp 5846733852203089920
PARAM_VALUE 4 *wake_q->lastp 1
BUF_SIZE 1 sops 384,390-s32max
BUF_SIZE 1 sops 384,390-s32max
CAPPED_DATA 2 nsops 1
DATA_SOURCE 0 sma r sem_obtain_object_check
DATA_SOURCE 1 sops $1
DATA_SOURCE 2 nsops $2
NOCHECK_CALL
USER_DATA 1 sops->sem_flg s16min-s16max
USER_DATA 1 sops->sem_num 0-u16max
USER_DATA 1 sops->sem_op s16min-s16max
USER_DATA 2 nsops 2-357913941[c]
NO_OVERFLOW_SIMPLE 2 nsops
UNITS 2 nsops unit_array_size
ELEM_COUNT 1 ==sops2 8051
USER_PTR 1 sops
LOCK2 rcu_read
LOCK2 0 sma

ipc/sem.c exit_sem() -> do_smart_update()

Type Parameter Key Value
PARAM_VALUE 0 sma 4096-ptr_max
PARAM_VALUE 0 sma->sem_perm.deleted 0
PARAM_VALUE 0 sma->use_global_lock 10
PARAM_VALUE 1 sops 0
PARAM_VALUE 2 nsops 0
PARAM_VALUE 3 otime 1
PARAM_VALUE 4 wake_q 7098068547685789696
PARAM_VALUE 4 wake_q->first 1
PARAM_VALUE 4 wake_q->lastp 7098068547685789696
PARAM_VALUE 4 *wake_q->lastp 1
CAPPED_DATA 0 sma->sem_nsems 1
DATA_SOURCE 0 sma r sem_obtain_object_check
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
LOCK2 0 sma

ipc/sem.c semctl_main() -> do_smart_update()

Type Parameter Key Value
PARAM_VALUE 0 sma 4096-ptr_max
PARAM_VALUE 0 sma->sem_nsems 0-1073741823
PARAM_VALUE 0 sma->sem_perm.deleted 0
PARAM_VALUE 0 sma->sem_perm.rcu.func 1-u64max
PARAM_VALUE 0 sma->sem_perm.rcu.next 0
PARAM_VALUE 0 sma->use_global_lock 10
PARAM_VALUE 1 sops 0
PARAM_VALUE 2 nsops 0
PARAM_VALUE 3 otime 0
PARAM_VALUE 4 wake_q 3538838307248259072
PARAM_VALUE 4 wake_q->first 1
PARAM_VALUE 4 wake_q->lastp 3538838307248259072
PARAM_VALUE 4 *wake_q->lastp 1
CAPPED_DATA 0 &sma->list_id 1
DATA_SOURCE 0 sma r sem_obtain_object_check
NOCHECK_CALL
LOCK2 rcu_read
LOCK2 0 sma

ipc/sem.c semctl_setval() -> do_smart_update()

Type Parameter Key Value
PARAM_VALUE 0 sma 4096-ptr_max
PARAM_VALUE 0 sma->sem_nsems 1-s32max
PARAM_VALUE 0 sma->sem_perm.deleted 0
PARAM_VALUE 0 sma->sems 4096-ptr_max
PARAM_VALUE 0 sma->use_global_lock 10
PARAM_VALUE 1 sops 0
PARAM_VALUE 2 nsops 0
PARAM_VALUE 3 otime 0
PARAM_VALUE 4 wake_q 2201228888095379456
PARAM_VALUE 4 wake_q->first 1
PARAM_VALUE 4 wake_q->lastp 2201228888095379456
PARAM_VALUE 4 *wake_q->lastp 1
CAPPED_DATA 0 &sma->list_id 1
DATA_SOURCE 0 sma r sem_obtain_object_check
NOCHECK_CALL
LOCK2 rcu_read
LOCK2 0 sma