Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/pci/controller/pci-hyperv.c get_pcichild_wslot() -> get_pcichild()

Type Parameter Key Value
PARAM_VALUE 0 hpdev 4096-ptr_max
CAPPED_DATA 0 hpdev->desc.win_slot.slot 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &hbus->device_list_lock
LOCK2 flags
HALF_LOCKED2 &dev->intf_state_mutex
HALF_LOCKED2 &hbus->state_lock
HALF_LOCKED2 &hbus->state_lock
HALF_LOCKED2 global &pci_rescan_remove_lock
TYPE_LOCK (struct hv_pcibus_device)->device_list_lock

drivers/pci/controller/pci-hyperv.c hv_pci_eject_device() -> get_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->state 0-2,4-u32max
CAPPED_DATA 0 hpdev->desc.win_slot.slot 1
DATA_SOURCE 0 hpdev $0
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 new_pcichild_device() -> get_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->state_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hpdev->hbus->state_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 hpdev->hbus->state_lock.wait_lock.owner (-1)
PARAM_VALUE 0 hpdev->hbus->state_lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 hpdev->refs.refs.counter 1
BUF_SIZE 0 hpdev 192
DATA_SOURCE 0 hpdev r _kzalloc_noprof
NOCHECK_CALL
LOCK2 &hbus->state_lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct hv_pcibus_device)->state_lock