Defined in 1 files as a prototype:
Referenced in 5 files:
- drivers/pci/pci-sysfs.c
- drivers/pci/proc.c
- drivers/pci/syscall.c, line 117
- drivers/pci/vpd.c
- drivers/vfio/pci/vfio_pci_config.c
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 |