Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 4 files:
- kernel/futex/core.c
- kernel/futex/pi.c, line 1289
- kernel/futex/requeue.c, line 236
- kernel/futex/waitwake.c, line 115
Smatch caller information:
kernel/futex/core.c futex_unqueue() -> __futex_unqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | q | 4096-ptr_max |
| PARAM_VALUE | 0 | q->lock_ptr | 4096-ptr_max |
| PARAM_VALUE | 0 | q->lock_ptr->rlock.dep_map->name | 0-255 |
| CAPPED_DATA | 0 | q->lock_ptr | 1 |
| DATA_SOURCE | 0 | q | $0 |
| NOSPEC | 0 | q->key.both.offset | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | q->bitset | 1-u32max |
| USER_DATA | 0 | q->key.both.offset | 0-4097[c] |
| USER_DATA | 0 | q->key.private.address | 0-u64max |
| LOCK2 | lock_ptr | ||
| LOCK2 | rcu_read |
kernel/futex/core.c futex_unqueue_pi() -> __futex_unqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | q | 7813435272794112,6287657923781144576 |
| PARAM_VALUE | 0 | q->key.both.offset | 0-4097 |
| PARAM_VALUE | 0 | q->list.prio | s32min-100 |
| PARAM_VALUE | 0 | q->lock_ptr | 4096-ptr_max |
| PARAM_VALUE | 0 | q->pi_state | 4096-ptr_max |
| PARAM_VALUE | 0 | q->requeue_pi_key | 0,2277097249293230080 |
| PARAM_VALUE | 0 | q->rt_waiter | 0,9173740585203314688 |
| DATA_SOURCE | 0 | q | $0 |
| PARAM_COMPARE | 0 | &q->list.node_list | != $0->list.node_list.next |
| NOSPEC | 0 | q->key.both.offset | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | q->key.both.offset | 0-4097[c] |
| USER_DATA | 0 | q->key.private.address | 0-u64max |
| HALF_LOCKED2 | &hb->lock |
kernel/futex/waitwake.c __futex_wake_mark() -> __futex_unqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | q | 4096-ptr_max |
| PARAM_VALUE | 0 | q->drop_fph | 0 |
| PARAM_VALUE | 0 | q->key.both.offset | 0-4097 |
| PARAM_VALUE | 0 | q->pi_state | 0 |
| PARAM_VALUE | 0 | q->requeue_pi_key | 0,2277097249293230080 |
| PARAM_VALUE | 0 | q->rt_waiter | 0 |
| PARAM_VALUE | 0 | q->task->sched_class->find_lock_rq | 0,1330506845949976576,2186316422496772096 |
| PARAM_VALUE | 0 | q->task->sched_class->get_prio | 0,5589494719909007360 |
| PARAM_VALUE | 0 | q->task->sched_class->get_rr_interval | 0,160577115725877248,8566262156424376320 |
| PARAM_VALUE | 0 | q->task->sched_class->reweight_task | 0,5264859755264851968 |
| PARAM_VALUE | 0 | q->task->sched_class->rq_offline | 0,1273389266380275712,3746302679399247872,7992910395761221632 |
| PARAM_VALUE | 0 | q->task->sched_class->rq_online | 0,1603218695044562944,3838970304731508736,6105480162315575296 |
| PARAM_VALUE | 0 | q->task->sched_class->switched_from | 0,6932178706407411712,8530452231382753280,8897597262779232256 |
| PARAM_VALUE | 0 | q->task->sched_class->switched_to | 0,5165838827171962880,5857971317054578688,7142770315824652288 |
| PARAM_VALUE | 0 | q->task->sched_class->switching_from | 0,2762873923526262784 |
| PARAM_VALUE | 0 | q->task->sched_class->switching_to | 0,1207858565835722752,6355784522873475072 |
| PARAM_VALUE | 0 | q->task->sched_class->task_change_group | 0,7251702690162270208 |
| PARAM_VALUE | 0 | q->task->sched_class->task_dead | 0,6742757381008068608 |
| PARAM_VALUE | 0 | q->task->sched_class->task_is_throttled | 0,626302238049026048,4879098428662644736,6508522699847725056 |
| PARAM_VALUE | 0 | q->task->sched_class->task_woken | 0,4090974917235912704,4284209241675612160 |
| CAPPED_DATA | 0 | q->key.both.offset | 1 |
| CAPPED_DATA | 0 | q->key.both.ptr | 1 |
| CAPPED_DATA | 0 | q->key.both.word | 1 |
| DATA_SOURCE | 0 | q | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &hb->lock |
kernel/futex/pi.c __futex_unlock_pi() -> __futex_unqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | q | 4096-ptr_max |
| PARAM_VALUE | 0 | q->key.both.offset | 0-4097 |
| PARAM_VALUE | 0 | q->pi_state | 4096-ptr_max |
| PARAM_VALUE | 0 | q->pi_state->pi_mutex.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | q->pi_state->pi_mutex.wait_lock.raw_lock.val.counter | 0-s32max |
| CAPPED_DATA | 0 | q->key.both.offset | 1 |
| CAPPED_DATA | 0 | q->key.both.ptr | 1 |
| CAPPED_DATA | 0 | q->key.both.word | 1 |
| DATA_SOURCE | 0 | q | r futex_top_waiter |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| NOCHECK_CALL | |||
| LOCK2 | &hb->lock | ||
| LOCK2 | &pi_state->pi_mutex.wait_lock | ||
| LOCK2 | irq | ||
| TYPE_LOCK | (struct futex_hash_bucket)->lock | ||
| TYPE_LOCK | (struct rt_mutex_base)->wait_lock |
kernel/futex/requeue.c requeue_pi_wake_futex() -> __futex_unqueue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | q | 4096-ptr_max |
| PARAM_VALUE | 0 | q->drop_fph | 0 |
| PARAM_VALUE | 0 | q->key.both.offset | 0-4097 |
| PARAM_VALUE | 0 | q->pi_state | 0,4096-ptr_max |
| PARAM_VALUE | 0 | q->requeue_pi_key | 4096-ptr_max |
| PARAM_VALUE | 0 | q->requeue_pi_key->both.offset | 0-4097 |
| PARAM_VALUE | 0 | q->rt_waiter | 9173740585203314688 |
| PARAM_VALUE | 0 | q->task->sched_class->pick_task | 0,71,431140902756892672,1158575681758597120,5720692379550740480,7102393387566546944,7601726578106748928 |
| CAPPED_DATA | 0 | q->requeue_pi_key->both.offset | 1 |
| CAPPED_DATA | 0 | q->requeue_pi_key->both.ptr | 1 |
| CAPPED_DATA | 0 | q->requeue_pi_key->both.word | 1 |
| DATA_SOURCE | 0 | q | $0 |
| RX_PATH | |||
| NOCHECK_CALL |