Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/vfio/device_cdev.c vfio_df_get_kvm_safe() -> vfio_device_get_kvm_safe()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->dev_set->lock.dep_map->name 0-255
PARAM_VALUE 0 device->dev_set->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 device->dev_set->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 device->dev_set->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 device->dev_set->lock.wait_lock.owner (-1)
PARAM_VALUE 0 device->dev_set->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 device->group 4096-ptr_max
PARAM_VALUE 0 device->group->group_lock.dep_map->name 0-255
PARAM_VALUE 0 device->group->group_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 device->group->group_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 device->group->group_lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 device->group->group_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 device->group->group_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 device->group->group_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 device->group->group_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 device->ops 4096-ptr_max
PARAM_VALUE 0 device->ops->match_token_uuid 0,5169803798861357056
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &device->dev_set->lock
LOCK2 &df->kvm_ref_lock
TYPE_LOCK (struct vfio_device_file)->kvm_ref_lock
TYPE_LOCK (struct vfio_device_set)->lock

drivers/vfio/group.c vfio_device_group_get_kvm_safe() -> vfio_device_get_kvm_safe()

Type Parameter Key Value
PARAM_VALUE 0 device 4096-ptr_max
PARAM_VALUE 0 device->dev_set->lock.dep_map->name 0-255
PARAM_VALUE 0 device->dev_set->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 device->dev_set->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 device->dev_set->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 device->dev_set->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 device->dev_set->lock.wait_lock.owner (-1)
PARAM_VALUE 0 device->dev_set->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 device->group 4096-ptr_max
PARAM_VALUE 0 device->group->group_lock.dep_map->name 0-255
PARAM_VALUE 0 device->group->group_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 device->group->group_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 device->group->group_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 device->group->group_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 device->group->group_lock.wait_lock.owner (-1)
PARAM_VALUE 0 device->group->group_lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 device->group->kvm_ref_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 device->open_count 0
PARAM_VALUE 0 device->refcount.refs.counter (-1073741824),0-s32max
DATA_SOURCE 0 device $0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 0 &device->dev_set->lock
LOCK2 0 &device->group->group_lock
LOCK2 0 &device->group->kvm_ref_lock
TYPE_LOCK (struct vfio_device_set)->lock
TYPE_LOCK (struct vfio_group)->group_lock
TYPE_LOCK (struct vfio_group)->kvm_ref_lock