Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
drivers/pci/controller/pci-hyperv.c hv_compose_msi_msg() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| CAPPED_DATA | 0 | hpdev->desc.win_slot.slot | 1 |
| DATA_SOURCE | 0 | hpdev | r get_pcichild_wslot |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &_T->lock->msi.data->mutex |
drivers/pci/controller/pci-hyperv.c hv_compose_msi_msg() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->hdev | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->hdev->channel | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->hdev->channel->outbound.ring_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | hpdev->hbus->hdev->channel->requestor.req_lock.rlock.dep_map->name | 0-255 |
| CAPPED_DATA | 0 | hpdev->desc.win_slot.slot | 1 |
| CAPPED_DATA | 0 | hpdev->hbus->hdev->channel->outbound.ring_buffer->read_index | 1 |
| CAPPED_DATA | 0 | hpdev->hbus->hdev->channel->outbound.ring_datasize | 1 |
| DATA_SOURCE | 0 | hpdev | r get_pcichild_wslot |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &_T->lock->msi.data->mutex |
drivers/pci/controller/pci-hyperv.c hv_compose_msi_msg() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| CAPPED_DATA | 0 | hpdev->desc.win_slot.slot | 1 |
| DATA_SOURCE | 0 | hpdev | r get_pcichild_wslot |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &_T->lock->msi.data->mutex |
drivers/pci/controller/pci-hyperv.c hv_eject_device_work() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->bridge | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->device_list_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | hpdev->hbus->hdev | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->hdev->channel | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->hdev->channel->requestor.req_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.wait_lock.owner_cpu | u32max |
| NOCHECK_CALL | |||
| LOCK2 | &hbus->state_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct hv_pcibus_device)->state_lock |
drivers/pci/controller/pci-hyperv.c hv_eject_device_work() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->bridge | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->device_list_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | hpdev->hbus->hdev | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->hdev->channel | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->hdev->channel->requestor.req_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.wait_lock.owner_cpu | u32max |
| CAPPED_DATA | 0 | hpdev | 1 |
| NOCHECK_CALL | |||
| LOCK2 | &hbus->state_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct hv_pcibus_device)->state_lock |
drivers/pci/controller/pci-hyperv.c hv_eject_device_work() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->bridge | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->device_list_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | hpdev->hbus->hdev | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->hdev->channel | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->hdev->channel->requestor.req_lock.rlock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | hpdev->hbus->state_lock.wait_lock.owner_cpu | u32max |
| CAPPED_DATA | 0 | hpdev | 1 |
| NOCHECK_CALL | |||
| LOCK2 | &hbus->state_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct hv_pcibus_device)->state_lock |
drivers/pci/controller/pci-hyperv.c hv_msi_free() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| CAPPED_DATA | 0 | hpdev->desc.win_slot.slot | 1 |
| DATA_SOURCE | 0 | hpdev | r get_pcichild_wslot |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &domain->root->mutex |
drivers/pci/controller/pci-hyperv.c hv_pci_assign_numa_node() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| CAPPED_DATA | 0 | hpdev->desc.win_slot.slot | 1 |
| DATA_SOURCE | 0 | hpdev | r get_pcichild_wslot |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &hbus->state_lock | ||
| LOCK2 | global &pci_rescan_remove_lock | ||
| TYPE_LOCK | (struct hv_pcibus_device)->state_lock |
drivers/pci/controller/pci-hyperv.c hv_pci_bus_exit() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &child_device->mutex | ||
| TYPE_LOCK | (struct device)->mutex |
drivers/pci/controller/pci-hyperv.c hv_pci_bus_exit() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| CAPPED_DATA | 0 | hpdev | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &child_device->mutex | ||
| TYPE_LOCK | (struct device)->mutex |
drivers/pci/controller/pci-hyperv.c hv_pci_onchannelcallback() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus | 4096-ptr_max |
| CAPPED_DATA | 0 | hpdev->desc.win_slot.slot | 1 |
| DATA_SOURCE | 0 | hpdev | r get_pcichild_wslot |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &channel->sched_lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | rcu_read |
drivers/pci/controller/pci-hyperv.c hv_pci_onchannelcallback() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| CAPPED_DATA | 0 | hpdev->desc.win_slot.slot | 1 |
| DATA_SOURCE | 0 | hpdev | r get_pcichild_wslot |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &channel->sched_lock | ||
| HALF_LOCKED2 | flags | ||
| HALF_LOCKED2 | rcu_read |
drivers/pci/controller/pci-hyperv.c hv_pcifront_read_config() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->config_lock.rlock.dep_map->name | 0-255 |
| CAPPED_DATA | 0 | hpdev->desc.win_slot.slot | 1 |
| DATA_SOURCE | 0 | hpdev | r get_pcichild_wslot |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | global &inject_lock | ||
| HALF_LOCKED2 | global &pci_lock | ||
| HALF_LOCKED2 | irq |
drivers/pci/controller/pci-hyperv.c hv_pcifront_write_config() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->hbus->config_lock.rlock.dep_map->name | 0-255 |
| CAPPED_DATA | 0 | hpdev->desc.win_slot.slot | 1 |
| DATA_SOURCE | 0 | hpdev | r get_pcichild_wslot |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | global &inject_lock | ||
| HALF_LOCKED2 | global &pci_lock | ||
| HALF_LOCKED2 | irq |
drivers/pci/controller/pci-hyperv.c hv_register_block_invalidate() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->invalidate_context | 0,4096-ptr_max |
| CAPPED_DATA | 0 | hpdev->desc.win_slot.slot | 1 |
| DATA_SOURCE | 0 | hpdev | r get_pcichild_wslot |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &dev->intf_state_mutex | ||
| HALF_LOCKED2 | &devlink->lock | ||
| TYPE_LOCK | (struct mlx5_core_dev)->intf_state_mutex |
drivers/pci/controller/pci-hyperv.c hv_send_resources_allocated() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->desc.win_slot.slot | 0-255 |
| CAPPED_DATA | 0 | hpdev->desc.win_slot.slot | 1 |
| DATA_SOURCE | 0 | hpdev | r get_pcichild_wslot |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &hbus->state_lock | ||
| TYPE_LOCK | (struct hv_pcibus_device)->state_lock |
drivers/pci/controller/pci-hyperv.c hv_send_resources_released() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->desc.win_slot.slot | 0-s32max |
| CAPPED_DATA | 0 | hpdev->desc.win_slot.slot | 1 |
| DATA_SOURCE | 0 | hpdev | r get_pcichild_wslot |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &hbus->state_lock |
drivers/pci/controller/pci-hyperv.c pci_devices_present_work() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| PARAM_VALUE | 0 | hpdev->reported_missing | 1 |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | &hbus->device_list_lock | ||
| LOCK2 | &hbus->state_lock | ||
| LOCK2 | flags | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct hv_pcibus_device)->device_list_lock | ||
| TYPE_LOCK | (struct hv_pcibus_device)->state_lock |
drivers/pci/controller/pci-hyperv.c pci_devices_present_work() -> put_pcichild()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | hpdev | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | &hbus->state_lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct hv_pcibus_device)->state_lock |