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 |