Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

kernel/futex/waitwake.c futex_queue() -> __futex_queue()

Type Parameter Key Value
PARAM_VALUE 0 q 4096-ptr_max
PARAM_VALUE 0 q->lock_ptr 4096-ptr_max
PARAM_VALUE 0 q->requeue_pi_key 0,2277097249293230080
PARAM_VALUE 0 q->rt_waiter 0,9173740585203314688
PARAM_VALUE 1 hb 4096-ptr_max
PARAM_VALUE 1 hb->lock.rlock.dep_map->name 0-255
BUF_SIZE 0 q (-1),136
BUF_SIZE 0 q (-1),136
DATA_SOURCE 0 q $0
DATA_SOURCE 1 hb $1
DATA_SOURCE 2 task $2
PREEMPT_ADD
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 1 &hb->lock
TYPE_LOCK (struct futex_hash_bucket)->lock

kernel/futex/pi.c futex_lock_pi() -> __futex_queue()

Type Parameter Key Value
PARAM_VALUE 0 q 7813435272794112
PARAM_VALUE 0 q->key.both.offset 0-4097
PARAM_VALUE 0 q->lock_ptr 4096-ptr_max
PARAM_VALUE 0 q->pi_state 4096-ptr_max
PARAM_VALUE 1 hb 4096-ptr_max
PARAM_VALUE 1 hb->lock.rlock.dep_map->name 0-255
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 1 &hb->lock
TYPE_LOCK (struct futex_hash_bucket)->lock