Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/infiniband/hw/erdma/erdma_cm.c __erdma_cep_dealloc() -> erdma_cm_free_work()

Type Parameter Key Value
PARAM_VALUE 0 cep 4096-ptr_max
PARAM_VALUE 0 cep->lock.rlock.dep_map->name 0-255
CAPPED_DATA 0 cep->mpa.pdata 1
CAPPED_DATA 0 cep->private_data 1
CAPPED_DATA 0 &cep->work_freelist 1
PARAM_COMPARE 0 &cep->work_freelist != $0->work_freelist.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 bh
LOCK2 0 &cep->lock
HALF_LOCKED2 &cep->lock
HALF_LOCKED2 &qp->state_lock
HALF_LOCKED2 &sk->sk_callback_lock
TYPE_LOCK (struct erdma_cep)->lock

drivers/infiniband/hw/erdma/erdma_cm.c erdma_cm_alloc_work() -> erdma_cm_free_work()

Type Parameter Key Value
PARAM_VALUE 0 cep 4096-ptr_max
PARAM_VALUE 0 cep->dev 4096-ptr_max
PARAM_VALUE 0 cep->devq.next 4096-ptr_max
PARAM_VALUE 0 cep->devq.next->next 4096-ptr_max
PARAM_VALUE 0 cep->devq.prev->next 4096-ptr_max
PARAM_VALUE 0 cep->devq.prev->prev 4096-ptr_max
PARAM_VALUE 0 cep->listenq.next 4096-ptr_max
PARAM_VALUE 0 cep->listenq.next->next 4096-ptr_max
PARAM_VALUE 0 cep->listenq.prev 4096-ptr_max
PARAM_VALUE 0 cep->listenq.prev->next 4096-ptr_max
PARAM_VALUE 0 cep->listenq.prev->prev 4096-ptr_max
PARAM_VALUE 0 cep->state 1
PARAM_VALUE 0 cep->waitq.head.next 4096-ptr_max
PARAM_VALUE 0 cep->waitq.head.next->next 4096-ptr_max
PARAM_VALUE 0 cep->waitq.head.prev 4096-ptr_max
PARAM_VALUE 0 cep->waitq.head.prev->next 4096-ptr_max
PARAM_VALUE 0 cep->waitq.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 cep->work_freelist.next 4096-ptr_max
PARAM_VALUE 0 cep->work_freelist.next->next 4096-ptr_max
PARAM_VALUE 0 cep->work_freelist.prev 4096-ptr_max
PARAM_VALUE 0 cep->work_freelist.prev->next 4096-ptr_max
PARAM_VALUE 0 cep->work_freelist.prev->prev 4096-ptr_max
BUF_SIZE 0 cep 368
CAPPED_DATA 0 &cep->work_freelist 1
DATA_SOURCE 0 cep $0
PARAM_COMPARE 0 &cep->work_freelist != $0->work_freelist.next
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL