Defined in 1 files as a prototype:

Referenced in 5 files:

Smatch caller information:

drivers/pci/proc.c proc_bus_pci_write() -> pci_user_write_config_word()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->cfg_size 1-s32max
PARAM_VALUE 0 dev->dev.parent 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.parent->bus 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.parent->type 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 1 pos 1-1000000000
BUF_SIZE 0 dev s32min-(-2),1-s32max
BUF_SIZE 0 dev s32min-(-2),1-s32max
NOSPEC 1 pos
NOSPEC 1 pos
NOCHECK_CALL
USER_DATA 1 pos 1-1000000000[c]
UNITS 0 dev unit_array_size
UNITS 1 pos unit_byte

drivers/pci/proc.c proc_bus_pci_write() -> pci_user_write_config_word()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->cfg_size 1-s32max
PARAM_VALUE 0 dev->dev.parent 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.parent->bus 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.parent->type 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.power.wakeirq->status 0-4294967295
BUF_SIZE 0 dev s32min-(-2),1-s32max
BUF_SIZE 0 dev s32min-(-2),1-s32max
NOSPEC 1 pos
NOSPEC 1 pos
NOCHECK_CALL
USER_DATA 1 pos 0-1000000010[c]
UNITS 0 dev unit_array_size
UNITS 1 pos unit_byte

drivers/pci/pci-sysfs.c pci_write_config() -> pci_user_write_config_word()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->dev.parent 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.parent->bus 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.parent->type 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.power.wakeirq->status 0-4294967295
CAPPED_DATA 0 dev->cfg_size 1
DATA_SOURCE 1 pos $4 [m]
PARAM_COMPARE 0 dev->cfg_size >= $1
PARAM_COMPARE 1 pos <= $0->cfg_size
NOSPEC 1 pos
NOSPEC 1 pos
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 pos 1-4095[c]
UNITS 1 pos unit_byte
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/pci/pci-sysfs.c pci_write_config() -> pci_user_write_config_word()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->dev.parent 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.parent->bus 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.parent->type 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.power.wakeirq->status 0-4294967295
CAPPED_DATA 0 dev->cfg_size 1
DATA_SOURCE 1 pos $4 [m]
NOSPEC 1 pos
NOSPEC 1 pos
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 pos 0-4105[c]
UNITS 1 pos unit_byte
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/vfio/pci/vfio_pci_config.c vfio_bar_restore() -> pci_user_write_config_word()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->cfg_size 1-s32max
PARAM_VALUE 0 dev->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.class 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.driver 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.power.request 0-4
PARAM_VALUE 0 dev->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 dev->dev.power.wakeirq 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.type 0,4096-ptr_max
PARAM_VALUE 0 dev->is_virtfn 0
PARAM_VALUE 1 pos 4
BIT_INFO 2 val 0x400,0xffff
NOCHECK_CALL
HOST_DATA 0 dev->current_state 0-3[c]
HOST_DATA 2 val 0-u16max
LOCK2 &vdev->memory_lock
TYPE_LOCK (struct vfio_pci_core_device)->memory_lock

drivers/vfio/pci/vfio_pci_config.c vfio_msi_config_write() -> pci_user_write_config_word()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->cfg_size 1-s32max
PARAM_VALUE 0 dev->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.class 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.power.request 0-4
PARAM_VALUE 0 dev->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 dev->dev.power.wakeirq 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 dev->dev.type 0,4096-ptr_max
PARAM_VALUE 0 dev->sriov->offset 0-u16max
PARAM_VALUE 0 dev->sriov->stride 0-u16max
PARAM_VALUE 0 *dev->saved_config_space 0-4294967295
PARAM_VALUE 2 val 0-255
CAPPED_DATA 0 dev 1
HOST_DATA 0 dev->current_state 0-3[c]
USER_DATA 1 pos 2-1000000006[c]

drivers/vfio/pci/vfio_pci_config.c vfio_user_config_write() -> pci_user_write_config_word()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->cfg_size 1-s32max
PARAM_VALUE 0 dev->dev.bus 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.class 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.power.request 0-4
PARAM_VALUE 0 dev->dev.power.runtime_error s32min-(-17),(-15)-(-14),(-12),(-10)-s32max
PARAM_VALUE 0 dev->dev.power.wakeirq 0,4096-ptr_max
PARAM_VALUE 0 dev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 dev->dev.type 0,4096-ptr_max
PARAM_VALUE 0 *dev->saved_config_space 0-4294967295
PARAM_VALUE 1 pos 0-2147483646
CAPPED_DATA 1 pos 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 pos $1
DATA_SOURCE 2 val $2
NOSPEC 1 pos
HOST_DATA 0 dev->current_state 0-3[c]
HOST_DATA 2 val 0-u16max[c]
USER_DATA 1 pos 0-1000000004[c]
USER_DATA 2 val 0-u16max

drivers/pci/vpd.c pci_vpd_read() -> pci_user_write_config_word()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->dev.kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 dev->dev.kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 dev->dev.kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 dev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 dev->vpd.lock->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 dev->vpd.lock.dep_map->name 0-255
PARAM_VALUE 0 dev->vpd.lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->vpd.lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->vpd.lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->vpd.lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->vpd.lock.wait_lock.owner (-1)
PARAM_VALUE 0 dev->vpd.lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 *dev->saved_config_space 0-4294967295
BUF_SIZE 0 dev (-1),1-s32max
BUF_SIZE 0 dev (-1),1-s32max
CAPPED_DATA 2 val 1
DATA_SOURCE 0 dev $0
BIT_INFO 2 val 0x0,0xfffffffc
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 dev->acs_capabilities 0-u16max
HOST_DATA 0 dev->class 0-16777215
HOST_DATA 0 dev->current_state 0-3[c]
HOST_DATA 0 dev->devcap 0-u32max
HOST_DATA 0 dev->devfn 0-503[c]
HOST_DATA 0 dev->device 0-u16max
HOST_DATA 0 dev->eetlp_prefix_max 0-7[c]
HOST_DATA 0 dev->fm_enabled 0-1[c]
HOST_DATA 0 dev->hdr_type 0,3-255[c]
HOST_DATA 0 dev->ide_cfg 0-1[c]
HOST_DATA 0 dev->ide_tee_limit 0-1[c]
HOST_DATA 0 dev->irq 0-255
HOST_DATA 0 dev->is_cxl 0-1
HOST_DATA 0 dev->multifunction 0-1[c]
HOST_DATA 0 dev->nr_ide_mem 0-255[c]
HOST_DATA 0 dev->pcie_flags_reg 0-u16max
HOST_DATA 0 dev->pcie_mpss 0-7[c]
HOST_DATA 0 dev->pin 0
HOST_DATA 0 dev->pme_support 0-31[c]
HOST_DATA 0 dev->ptm_granularity 0-255[c]
HOST_DATA 0 dev->revision 0-255
HOST_DATA 0 dev->subsystem_device 0-u16max
HOST_DATA 0 dev->subsystem_vendor 0-u16max
HOST_DATA 0 dev->supported_speeds 0,2-254[c]
HOST_DATA 0 dev->transparent 0[c]
HOST_DATA 0 dev->vendor 0-u16max
USER_DATA 2 val 0-u16max[c]
LOCK2 &vpd->lock
HALF_LOCKED2 0 &dev->vpd.lock
TYPE_LOCK (struct pci_vpd)->lock

drivers/pci/vpd.c pci_vpd_write() -> pci_user_write_config_word()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->dev.kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 dev->dev.kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 dev->dev.kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 dev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 dev->vpd.lock->first_waiter->task->blocked_lock.owner (-4611686018427387904)-4611686018427387903
PARAM_VALUE 0 dev->vpd.lock.dep_map->name 0-255
PARAM_VALUE 0 dev->vpd.lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->vpd.lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->vpd.lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->vpd.lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->vpd.lock.wait_lock.owner (-1)
PARAM_VALUE 0 dev->vpd.lock.wait_lock.owner_cpu u32max
CAPPED_DATA 2 val 1
DATA_SOURCE 0 dev $0
BIT_INFO 2 val 0x8000,0x7fffffffffffffff
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 0 dev->current_state 0-3[c]
USER_DATA 2 val 0-u16max[c]
LOCK2 &vpd->lock
TYPE_LOCK (struct pci_vpd)->lock