Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
PARAM_VALUE 0 sma 4096-ptr_max
PARAM_VALUE 0 sma->sem_perm.deleted 0
PARAM_VALUE 1 sops 0,4096-18446744073709547519
PARAM_VALUE 2 nsops 0-357913941
PARAM_VALUE 3 wake_q 2201228888095379456,3538838307248259072,5846733852203089920,7098068547685789696
PARAM_VALUE 3 wake_q->first 1
PARAM_VALUE 3 wake_q->lastp 2201228888095379456,3538838307248259072,5846733852203089920,7098068547685789696
PARAM_VALUE 3 *wake_q->lastp 1
BUF_SIZE 1 sops (-1),384,390-s32max
BUF_SIZE 1 sops (-1),384,390-s32max
CAPPED_DATA 0 sma->sem_nsems 1
CAPPED_DATA 2 nsops 1
DATA_SOURCE 0 sma $0
DATA_SOURCE 1 sops $1
DATA_SOURCE 2 nsops $2
DATA_SOURCE 3 wake_q $4
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
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 update_queue() -> do_smart_wakeup_zero()

Type Parameter Key Value
PARAM_VALUE 0 sma 4096-ptr_max
PARAM_VALUE 0 sma->sem_perm.deleted 0
PARAM_VALUE 0 sma->sems 4096-ptr_max
PARAM_VALUE 0 sma->use_global_lock 0,8-10,4294967292-4294967294
PARAM_VALUE 2 nsops 1-357913941
PARAM_VALUE 3 wake_q 2201228888095379456,3538838307248259072,5846733852203089920,7098068547685789696
PARAM_VALUE 3 wake_q->first 1
PARAM_VALUE 3 wake_q->lastp 4096-ptr_max
CAPPED_DATA 0 sma->sem_nsems 1
DATA_SOURCE 0 sma $0
DATA_SOURCE 3 wake_q $2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 2 nsops unit_array_size
LOCK2 rcu_read
LOCK2 0 sma