Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/infiniband/core/sysfs.c ib_setup_device_attrs() -> (struct ib_device_ops)->get_hw_stats()

Type Parameter Key Value
PARAM_VALUE 0 ibdev 4096-ptr_max
PARAM_VALUE 0 ibdev->attrs.atomic_cap 0
PARAM_VALUE 0 ibdev->attrs.device_cap_flags 0
PARAM_VALUE 0 ibdev->attrs.fw_ver 0
PARAM_VALUE 0 ibdev->attrs.hca_core_clock 0
PARAM_VALUE 0 ibdev->attrs.hw_ver 0
PARAM_VALUE 0 ibdev->attrs.kernel_cap_flags 0
PARAM_VALUE 0 ibdev->attrs.local_ca_ack_delay 0
PARAM_VALUE 0 ibdev->attrs.masked_atomic_cap 0
PARAM_VALUE 0 ibdev->attrs.max_ah 0
PARAM_VALUE 0 ibdev->attrs.max_cq 0
PARAM_VALUE 0 ibdev->attrs.max_cqe 0
PARAM_VALUE 0 ibdev->attrs.max_dm_size 0
PARAM_VALUE 0 ibdev->attrs.max_ee 0
PARAM_VALUE 0 ibdev->attrs.max_ee_init_rd_atom 0
PARAM_VALUE 0 ibdev->attrs.max_ee_rd_atom 0
PARAM_VALUE 0 ibdev->attrs.max_mcast_grp 0
PARAM_VALUE 0 ibdev->attrs.max_mcast_qp_attach 0
PARAM_VALUE 0 ibdev->attrs.max_mr 0
PARAM_VALUE 0 ibdev->attrs.max_mr_size 0
PARAM_VALUE 0 ibdev->attrs.max_mw 0
PARAM_VALUE 0 ibdev->attrs.max_pd 0
PARAM_VALUE 0 ibdev->attrs.max_pkeys 0
PARAM_VALUE 0 ibdev->attrs.max_qp 0
PARAM_VALUE 0 ibdev->attrs.max_qp_init_rd_atom 0
PARAM_VALUE 0 ibdev->attrs.max_qp_rd_atom 0
PARAM_VALUE 0 ibdev->attrs.max_qp_wr 0
PARAM_VALUE 0 ibdev->attrs.max_raw_ethy_qp 0
PARAM_VALUE 0 ibdev->attrs.max_raw_ipv6_qp 0
PARAM_VALUE 0 ibdev->attrs.max_rdd 0
PARAM_VALUE 0 ibdev->attrs.max_recv_sge 0
PARAM_VALUE 0 ibdev->attrs.max_res_rd_atom 0
PARAM_VALUE 0 ibdev->attrs.max_send_sge 0
PARAM_VALUE 0 ibdev->attrs.max_sge_rd 0
PARAM_VALUE 0 ibdev->attrs.max_sgl_rd 0
PARAM_VALUE 0 ibdev->attrs.max_srq 0
PARAM_VALUE 0 ibdev->attrs.max_srq_sge 0
PARAM_VALUE 0 ibdev->attrs.max_srq_wr 0
PARAM_VALUE 0 ibdev->attrs.max_total_mcast_qp_attach 0
PARAM_VALUE 0 ibdev->attrs.max_wq_type_rq 0
PARAM_VALUE 0 ibdev->attrs.odp_caps.general_caps 0
PARAM_VALUE 0 ibdev->attrs.page_size_cap 0
PARAM_VALUE 0 ibdev->attrs.raw_packet_caps 0
PARAM_VALUE 0 ibdev->attrs.rss_caps.supported_qpts 0
PARAM_VALUE 0 ibdev->attrs.sig_guard_cap 0
PARAM_VALUE 0 ibdev->attrs.sig_prot_cap 0
PARAM_VALUE 0 ibdev->attrs.sys_image_guid 0
PARAM_VALUE 0 ibdev->attrs.timestamp_mask 0
PARAM_VALUE 0 ibdev->attrs.tm_caps.flags 0
PARAM_VALUE 0 ibdev->attrs.tm_caps.max_num_tags 0
PARAM_VALUE 0 ibdev->attrs.tm_caps.max_ops 0
PARAM_VALUE 0 ibdev->attrs.tm_caps.max_rndv_hdr_size 0
PARAM_VALUE 0 ibdev->attrs.tm_caps.max_sge 0
PARAM_VALUE 0 ibdev->attrs.vendor_id 0
PARAM_VALUE 0 ibdev->attrs.vendor_part_id 0
PARAM_VALUE 0 ibdev->cache_lock.dep_map->name 0-255
PARAM_VALUE 0 ibdev->dev.kobj->name 0-255
PARAM_VALUE 0 ibdev->dev.kobj.name 1-u64max
PARAM_VALUE 0 ibdev->dma_device 0,4096-ptr_max
PARAM_VALUE 0 ibdev->groups 4096-ptr_max
PARAM_VALUE 0 ibdev->hw_stats_data 4096-ptr_max
PARAM_VALUE 0 ibdev->hw_stats_data->group.attrs 0,16,4096-ptr_max
PARAM_VALUE 0 ibdev->hw_stats_data->group.attrs_const 0,16,4096-ptr_max
PARAM_VALUE 0 ibdev->hw_stats_data->group.name 8435556134180474880
PARAM_VALUE 0 ibdev->hw_stats_data->stats 4096-ptr_max
PARAM_VALUE 0 ibdev->ops.alloc_hw_device_stats 1-u64max
PARAM_VALUE 0 ibdev->port_data->cache.last_port_state 1,4
PARAM_VALUE 0 ibdev->port_data->immutable.pkey_tbl_len 0-u16max
PARAM_VALUE 0 ibdev->port_data->port_counter.mode.mode 0-2
PARAM_VALUE 1 hw_stats 4096-ptr_max
PARAM_VALUE 1 hw_stats->descs 1-u64max
PARAM_VALUE 1 hw_stats->num_counters 1-s32max
PARAM_VALUE 2 port 0
PARAM_VALUE 3 index 1-s32max
BUF_SIZE 0 ibdev (-1),5000
BUF_SIZE 0 ibdev (-1),5000
BUF_SIZE 0 ibdev->dev.parent (-1),1616
BUF_SIZE 0 ibdev->driver_def (-1),112
BUF_SIZE 0 ibdev->hw_stats_data 200-s32max
CAPPED_DATA 0 ibdev 1
CAPPED_DATA 0 ibdev->coredev.rdma_net.net 1
DATA_SOURCE 0 ibdev $0
STR_LEN 0 ibdev (-1),6-9,11-12
STR_LEN 0 ibdev (-1),6-9,11-12
CONTAINER 0 -832-8+0 $(-1)
TERMINATED 0 ibdev->hw_stats_data->group.name 1
MEM_ZERO 0 &ibdev->attrs
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 ibdev->num_comp_vectors
NO_OVERFLOW_SIMPLE 1 hw_stats->num_counters
NO_OVERFLOW_SIMPLE 3 index
HALF_LOCKED2 &dev->cmd.poll_sem
HALF_LOCKED2 global &be_adapter_list_lock
HALF_LOCKED2 global &bnxt_re_mutex
HALF_LOCKED2 global &link_ops_rwsem
HALF_LOCKED2 global &mthca_device_mutex
HALF_LOCKED2 global &qedr_dev_list_lock
HALF_LOCKED2 global &usnic_ib_ibdev_list_lock

drivers/infiniband/core/sysfs.c setup_hw_port_stats() -> (struct ib_device_ops)->get_hw_stats()

Type Parameter Key Value
PARAM_VALUE 0 ibdev 4096-ptr_max
PARAM_VALUE 0 ibdev->ops.alloc_hw_port_stats 1-u64max
PARAM_VALUE 1 hw_stats 4096-ptr_max
PARAM_VALUE 1 hw_stats->descs 1-u64max
PARAM_VALUE 1 hw_stats->num_counters 1-s32max
PARAM_VALUE 2 port 1-u32max
PARAM_VALUE 3 index 1-s32max
CAPPED_DATA 2 port 1
CONTAINER 0 *(-832-8+0) $(-1)
CONTAINER 2 *(-832-8-248+456) $(-1)
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 hw_stats->num_counters
NO_OVERFLOW_SIMPLE 3 index
HALF_LOCKED2 &device->compat_devs_mutex
HALF_LOCKED2 global &devices_rwsem
HALF_LOCKED2 global &rdma_nets_rwsem

drivers/infiniband/core/sysfs.c update_hw_stats() -> (struct ib_device_ops)->get_hw_stats()

Type Parameter Key Value
PARAM_VALUE 0 ibdev 4096-ptr_max
PARAM_VALUE 1 hw_stats 4096-ptr_max
PARAM_VALUE 1 hw_stats->lock.dep_map->name 0-255
PARAM_VALUE 1 hw_stats->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 hw_stats->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 hw_stats->lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 hw_stats->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 hw_stats->lock.wait_lock.owner (-1)
PARAM_VALUE 1 hw_stats->lock.wait_lock.owner_cpu u32max
DATA_SOURCE 0 ibdev $0
DATA_SOURCE 1 hw_stats $1
DATA_SOURCE 2 port $2
DATA_SOURCE 3 index $3
CONTAINER 0 -832-8+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
LOCK2 1 &hw_stats->lock
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct rdma_hw_stats)->lock

drivers/infiniband/core/nldev.c stat_get_doit_default_counter() -> (struct ib_device_ops)->get_hw_stats()

Type Parameter Key Value
PARAM_VALUE 0 ibdev 4096-ptr_max
PARAM_VALUE 0 ibdev->ops.alloc_hw_port_stats 1-u64max
PARAM_VALUE 0 ibdev->ops.get_hw_stats 1-u64max
PARAM_VALUE 0 ibdev->port_data 4096-ptr_max
PARAM_VALUE 0 ibdev->refcount.refs.counter (-1073741824),0-s32max
PARAM_VALUE 1 hw_stats 1-u64max
PARAM_VALUE 1 hw_stats->lock.dep_map->name 0-255
PARAM_VALUE 1 hw_stats->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 1 hw_stats->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 1 hw_stats->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 1 hw_stats->lock.osq.tail.counter 0-s32max
PARAM_VALUE 1 hw_stats->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 1 hw_stats->lock.wait_lock.owner (-1)
PARAM_VALUE 1 hw_stats->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 3 index 0
CAPPED_DATA 1 &hw_stats->lock 1
CAPPED_DATA 2 port 1
DATA_SOURCE 0 ibdev r ib_device_get_by_index
DATA_SOURCE 1 hw_stats r ib_get_hw_stats_port
DATA_SOURCE 2 port r nla_get_u32
CONTAINER 0 -832-8+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
LOCK2 1 &hw_stats->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read
TYPE_LOCK (struct rdma_hw_stats)->lock