Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/usb/core/hub.c hub_port_connect() -> hub_free_dev()

Type Parameter Key Value
PARAM_VALUE 0 udev 4096-ptr_max
PARAM_VALUE 0 udev->bus->devnum_next 1-65
PARAM_VALUE 0 udev->bus->devnum_next_mutex.dep_map->name 0-255
PARAM_VALUE 0 udev->bus->devnum_next_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 udev->bus->devnum_next_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 udev->bus->devnum_next_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 udev->bus->devnum_next_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 udev->bus->devnum_next_mutex.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 udev->bus->devnum_next_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 udev->bus->devnum_next_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 udev->bus->sysdev 4096-ptr_max
PARAM_VALUE 0 udev->dev.devres_head.next->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.devres_head.prev->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.devres_head.prev->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.dma_io_tlb_mem->dyn_alloc.data.counter 9007199250546704
PARAM_VALUE 0 udev->dev.dma_io_tlb_mem->dyn_alloc.entry.prev 1473117533515866344
PARAM_VALUE 0 udev->dev.dma_io_tlb_mem->dyn_alloc.func 1583282886040592384
PARAM_VALUE 0 udev->dev.dma_io_tlb_mem->pools.prev 1473117533515866320
PARAM_VALUE 0 udev->dev.dma_io_tlb_pools.next->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.dma_io_tlb_pools.prev->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.dma_io_tlb_pools.prev->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.dma_pools.next->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.dma_pools.prev->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.dma_pools.prev->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.flags 4096-ptr_max
PARAM_VALUE 0 udev->dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 udev->dev.links.consumers.next->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.links.consumers.prev->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.links.consumers.prev->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.links.defer_sync.next->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.links.defer_sync.prev->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.links.defer_sync.prev->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.links.suppliers.next->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.links.suppliers.prev->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.links.suppliers.prev->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.of_node->properties 4096-ptr_max
PARAM_VALUE 0 udev->dev.power.entry.next->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.power.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.power.entry.prev->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.power.wait_queue.head.next->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.power.wait_queue.head.prev->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.power.wait_queue.head.prev->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 udev->devnum s32min-0
PARAM_VALUE 0 udev->ep0.enabled 1
PARAM_VALUE 0 udev->ep0.hcpriv->data_toggle 0
PARAM_VALUE 0 udev->ep0.hcpriv->needs_rescan 0-1
PARAM_VALUE 0 udev->ep0.hcpriv->qh_next.ptr 0
PARAM_VALUE 0 udev->ep0.hcpriv->qh_state 2,4
PARAM_VALUE 0 udev->ep0.hcpriv->unlink_cycle 0-4294967295
PARAM_VALUE 0 udev->ep0.hcpriv->unlink_reason 0-255
PARAM_VALUE 0 udev->ep0.urb_list.next->next 4096-ptr_max
PARAM_VALUE 0 udev->ep0.urb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 udev->ep0.urb_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 udev->filelist.next->next 4096-ptr_max
PARAM_VALUE 0 udev->filelist.prev->next 4096-ptr_max
PARAM_VALUE 0 udev->filelist.prev->prev 4096-ptr_max
PARAM_VALUE 0 udev->usb4_link->link_dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 udev->usb4_link->link_dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 udev->usb4_link->supplier->power.wakeirq->status 0-4294967295
PARAM_VALUE 0 *udev->toggle 0-4294967295
BUF_SIZE 0 udev 2344
NOCHECK_CALL
LOCK2 &hdev->dev.mutex
LOCK2 &port_dev->status_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &port_dev->status_lock
HALF_LOCKED2 hcd->address0_mutex
TYPE_LOCK (struct device)->mutex

drivers/usb/core/hub.c usb_disconnect() -> hub_free_dev()

Type Parameter Key Value
PARAM_VALUE 0 udev 4096-ptr_max
PARAM_VALUE 0 udev->actconfig 0
PARAM_VALUE 0 udev->dev->driver_data->cis_virt (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 udev->dev->driver_data->fake_cis 0-255
PARAM_VALUE 0 udev->dev->driver_data->skt_mutex.first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 udev->dev->kobj.parent->kset->kobj.release.timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 udev->dev->kobj.parent->release.timer->entry->next->pprev 1-u64max
PARAM_VALUE 0 udev->dev->kobj.release.timer->entry->next->pprev 1-u64max
PARAM_VALUE 0 udev->dev->kobj.release.timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 udev->dev->p->knode_bus.n_klist (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 udev->dev->p->knode_class.n_klist (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 udev->dev->p->knode_driver.n_klist (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 udev->dev->p->knode_parent.n_klist (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 udev->dev->parent->kobj.release.timer->entry->next->pprev 1-u64max
PARAM_VALUE 0 udev->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 udev->dev.class 0,4096-ptr_max
PARAM_VALUE 0 udev->dev.devres_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 udev->dev.driver_data->battery_dev->dev.p->dead 1
PARAM_VALUE 0 udev->dev.driver_data->battery_dev->dev.power.in_dpm_list 0-1
PARAM_VALUE 0 udev->dev.driver_data->battery_dev->id (-2)
PARAM_VALUE 0 udev->dev.driver_data->callback->add 5235430000054906880
PARAM_VALUE 0 udev->dev.driver_data->callback->early_resume 6956900869090054144
PARAM_VALUE 0 udev->dev.driver_data->callback->remove 1719268733136482304
PARAM_VALUE 0 udev->dev.driver_data->callback->requery 4713442613417914368
PARAM_VALUE 0 udev->dev.driver_data->callback->resume 5068206944467017728
PARAM_VALUE 0 udev->dev.driver_data->callback->suspend 2738892915008757760
PARAM_VALUE 0 udev->dev.driver_data->callback->validate 4934365872137547776
PARAM_VALUE 0 udev->dev.driver_data->cdev 0
PARAM_VALUE 0 udev->dev.driver_data->cdev->kobj.release.timer.is_hard 0-1
PARAM_VALUE 0 udev->dev.driver_data->cdev->kobj.release.timer.is_lazy 0-1
PARAM_VALUE 0 udev->dev.driver_data->cdev->kobj.release.timer.is_queued 0-1
PARAM_VALUE 0 udev->dev.driver_data->cdev->kobj.release.timer.is_soft 0-1
PARAM_VALUE 0 udev->dev.driver_data->cis_mem.card_start 0-4294967295
PARAM_VALUE 0 udev->dev.driver_data->cis_mem.flags 0,2-254
PARAM_VALUE 0 udev->dev.driver_data->cis_mem.res 0
PARAM_VALUE 0 udev->dev.driver_data->cis_virt 0
PARAM_VALUE 0 udev->dev.driver_data->d_ref.refcount.refs.counter s32min-s32max
PARAM_VALUE 0 udev->dev.driver_data->detaching.counter s32min-s32max
PARAM_VALUE 0 udev->dev.driver_data->dev.kobj.kref.refcount.refs.counter s32min-s32max
PARAM_VALUE 0 udev->dev.driver_data->dev.kobj.release.cpu s32min-s32max
PARAM_VALUE 0 udev->dev.driver_data->dev.kobj.release.timer.flags 0-4294967295
PARAM_VALUE 0 udev->dev.driver_data->dev.kobj.release.timer.is_hard 0-1
PARAM_VALUE 0 udev->dev.driver_data->dev.kobj.release.timer.is_lazy 0-1
PARAM_VALUE 0 udev->dev.driver_data->dev.kobj.release.timer.is_queued 0-1
PARAM_VALUE 0 udev->dev.driver_data->dev.kobj.release.timer.is_soft 0-1
PARAM_VALUE 0 udev->dev.driver_data->dev.kobj.release.work.flags 0-4294967295
PARAM_VALUE 0 udev->dev.driver_data->dev.kobj.release.work.is_hard 0-1
PARAM_VALUE 0 udev->dev.driver_data->dev.kobj.release.work.is_lazy 0-1
PARAM_VALUE 0 udev->dev.driver_data->dev.kobj.release.work.is_queued 0-1
PARAM_VALUE 0 udev->dev.driver_data->dev.kobj.release.work.is_soft 0-1
PARAM_VALUE 0 udev->dev.driver_data->dev.kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 udev->dev.driver_data->dev.kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 udev->dev.driver_data->dev.kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 udev->dev.driver_data->device_count 0-1
PARAM_VALUE 0 udev->dev.driver_data->fake_cis_len 1
PARAM_VALUE 0 udev->dev.driver_data->functions 0-u16max
PARAM_VALUE 0 udev->dev.driver_data->ops_mutex.dep_map->name 0-255
PARAM_VALUE 0 udev->dev.driver_data->ops_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 udev->dev.driver_data->ops_mutex.first_waiter->list.prev->prev 0,5159360019465732096
PARAM_VALUE 0 udev->dev.driver_data->ops_mutex.first_waiter->magic 5159360019465732096
PARAM_VALUE 0 udev->dev.driver_data->ops_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 udev->dev.driver_data->ops_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 udev->dev.driver_data->ops_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 udev->dev.driver_data->ops_mutex.first_waiter->task->blocked_on (-1)-0
PARAM_VALUE 0 udev->dev.driver_data->ops_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 udev->dev.driver_data->ops_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 udev->dev.driver_data->pcmcia_pfc 0-255
PARAM_VALUE 0 udev->dev.driver_data->present.counter s32min-s32max
PARAM_VALUE 0 udev->dev.driver_data->resource_setup_done 0-255
PARAM_VALUE 0 udev->dev.driver_data->sfd_lock.dep_map->name 0-255
PARAM_VALUE 0 udev->dev.driver_data->sfd_lock.raw_lock.cnts.counter s32min-s32max
PARAM_VALUE 0 udev->dev.driver_data->skt_mutex.dep_map->name 0-255
PARAM_VALUE 0 udev->dev.driver_data->skt_mutex.first_waiter->list.next 5159360019465732096
PARAM_VALUE 0 udev->dev.driver_data->skt_mutex.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 udev->dev.driver_data->skt_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 udev->dev.driver_data->skt_mutex.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 udev->dev.driver_data->skt_mutex.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 udev->dev.driver_data->skt_mutex.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 udev->dev.driver_data->skt_mutex.first_waiter->task->blocked_on (-1)-0
PARAM_VALUE 0 udev->dev.driver_data->skt_mutex.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 udev->dev.driver_data->skt_mutex.osq.tail.counter 0-s32max
PARAM_VALUE 0 udev->dev.driver_data->state 0-4294967295
PARAM_VALUE 0 udev->dev.driver_data->touch_dev->dev.p->dead 1
PARAM_VALUE 0 udev->dev.driver_data->touch_dev->dev.power.in_dpm_list 0-1
PARAM_VALUE 0 udev->dev.driver_data->touch_dev->id (-2)
PARAM_VALUE 0 udev->dev.fwnode->dev 0
PARAM_VALUE 0 udev->dev.fwnode->secondary 0,4096-ptr_max
PARAM_VALUE 0 udev->dev.groups 0,4096-ptr_max
PARAM_VALUE 0 udev->dev.iommu_group->mutex->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 udev->dev.iommu_group->mutex->wait_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 udev->dev.iommu_group->owner_cnt 0-4294967295
PARAM_VALUE 0 udev->dev.kobj.entry.next->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.kobj.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.kobj.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.kobj.entry.prev->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.kobj.parent 0
PARAM_VALUE 0 udev->dev.kobj.parent->kset->kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 udev->dev.kobj.parent->kset->list_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 udev->dev.kobj.parent->release.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.kobj.parent->sd 0
PARAM_VALUE 0 udev->dev.kobj.parent->state_in_sysfs 0
PARAM_VALUE 0 udev->dev.kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 udev->dev.kobj.release.timer.is_hard 0-1
PARAM_VALUE 0 udev->dev.kobj.release.timer.is_lazy 0-1
PARAM_VALUE 0 udev->dev.kobj.release.timer.is_queued 0-1
PARAM_VALUE 0 udev->dev.kobj.release.timer.is_soft 0-1
PARAM_VALUE 0 udev->dev.kobj.release.work.flags 0-4294967295
PARAM_VALUE 0 udev->dev.kobj.release.work.is_hard 0-1
PARAM_VALUE 0 udev->dev.kobj.release.work.is_lazy 0-1
PARAM_VALUE 0 udev->dev.kobj.release.work.is_queued 0-1
PARAM_VALUE 0 udev->dev.kobj.release.work.is_soft 0-1
PARAM_VALUE 0 udev->dev.kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 udev->dev.kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 udev->dev.kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 udev->dev.kobj.sd 0
PARAM_VALUE 0 udev->dev.kobj.sd->__parent 0
PARAM_VALUE 0 udev->dev.kobj.sd->dir.children.rb_node 0
PARAM_VALUE 0 udev->dev.kobj.state_in_sysfs 0
PARAM_VALUE 0 udev->dev.links.defer_sync.next->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.links.defer_sync.next->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.links.defer_sync.prev->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.links.defer_sync.prev->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.links.status 0,3
PARAM_VALUE 0 udev->dev.p 4096-ptr_max
PARAM_VALUE 0 udev->dev.p->dead 0-1
PARAM_VALUE 0 udev->dev.p->knode_bus.n_ref.refcount.refs.counter s32min-s32max
PARAM_VALUE 0 udev->dev.p->knode_class->n_klist (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 udev->dev.p->knode_class.n_klist 0
PARAM_VALUE 0 udev->dev.p->knode_class.n_ref.refcount.refs.counter s32min-s32max
PARAM_VALUE 0 udev->dev.p->knode_driver.n_klist 0
PARAM_VALUE 0 udev->dev.p->knode_driver.n_ref.refcount.refs.counter s32min-s32max
PARAM_VALUE 0 udev->dev.p->knode_parent->n_klist (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 udev->dev.p->knode_parent.n_klist 0
PARAM_VALUE 0 udev->dev.p->knode_parent.n_ref.refcount.refs.counter s32min-s32max
PARAM_VALUE 0 udev->dev.parent->kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 udev->dev.parent->kobj.release.timer.is_hard 0-1
PARAM_VALUE 0 udev->dev.parent->kobj.release.timer.is_lazy 0-1
PARAM_VALUE 0 udev->dev.parent->kobj.release.timer.is_queued 0-1
PARAM_VALUE 0 udev->dev.parent->kobj.release.timer.is_soft 0-1
PARAM_VALUE 0 udev->dev.parent->kobj.release.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.parent->kobj.release.work.flags 0-4294967295
PARAM_VALUE 0 udev->dev.parent->kobj.release.work.is_hard 0-1
PARAM_VALUE 0 udev->dev.parent->kobj.release.work.is_lazy 0-1
PARAM_VALUE 0 udev->dev.parent->kobj.release.work.is_queued 0-1
PARAM_VALUE 0 udev->dev.parent->kobj.release.work.is_soft 0-1
PARAM_VALUE 0 udev->dev.pm_domain 0,4096-ptr_max
PARAM_VALUE 0 udev->dev.power.completion.done u32max
PARAM_VALUE 0 udev->dev.power.driver_flags 0
PARAM_VALUE 0 udev->dev.power.entry.next 4096-ptr_max
PARAM_VALUE 0 udev->dev.power.entry.next->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.power.entry.next->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.power.entry.prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.power.entry.prev->next 4096-ptr_max
PARAM_VALUE 0 udev->dev.power.entry.prev->prev 4096-ptr_max
PARAM_VALUE 0 udev->dev.power.in_dpm_list 0
PARAM_VALUE 0 udev->dev.power.irq_safe 0
PARAM_VALUE 0 udev->dev.power.needs_force_resume 0
PARAM_VALUE 0 udev->dev.power.qos->flags_req 0
PARAM_VALUE 0 udev->dev.power.subsys_data 0,4096-ptr_max
PARAM_VALUE 0 udev->dev.power.use_autosuspend 0
PARAM_VALUE 0 udev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 udev->dev.type 0,4096-ptr_max
PARAM_VALUE 0 udev->dev.type->groups 0,4096-ptr_max
PARAM_VALUE 0 udev->devnum s32min-0
PARAM_VALUE 0 udev->ep0.ep_dev 0
PARAM_VALUE 0 udev->parent 0,4096-ptr_max
PARAM_VALUE 0 udev->state 0,2,5-8
PARAM_VALUE 0 udev->u1_params.timeout 0-127,255
PARAM_VALUE 0 udev->u2_params.timeout 0-255
PARAM_VALUE 0 udev->usb2_hw_lpm_enabled 0
PARAM_VALUE 0 udev->usb3_lpm_u1_enabled 0
PARAM_VALUE 0 udev->usb3_lpm_u2_enabled 0
PARAM_VALUE 0 udev->usb4_link 0,4096-ptr_max
PARAM_VALUE 0 *udev->actconfig->interface 0
PARAM_VALUE 0 *udev->ep_in 0
PARAM_VALUE 0 *udev->ep_out 0
CAPPED_DATA 0 udev 1
CAPPED_DATA 0 udev->dev.physical_location 1
CAPPED_DATA 0 udev->maxchild 1
CAPPED_DATA 0 &udev->dev 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &hdev->dev.mutex
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &port_dev->status_lock
HALF_LOCKED2 &udev->dev.mutex
HALF_LOCKED2 global &usb_bus_idr_lock