Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/infiniband/hw/hns/hns_roce_cq.c hns_roce_create_cq() -> free_cq_buf()

Type Parameter Key Value
PARAM_VALUE 0 hr_dev 4096-ptr_max
PARAM_VALUE 0 hr_dev->caps.max_cqes 1-u32max
PARAM_VALUE 0 hr_dev->caps.num_comp_vectors s32min-(-1),1-s32max
PARAM_VALUE 0 hr_dev->cmd.event_sem.first_waiter->up 0-1
PARAM_VALUE 0 hr_dev->cmd.poll_sem.first_waiter->up 0-1
PARAM_VALUE 0 hr_dev->cmd.poll_sem.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 hr_dev->dev->cma_area->nranges s32min-s32max
PARAM_VALUE 0 hr_dev->dev->iommu->attach_deferred 0-1
PARAM_VALUE 0 hr_dev->eq_table.eq 4096-ptr_max
PARAM_VALUE 0 hr_dev->hw 4096-ptr_max
PARAM_VALUE 0 hr_dev->hw->chk_mbox_avail 4096-ptr_max
PARAM_VALUE 0 hr_dev->ib_dev.dma_device->iommu->attach_deferred 0-1
PARAM_VALUE 0 hr_dev->ib_dev.dma_device->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 hr_dev->pci_dev 4096-ptr_max
PARAM_VALUE 0 hr_dev->priv->handle->client->type 0-1
PARAM_VALUE 1 hr_cq 4096-ptr_max
PARAM_VALUE 1 hr_cq->free.done 0-4294967293,u32max
PARAM_VALUE 1 hr_cq->free.wait.lock.dep_map->name 0-255
PARAM_VALUE 1 hr_cq->free.wait.lock.owner (-1)
PARAM_VALUE 1 hr_cq->free.wait.lock.owner_cpu u32max
PARAM_VALUE 1 hr_cq->free.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 1 hr_cq->free.wait.task_list.prev->next->next 4096-ptr_max
PARAM_VALUE 1 hr_cq->mtr.hem_cfg.ba_pg_shift 1-u32max
PARAM_VALUE 1 hr_cq->mtr.hem_cfg.buf_pg_shift 12-u32max
PARAM_VALUE 1 hr_cq->mtr.hem_cfg.region_count 1-3
PARAM_VALUE 1 hr_cq->mtr.hem_list.btm_bt.next 4096-ptr_max
PARAM_VALUE 1 hr_cq->mtr.hem_list.btm_bt.next->next 4096-ptr_max
PARAM_VALUE 1 hr_cq->mtr.hem_list.btm_bt.next->prev 4096-ptr_max
PARAM_VALUE 1 hr_cq->mtr.hem_list.btm_bt.prev 4096-ptr_max
PARAM_VALUE 1 hr_cq->mtr.hem_list.btm_bt.prev->next 4096-ptr_max
PARAM_VALUE 1 hr_cq->mtr.hem_list.btm_bt.prev->prev 4096-ptr_max
PARAM_VALUE 1 hr_cq->mtr.hem_list.root_bt.next 4096-ptr_max
PARAM_VALUE 1 hr_cq->mtr.hem_list.root_bt.next->next 4096-ptr_max
PARAM_VALUE 1 hr_cq->mtr.hem_list.root_bt.next->prev 6551599750997434416
PARAM_VALUE 1 hr_cq->mtr.hem_list.root_bt.prev 4096-ptr_max
PARAM_VALUE 1 hr_cq->mtr.hem_list.root_bt.prev->next 4096-ptr_max
PARAM_VALUE 1 hr_cq->mtr.hem_list.root_bt.prev->prev 4096-ptr_max
PARAM_VALUE 1 hr_cq->mtr.kmem 0,4096-ptr_max
PARAM_VALUE 1 hr_cq->mtr.kmem->ntrunks 1-u32max
PARAM_VALUE 1 hr_cq->mtr.kmem->page_shift 12-u32max
PARAM_VALUE 1 hr_cq->mtr.kmem->trunk_list 16,4096-ptr_max
PARAM_VALUE 1 hr_cq->mtr.kmem->trunk_shift 0-64
PARAM_VALUE 1 hr_cq->mtr.umem 0,4096-ptr_max
PARAM_VALUE 1 hr_cq->vector 0-4294967294
CAPPED_DATA 0 hr_dev->caps.num_comp_vectors 1
CAPPED_DATA 1 hr_cq 1
DATA_SOURCE 0 hr_dev r to_hr_dev
DATA_SOURCE 1 hr_cq r to_hr_cq
NOSPEC 1 hr_cq->db.u.user_page->user_virt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 hr_dev->priv->cmq.csq.head 0-4294967295
USER_DATA 1 hr_cq->db.u.user_page->user_virt 0,4096-u64max[c]
USER_DATA 1 hr_cq->mtr.umem->address 0-s32max[c]
USER_DATA 1 hr_cq->mtr.umem->iova 0-s32max[c]
USER_DATA 1 hr_cq->mtr.umem->length 0-u64max
USER_DATA 1 hr_cq->mtr.umem->sgt_append.prv->length 0-u32max[c]
USER_DATA 1 hr_cq->mtr.umem->sgt_append.prv->offset 0-4095[c]
USER_DATA 1 hr_cq->mtr.umem->writable 0-1[c]
USER_DATA 1 hr_cq->vector 1-s32max[c]
NO_OVERFLOW_SIMPLE 1 hr_cq->mtr.kmem->ntrunks

drivers/infiniband/hw/hns/hns_roce_cq.c hns_roce_destroy_cq() -> free_cq_buf()

Type Parameter Key Value
PARAM_VALUE 0 hr_dev 4096-ptr_max
PARAM_VALUE 0 hr_dev->cmd.context_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->cmd.event_sem.first_waiter->up 0-1
PARAM_VALUE 0 hr_dev->cmd.event_sem.lock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->cmd.event_sem.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 hr_dev->cmd.poll_sem.first_waiter->up 0-1
PARAM_VALUE 0 hr_dev->cmd.poll_sem.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 hr_dev->cq_table.array.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 hr_dev->cq_table.bank_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 hr_dev->cq_table.table->hem 0
PARAM_VALUE 0 hr_dev->dev->dma_mem->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->eq_table.eq 4096-ptr_max
PARAM_VALUE 0 hr_dev->hw 4096-ptr_max
PARAM_VALUE 0 hr_dev->hw->chk_mbox_avail 4096-ptr_max
PARAM_VALUE 0 hr_dev->priv->handle->client->type 0-1
PARAM_VALUE 1 hr_cq 4096-ptr_max
PARAM_VALUE 1 hr_cq->free.done 0-4294967293,u32max
PARAM_VALUE 1 hr_cq->free.wait.lock.dep_map->name 0-255
PARAM_VALUE 1 hr_cq->free.wait.lock.owner (-1)
PARAM_VALUE 1 hr_cq->free.wait.lock.owner_cpu u32max
PARAM_VALUE 1 hr_cq->free.wait.task_list.prev->next 4096-ptr_max
PARAM_VALUE 1 hr_cq->free.wait.task_list.prev->next->next 4096-ptr_max
DATA_SOURCE 0 hr_dev r to_hr_dev
DATA_SOURCE 1 hr_cq r to_hr_cq
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 0 hr_dev->priv->cmq.csq.head 0-4294967295

drivers/infiniband/hw/mlx5/cq.c create_cq_kernel() -> free_cq_buf()

Type Parameter Key Value
PARAM_VALUE 0 hr_dev 4096-ptr_max
PARAM_VALUE 0 hr_dev->mdev 4096-ptr_max
PARAM_VALUE 0 hr_dev->mdev->caps.hca 4096-ptr_max
PARAM_VALUE 0 hr_dev->mdev->priv.db_node_pools 4096-ptr_max
PARAM_VALUE 1 hr_cq 4096-ptr_max
PARAM_VALUE 1 hr_cq->cqe_size 64,128
PARAM_VALUE 1 hr_cq->fbc.frag_sz_m1 63
PARAM_VALUE 1 hr_cq->fbc.frags 1-u64max
PARAM_VALUE 1 hr_cq->fbc.log_frag_strides 6
PARAM_VALUE 1 hr_cq->fbc.log_stride 6
PARAM_VALUE 1 hr_cq->fbc.log_sz 6
PARAM_VALUE 1 hr_cq->fbc.sz_m1 63
PARAM_VALUE 1 hr_cq->frag_buf.frags 1-u64max
PARAM_VALUE 1 hr_cq->frag_buf.npages 0-524288
PARAM_VALUE 1 hr_cq->frag_buf.page_shift 12
DATA_SOURCE 0 hr_dev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/infiniband/hw/mlx5/cq.c destroy_cq_kernel() -> free_cq_buf()

Type Parameter Key Value
PARAM_VALUE 0 hr_dev 4096-ptr_max
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 hr_dev->mdev->priv.dbg.eq_debugfs->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 hr_dev->mdev->priv.dbg.eq_debugfs->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 hr_cq 4096-ptr_max
DATA_SOURCE 0 hr_dev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/infiniband/hw/mlx5/cq.c mlx5_ib_resize_cq() -> free_cq_buf()

Type Parameter Key Value
PARAM_VALUE 0 hr_dev 4096-ptr_max
PARAM_VALUE 0 hr_dev->mdev 4096-ptr_max
PARAM_VALUE 0 hr_dev->mdev->caps.hca 4096-ptr_max
PARAM_VALUE 0 hr_dev->mdev->cmd.alloc_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->mdev->cmd.pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 hr_dev->mdev->cmd.pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->mdev->cmd.state 1
PARAM_VALUE 0 hr_dev->mdev->cmd.token 1-255
PARAM_VALUE 0 hr_dev->mdev->cmd.token_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.first_waiter->list.next 5349227543279349760
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.first_waiter->list.prev 5349227543279349760
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.first_waiter->list.prev->next 5349227543279349760
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.lock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.lock.owner (-1)
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.lock.owner_cpu u32max
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.first_waiter->list.next 5349227543279349760
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.first_waiter->list.prev 5349227543279349760
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.first_waiter->list.prev->next 5349227543279349760
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.lock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.lock.owner (-1)
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.lock.owner_cpu u32max
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 hr_dev->mdev->pdev 4096-ptr_max
PARAM_VALUE 0 hr_dev->mdev->pdev->error_state 1
PARAM_VALUE 1 hr_cq 9205485047980163072
PARAM_VALUE 1 hr_cq->cqe_size 64
DATA_SOURCE 0 hr_dev r to_mdev
NOCHECK_CALL
LOCK2 &cq->resize_mutex
HALF_LOCKED2 &file->device->disassociate_srcu
TYPE_LOCK (struct mlx5_ib_cq)->resize_mutex

drivers/infiniband/hw/mlx5/cq.c mlx5_ib_resize_cq() -> free_cq_buf()

Type Parameter Key Value
PARAM_VALUE 0 hr_dev 4096-ptr_max
PARAM_VALUE 0 hr_dev->mdev 4096-ptr_max
PARAM_VALUE 0 hr_dev->mdev->caps.hca 4096-ptr_max
PARAM_VALUE 0 hr_dev->mdev->cmd.alloc_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->mdev->cmd.pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 hr_dev->mdev->cmd.pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->mdev->cmd.state 1
PARAM_VALUE 0 hr_dev->mdev->cmd.token 1-255
PARAM_VALUE 0 hr_dev->mdev->cmd.token_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.first_waiter->list.next 5349227543279349760
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.first_waiter->list.prev 5349227543279349760
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.first_waiter->list.prev->next 5349227543279349760
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.lock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.lock.owner (-1)
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.lock.owner_cpu u32max
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.throttle_sem.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.first_waiter->list.next 5349227543279349760
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.first_waiter->list.prev 5349227543279349760
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.first_waiter->list.prev->next 5349227543279349760
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.lock.dep_map->name 0-255
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.lock.owner (-1)
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.lock.owner_cpu u32max
PARAM_VALUE 0 hr_dev->mdev->cmd.vars.unprivileged_sem.lock.raw_lock.val.counter 0-s32max
PARAM_VALUE 0 hr_dev->mdev->pdev 4096-ptr_max
PARAM_VALUE 0 hr_dev->mdev->pdev->error_state 1
PARAM_VALUE 1 hr_cq 4096-ptr_max
PARAM_VALUE 1 hr_cq->cqe_size 64
PARAM_VALUE 1 hr_cq->fbc.frag_sz_m1 63
PARAM_VALUE 1 hr_cq->fbc.frags 1-u64max
PARAM_VALUE 1 hr_cq->fbc.log_frag_strides 6
PARAM_VALUE 1 hr_cq->fbc.log_stride 6
PARAM_VALUE 1 hr_cq->fbc.log_sz 6
PARAM_VALUE 1 hr_cq->fbc.strides_offset 0
PARAM_VALUE 1 hr_cq->fbc.sz_m1 63
PARAM_VALUE 1 hr_cq->frag_buf.frags 1-u64max
PARAM_VALUE 1 hr_cq->frag_buf.npages 0-524288
PARAM_VALUE 1 hr_cq->frag_buf.page_shift 12
CAPPED_DATA 1 hr_cq 1
DATA_SOURCE 0 hr_dev r to_mdev
NOCHECK_CALL
LOCK2 &cq->resize_mutex
HALF_LOCKED2 &file->device->disassociate_srcu
TYPE_LOCK (struct mlx5_ib_cq)->resize_mutex

drivers/infiniband/hw/mlx5/cq.c mlx5_poll_one() -> free_cq_buf()

Type Parameter Key Value
PARAM_VALUE 0 hr_dev 4096-ptr_max
PARAM_VALUE 1 hr_cq 4096-ptr_max
PARAM_VALUE 1 hr_cq->fbc.frags 4096-ptr_max
DATA_SOURCE 0 hr_dev r to_mdev
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &cq->lock
LOCK2 flags
TYPE_LOCK (struct mlx5_ib_cq)->lock