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