Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/thunderbolt/domain.c tb_domain_approve_switch() -> (struct tb_cm_ops)->approve_switch()

Type Parameter Key Value
PARAM_VALUE 0 tb 4096-ptr_max
PARAM_VALUE 0 tb->cm_ops 4096-ptr_max
PARAM_VALUE 0 tb->cm_ops->approve_switch 31640814900572160,2048108674026024960,5888713353499512832
PARAM_VALUE 1 sw 4096-ptr_max
PARAM_VALUE 1 sw->dev.bus 0,4096-ptr_max
PARAM_VALUE 1 sw->dev.class 0,4096-ptr_max
PARAM_VALUE 1 sw->dev.parent 4096-ptr_max
PARAM_VALUE 1 sw->dev.parent->type 4096-ptr_max
PARAM_VALUE 1 sw->dev.power.request 0-4
PARAM_VALUE 1 sw->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 1 sw->dev.power.wakeirq 0,4096-ptr_max
PARAM_VALUE 1 sw->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 sw->dev.type 0,4096-ptr_max
PARAM_VALUE 1 sw->key 0
PARAM_VALUE 1 sw->tb 4096-ptr_max
DATA_SOURCE 0 tb $0
DATA_SOURCE 1 sw $1
CONTAINER 0 -144-1800+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 0 &tb->lock
LOCK2 1 &sw->tb->lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/domain.c tb_domain_approve_switch_key() -> (struct tb_cm_ops)->approve_switch()

Type Parameter Key Value
PARAM_VALUE 0 tb 4096-ptr_max
PARAM_VALUE 0 tb->cm_ops 4096-ptr_max
PARAM_VALUE 0 tb->cm_ops->add_switch_key 1002246512258781184,6981059831128449024
PARAM_VALUE 0 tb->cm_ops->approve_switch 31640814900572160,2048108674026024960,5888713353499512832
PARAM_VALUE 0 tb->ctl->frame_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tb->ctl->frame_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 tb->ctl->frame_pool->dev->cma_area->alloc_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 0 tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 tb->ctl->frame_pool->dev->iommu->attach_deferred 0-1
PARAM_VALUE 0 tb->ctl->frame_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 tb->ctl->frame_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 tb->ctl->frame_pool->next_block->next_block 0
PARAM_VALUE 0 tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 0 tb->ctl->request_queue_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tb->ctl->request_queue_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 tb->ctl->request_queue_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 tb->ctl->request_queue_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 tb->ctl->request_queue_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 tb->ctl->request_queue_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 tb->ctl->request_queue_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 tb->ctl->tx->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 tb->privdata->request_lock.dep_map->name 0-255
PARAM_VALUE 0 tb->privdata->request_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tb->privdata->request_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 tb->privdata->request_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 sw 4096-ptr_max
PARAM_VALUE 1 sw->dev.bus 0,4096-ptr_max
PARAM_VALUE 1 sw->dev.class 0,4096-ptr_max
PARAM_VALUE 1 sw->dev.parent 4096-ptr_max
PARAM_VALUE 1 sw->dev.parent->type 4096-ptr_max
PARAM_VALUE 1 sw->dev.power.request 0-4
PARAM_VALUE 1 sw->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 1 sw->dev.power.wakeirq 0,4096-ptr_max
PARAM_VALUE 1 sw->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 sw->dev.type 0,4096-ptr_max
PARAM_VALUE 1 sw->key 1-u64max
PARAM_VALUE 1 sw->tb 4096-ptr_max
DATA_SOURCE 0 tb $0
DATA_SOURCE 1 sw $1
CONTAINER 0 -144-1800+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 0 &tb->lock
LOCK2 1 &sw->tb->lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct tb)->lock

drivers/thunderbolt/domain.c tb_domain_challenge_switch_key() -> (struct tb_cm_ops)->approve_switch()

Type Parameter Key Value
PARAM_VALUE 0 tb 4096-ptr_max
PARAM_VALUE 0 tb->cm_ops 4096-ptr_max
PARAM_VALUE 0 tb->cm_ops->approve_switch 31640814900572160,2048108674026024960,5888713353499512832
PARAM_VALUE 0 tb->cm_ops->challenge_switch_key 2464593166624247808,8264241279748280320
PARAM_VALUE 0 tb->ctl->frame_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tb->ctl->frame_pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 tb->ctl->frame_pool->dev->cma_area->alloc_mutex.osq.tail.counter s32min-s32max
PARAM_VALUE 0 tb->ctl->frame_pool->dev->dma_uses_io_tlb 1
PARAM_VALUE 0 tb->ctl->frame_pool->dev->iommu->attach_deferred 0-1
PARAM_VALUE 0 tb->ctl->frame_pool->dev->iommu->pci_32bit_workaround 0-1
PARAM_VALUE 0 tb->ctl->frame_pool->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 tb->ctl->frame_pool->next_block->next_block 0
PARAM_VALUE 0 tb->ctl->request_queue_lock.dep_map->name 0-255
PARAM_VALUE 0 tb->ctl->request_queue_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tb->ctl->request_queue_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 tb->ctl->request_queue_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 tb->ctl->request_queue_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 tb->ctl->request_queue_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 tb->ctl->request_queue_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 tb->ctl->request_queue_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 tb->ctl->tx->lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 tb->privdata->request_lock.dep_map->name 0-255
PARAM_VALUE 0 tb->privdata->request_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 tb->privdata->request_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 tb->privdata->request_lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 sw 4096-ptr_max
PARAM_VALUE 1 sw->dev.bus 0,4096-ptr_max
PARAM_VALUE 1 sw->dev.class 0,4096-ptr_max
PARAM_VALUE 1 sw->dev.parent 4096-ptr_max
PARAM_VALUE 1 sw->dev.parent->type 4096-ptr_max
PARAM_VALUE 1 sw->dev.power.request 0-4
PARAM_VALUE 1 sw->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 1 sw->dev.power.wakeirq 0,4096-ptr_max
PARAM_VALUE 1 sw->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 sw->dev.type 0,4096-ptr_max
PARAM_VALUE 1 sw->key 1-u64max
PARAM_VALUE 1 sw->tb 4096-ptr_max
DATA_SOURCE 0 tb $0
DATA_SOURCE 1 sw $1
CONTAINER 0 -144-1800+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 0 &tb->lock
LOCK2 1 &sw->tb->lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct tb)->lock