Defined in 4 files as a member:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/infiniband/core/iwcm.c alloc_work_entries() -> put_work()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->cm_id 4096-ptr_max
PARAM_VALUE 0 work->cm_id->work_free_list.next 4096-ptr_max
BUF_SIZE 0 work 392
DATA_SOURCE 0 work r _kmalloc_noprof
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/infiniband/core/iwcm.c cm_event_handler() -> put_work()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PARAM_VALUE 0 work->cm_id 4096-ptr_max
PARAM_VALUE 0 work->event.event 1-2
PARAM_VALUE 0 work->event.private_data_len 1-255
PARAM_VALUE 0 work->event.provider_data 0,4096-ptr_max
PARAM_VALUE 0 work->free_list.next 4096-ptr_max
PARAM_VALUE 0 work->free_list.next->next 4096-ptr_max
PARAM_VALUE 0 work->free_list.next->prev 4096-ptr_max
PARAM_VALUE 0 work->free_list.prev 4096-ptr_max
PARAM_VALUE 0 work->free_list.prev->next 4096-ptr_max
PARAM_VALUE 0 work->free_list.prev->prev 4096-ptr_max
CAPPED_DATA 0 work->event.private_data_len 1
DATA_SOURCE 0 work r get_work
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 work->event.ird 0-255[c]
USER_DATA 0 work->event.ord 0-255[c]
USER_DATA 0 work->event.private_data_len 1-255[c]
LOCK2 &cm_id_priv->lock
LOCK2 flags
HALF_LOCKED2 &ep->com.mutex
HALF_LOCKED2 &ep->parent_ep->com.mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct iwcm_id_private)->lock

drivers/infiniband/core/iwcm.c cm_work_handler() -> put_work()

Type Parameter Key Value
PARAM_VALUE 0 work 4096-ptr_max
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &cm_id_priv->lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct iwcm_id_private)->lock