Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

net/rds/ib_cm.c rds_ib_setup_qp() -> rds_ib_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 rds_ibdev 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->conn_list.prev 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->conn_list.prev->next 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->conn_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->dev 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->dev->dev.parent 0,4096-ptr_max
PARAM_VALUE 0 rds_ibdev->spinlock.rlock.dep_map->name 0-255
PARAM_VALUE 0 rds_ibdev->vector_load 4096-ptr_max
DATA_SOURCE 0 rds_ibdev r rds_ib_get_client_data
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &id_priv->handler_mutex
HALF_LOCKED2 &listen_id->handler_mutex

net/rds/ib.c rds_ib_add_one() -> rds_ib_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 rds_ibdev 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->conn_list.next 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->conn_list.next->next 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->conn_list.prev 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->conn_list.prev->next 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->conn_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->ipaddr_list.next 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->ipaddr_list.next->next 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->ipaddr_list.prev 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->ipaddr_list.prev->next 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->ipaddr_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->max_sge 0-8
PARAM_VALUE 0 rds_ibdev->refcount.refs.counter 1
PARAM_VALUE 0 rds_ibdev->vector_load 0,16,4096-ptr_max
BUF_SIZE 0 rds_ibdev 280
BUF_SIZE 0 rds_ibdev->mr_1m_pool (-1)-0,576
BUF_SIZE 0 rds_ibdev->pd s32min-s32max
BUF_SIZE 0 rds_ibdev->pd->res.kern_name (-1),9
BUF_SIZE 0 rds_ibdev->vector_load 0-u64max
CAPPED_DATA 0 rds_ibdev->max_sge 1
DATA_SOURCE 0 rds_ibdev r _kmalloc_node_noprof
STR_LEN 0 rds_ibdev->dev (-1),6-9,11-12
STR_LEN 0 rds_ibdev->pd->device (-1),6-9,11-12
STR_LEN 0 rds_ibdev->pd->res.kern_name (-1),8
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 rds_ibdev->dev->hw_stats_attr_index
NO_OVERFLOW_SIMPLE 0 rds_ibdev->dev->num_comp_vectors
NO_OVERFLOW_SIMPLE 0 rds_ibdev->pd->device->hw_stats_attr_index
NO_OVERFLOW_SIMPLE 0 rds_ibdev->pd->device->num_comp_vectors
NO_OVERFLOW_SIMPLE 0 rds_ibdev->pd->device->phys_port_cnt
LOCK2 &device->client_data_rwsem
LOCK2 global &clients_rwsem
LOCK2 global &devices_rwsem
HALF_LOCKED2 &device->unregistration_lock
TYPE_LOCK (struct ib_device)->client_data_rwsem

net/rds/ib.c rds_ib_laddr_check() -> rds_ib_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 rds_ibdev 4096-ptr_max
DATA_SOURCE 0 rds_ibdev r rds_ib_get_device
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &rds_trans_sem
HALF_LOCKED2 sk

net/rds/ib.c rds_ib_remove_one() -> rds_ib_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 rds_ibdev 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->list.next->prev 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->spinlock.rlock.dep_map->name 0-255
DATA_SOURCE 0 rds_ibdev $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &device->unregistration_lock

net/rds/ib.c rds_ib_remove_one() -> rds_ib_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 rds_ibdev 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->list.next->prev 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->spinlock.rlock.dep_map->name 0-255
DATA_SOURCE 0 rds_ibdev $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &device->unregistration_lock

net/rds/ib_rdma.c rds_ib_free_mr() -> rds_ib_dev_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/rds/ib_rdma.c rds_ib_get_mr() -> rds_ib_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 rds_ibdev 4096-ptr_max
DATA_SOURCE 0 rds_ibdev r rds_ib_get_device
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/rds/ib_rdma.c rds_ib_remove_conn() -> rds_ib_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 rds_ibdev 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->spinlock.rlock.dep_map->name 0-255
DATA_SOURCE 0 rds_ibdev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/rds/ib_rdma.c rds_ib_update_ipaddr() -> rds_ib_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 rds_ibdev 4096-ptr_max
PARAM_VALUE 0 rds_ibdev->spinlock.rlock.dep_map->name 0-255
DATA_SOURCE 0 rds_ibdev r rds_ib_get_device
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &id_priv->handler_mutex
HALF_LOCKED2 &listen_id->handler_mutex

net/rds/ib_rdma.c rds_ib_update_ipaddr() -> rds_ib_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 rds_ibdev 4096-ptr_max
CAPPED_DATA 0 rds_ibdev 1
DATA_SOURCE 0 rds_ibdev r rds_ib_get_device
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &id_priv->handler_mutex
HALF_LOCKED2 &listen_id->handler_mutex