Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

kernel/futex/core.c exit_pi_state_list() -> put_pi_state()

Type Parameter Key Value
PARAM_VALUE 0 pi_state 4096-ptr_max
PARAM_VALUE 0 pi_state->pi_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 pi_state->pi_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 pi_state->pi_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 pi_state->refcount.refs.counter (-1073741824),0-s32max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &curr->futex.exit_mutex
LOCK2 &curr->pi_lock
LOCK2 irq
TYPE_LOCK (struct futex_sched_data)->exit_mutex
TYPE_LOCK (struct task_struct)->pi_lock

kernel/futex/core.c exit_pi_state_list() -> put_pi_state()

Type Parameter Key Value
PARAM_VALUE 0 pi_state 4096-ptr_max
PARAM_VALUE 0 pi_state->owner 0
PARAM_VALUE 0 pi_state->pi_mutex.owner 0-1
PARAM_VALUE 0 pi_state->pi_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 pi_state->pi_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 pi_state->pi_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 pi_state->refcount.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 &pi_state->pi_mutex 1
NOCHECK_CALL
LOCK2 &curr->futex.exit_mutex
TYPE_LOCK (struct futex_sched_data)->exit_mutex

kernel/futex/core.c futex_unqueue_pi() -> put_pi_state()

Type Parameter Key Value
PARAM_VALUE 0 pi_state 4096-ptr_max
PREEMPT_ADD
RX_PATH
NOCHECK_CALL
HALF_LOCKED2 &hb->lock

kernel/futex/pi.c __futex_unlock_pi() -> put_pi_state()

Type Parameter Key Value
PARAM_VALUE 0 pi_state 4096-ptr_max
PARAM_VALUE 0 pi_state->pi_mutex.wait_lock.dep_map->name 0-255
CAPPED_DATA 0 &pi_state->pi_mutex 1
RX_PATH
NOCHECK_CALL

kernel/futex/requeue.c futex_requeue() -> put_pi_state()

Type Parameter Key Value
PARAM_VALUE 0 pi_state 4096-ptr_max
PARAM_VALUE 0 pi_state->refcount.refs.counter (-1073741824),0-s32max
RX_PATH
NOCHECK_CALL

kernel/futex/requeue.c futex_requeue() -> put_pi_state()

Type Parameter Key Value
PARAM_VALUE 0 pi_state 4096-ptr_max
PARAM_VALUE 0 pi_state->pi_mutex.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 pi_state->pi_mutex.wait_lock.owner (-1)
PARAM_VALUE 0 pi_state->pi_mutex.wait_lock.owner_cpu u32max
PARAM_VALUE 0 pi_state->pi_mutex.waiters.rb_leftmost 0,4096-ptr_max
PARAM_VALUE 0 pi_state->pi_mutex.waiters.rb_root.rb_node 4096-ptr_max
PARAM_VALUE 0 pi_state->refcount.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 &pi_state->pi_mutex 1
RX_PATH
NOCHECK_CALL

kernel/futex/requeue.c futex_requeue() -> put_pi_state()

Type Parameter Key Value
PARAM_VALUE 0 pi_state 0,4096-ptr_max
RX_PATH
NOCHECK_CALL

kernel/futex/requeue.c futex_wait_requeue_pi() -> put_pi_state()

Type Parameter Key Value
PARAM_VALUE 0 pi_state 4096-ptr_max
CAPPED_DATA 0 pi_state->owner 1
RX_PATH
NOCHECK_CALL