Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 4 files:

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