Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 2 files:
Smatch caller information:
kernel/futex/pi.c __fixup_pi_state_owner() -> futex_q_lockptr_lock()
| 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->lock_ptr->rlock.dep_map->name | 0-255 |
| 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.owner | (-1) |
| PARAM_VALUE | 0 | q->pi_state->pi_mutex.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | q->requeue_pi_key | 0,2277097249293230080 |
| PARAM_VALUE | 0 | q->rt_waiter | 0,9173740585203314688 |
| BUF_SIZE | 0 | q->requeue_pi_key | (-1),24 |
| BUF_SIZE | 0 | q->rt_waiter | (-1),112 |
| CAPPED_DATA | 0 | q->lock_ptr | 1 |
| DATA_SOURCE | 0 | q | $1 |
| NOSPEC | 0 | q->key.both.offset | |
| RX_PATH | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | q->key.both.offset | 0-4097[c] |
| USER_DATA | 0 | q->key.private.address | 0-u64max |
| LOCK2 | &pi_state->pi_mutex.wait_lock | ||
| HALF_LOCKED2 | &hb->lock |
kernel/futex/pi.c futex_lock_pi() -> futex_q_lockptr_lock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | q | 7813435272794112 |
| 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 |
| NOSPEC | 0 | q->key.both.offset | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | q->key.both.offset | 0-4097[c] |
| USER_DATA | 0 | q->key.private.address | 0-u64max |
| LOCK2 | &hb->lock | ||
| TYPE_LOCK | (struct futex_hash_bucket)->lock |
kernel/futex/requeue.c futex_wait_requeue_pi() -> futex_q_lockptr_lock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | q | 6287657923781144576 |
| PARAM_VALUE | 0 | q->bitset | u32max |
| 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 | 2277097249293230080 |
| PARAM_VALUE | 0 | q->requeue_state.counter | 0-s32max |
| PARAM_VALUE | 0 | q->rt_waiter | 9173740585203314688 |
| NOSPEC | 0 | q->key.both.offset | |
| RX_PATH | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | q->key.both.offset | 0-4097[c] |
| USER_DATA | 0 | q->key.private.address | 0-u64max |
kernel/futex/requeue.c futex_wait_requeue_pi() -> futex_q_lockptr_lock()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | q | 6287657923781144576 |
| PARAM_VALUE | 0 | q->bitset | u32max |
| 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->requeue_pi_key | 2277097249293230080 |
| PARAM_VALUE | 0 | q->requeue_state.counter | 0-s32max |
| PARAM_VALUE | 0 | q->rt_waiter | 9173740585203314688 |
| NOSPEC | 0 | q->key.both.offset | |
| RX_PATH | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | q->key.both.offset | 0-4097[c] |
| USER_DATA | 0 | q->key.private.address | 0-u64max |