Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c del_ethtool_rule() -> put_flow_table()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c mlx5e_ethtool_flow_replace() -> put_flow_table()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->ft 1-u64max
DATA_SOURCE 0 dev r get_flow_table
NOCHECK_CALL

drivers/infiniband/hw/mlx5/fs.c add_op_fc_rules() -> put_flow_table()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mdev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->mdev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->port 4096-ptr_max
PARAM_VALUE 1 prio 4096-ptr_max
PARAM_VALUE 1 prio->flow_table 4096-ptr_max
PARAM_VALUE 1 prio->flow_table->node.lock.first_waiter->handoff_set 0-1
PARAM_VALUE 1 prio->flow_table->node.lock.first_waiter->type 0-1
PARAM_VALUE 1 prio->flow_table->node.root 4096-ptr_max
PARAM_VALUE 2 ft_added 0
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 prio $4
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &counter->lock
TYPE_LOCK (struct rdma_counter)->lock

drivers/infiniband/hw/mlx5/fs.c mlx5_ib_create_flow() -> put_flow_table()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->ddr.pdn 0-16777215
PARAM_VALUE 0 dev->devr.xrcdn0 0-16777215
PARAM_VALUE 0 dev->devr.xrcdn1 0-16777215
PARAM_VALUE 0 dev->flow_db->lock.dep_map->name 0-255
PARAM_VALUE 0 dev->flow_db->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->flow_db->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->flow_db->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.owner (-1)
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 dev->mdev 4096-ptr_max
PARAM_VALUE 0 dev->odp_pf_eq.core 0,4096-18446744073709551494,(-120)-(-7),(-5)-(-1)
PARAM_VALUE 0 dev->umrc.state 1-3
PARAM_VALUE 1 prio 4096-ptr_max
PARAM_VALUE 2 ft_added 0
BUF_SIZE 1 prio (-1),64
BUF_SIZE 1 prio (-1),64
CAPPED_DATA 0 &dev->flow_db->lock 1
DATA_SOURCE 0 dev r to_mdev
DATA_SOURCE 1 prio r get_flow_table
NOCHECK_CALL
LOCK2 0 &dev->flow_db->lock
HALF_LOCKED2 &file->device->disassociate_srcu
TYPE_LOCK (struct mlx5_ib_flow_db)->lock

drivers/infiniband/hw/mlx5/fs.c mlx5_ib_create_flow() -> put_flow_table()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->ddr.pdn 0-16777215
PARAM_VALUE 0 dev->devr.xrcdn0 0-16777215
PARAM_VALUE 0 dev->devr.xrcdn1 0-16777215
PARAM_VALUE 0 dev->flow_db->lock.dep_map->name 0-255
PARAM_VALUE 0 dev->flow_db->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->flow_db->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->flow_db->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.owner (-1)
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 dev->mdev 4096-ptr_max
PARAM_VALUE 0 dev->odp_pf_eq.core 0,4096-18446744073709551494,(-120)-(-7),(-5)-(-1)
PARAM_VALUE 0 dev->umrc.state 1-3
PARAM_VALUE 1 prio 4096-ptr_max
PARAM_VALUE 2 ft_added 0
BUF_SIZE 1 prio (-1),64
BUF_SIZE 1 prio (-1),64
CAPPED_DATA 0 &dev->flow_db->lock 1
DATA_SOURCE 0 dev r to_mdev
DATA_SOURCE 1 prio r get_flow_table
NOCHECK_CALL
LOCK2 0 &dev->flow_db->lock
HALF_LOCKED2 &file->device->disassociate_srcu
TYPE_LOCK (struct mlx5_ib_flow_db)->lock

drivers/infiniband/hw/mlx5/fs.c mlx5_ib_destroy_flow() -> put_flow_table()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->flow_db->lock.dep_map->name 0-255
PARAM_VALUE 0 dev->flow_db->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->flow_db->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->flow_db->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.owner (-1)
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 2 ft_added 1
CAPPED_DATA 0 &dev->flow_db->lock 1
NOCHECK_CALL
LOCK2 0 &dev->flow_db->lock
TYPE_LOCK (struct mlx5_ib_flow_db)->lock

drivers/infiniband/hw/mlx5/fs.c mlx5_ib_destroy_flow() -> put_flow_table()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->flow_db->lock.dep_map->name 0-255
PARAM_VALUE 0 dev->flow_db->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->flow_db->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->flow_db->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.owner (-1)
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 2 ft_added 1
CAPPED_DATA 0 &dev->flow_db->lock 1
NOCHECK_CALL
LOCK2 0 &dev->flow_db->lock
TYPE_LOCK (struct mlx5_ib_flow_db)->lock

drivers/infiniband/hw/mlx5/fs.c mlx5_ib_fs_add_op_fc() -> put_flow_table()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mdev 4096-ptr_max
PARAM_VALUE 0 dev->mdev->cmd.pool->dev->cma_area->alloc_mutex.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 dev->mdev->cmd.token 1-255
PARAM_VALUE 0 dev->mdev->cmd.vars.throttle_sem.first_waiter->list.next 5349227543279349760
PARAM_VALUE 0 dev->mdev->cmd.vars.throttle_sem.first_waiter->list.prev 5349227543279349760
PARAM_VALUE 0 dev->mdev->cmd.vars.throttle_sem.first_waiter->list.prev->next 5349227543279349760
PARAM_VALUE 0 dev->mdev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->mdev->cmd.vars.throttle_sem.lock.owner (-1)
PARAM_VALUE 0 dev->mdev->cmd.vars.throttle_sem.lock.owner_cpu u32max
PARAM_VALUE 0 dev->mdev->cmd.vars.unprivileged_sem.first_waiter->list.next 5349227543279349760
PARAM_VALUE 0 dev->mdev->cmd.vars.unprivileged_sem.first_waiter->list.prev 5349227543279349760
PARAM_VALUE 0 dev->mdev->cmd.vars.unprivileged_sem.first_waiter->list.prev->next 5349227543279349760
PARAM_VALUE 0 dev->mdev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->mdev->cmd.vars.unprivileged_sem.lock.owner (-1)
PARAM_VALUE 0 dev->mdev->cmd.vars.unprivileged_sem.lock.owner_cpu u32max
PARAM_VALUE 0 dev->mdev->priv.fc_stats->counters.xa_lock.rlock.dep_map->name 0-255
PARAM_VALUE 0 dev->mdev->priv.fc_stats->fc_pool.available_units s32min-s32max
PARAM_VALUE 0 dev->mdev->priv.fc_stats->fc_pool.dev->clock->ptp 0,4096-s64max
PARAM_VALUE 0 dev->mdev->priv.fc_stats->fc_pool.dev->cmd.token 0-255
PARAM_VALUE 0 dev->mdev->priv.fc_stats->fc_pool.dev->cmd.vars.throttle_sem.count 0-4294967295
PARAM_VALUE 0 dev->mdev->priv.fc_stats->fc_pool.dev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->mdev->priv.fc_stats->fc_pool.dev->cmd.vars.throttle_sem.lock.owner_cpu 0-4294967295
PARAM_VALUE 0 dev->mdev->priv.fc_stats->fc_pool.dev->cmd.vars.unprivileged_sem.count 0-4294967295
PARAM_VALUE 0 dev->mdev->priv.fc_stats->fc_pool.dev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->mdev->priv.fc_stats->fc_pool.dev->cmd.vars.unprivileged_sem.lock.owner_cpu 0-4294967295
PARAM_VALUE 0 dev->mdev->priv.fc_stats->fc_pool.dev->pdev->bus->self->link_bwctrl->cdev (-22),(-19),(-12),0-s64max
PARAM_VALUE 0 dev->mdev->priv.fc_stats->fc_pool.pool_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->mdev->priv.fc_stats->fc_pool.pool_lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 dev->mdev->priv.fc_stats->fc_pool.threshold s32min-s32max
PARAM_VALUE 0 dev->mdev->priv.fc_stats->fc_pool.used_units s32min-s32max
PARAM_VALUE 0 dev->mdev->priv.steering 4096-ptr_max
PARAM_VALUE 0 dev->port 4096-ptr_max
PARAM_VALUE 1 prio 4096-ptr_max
PARAM_VALUE 1 prio->flow_table 4096-ptr_max
PARAM_VALUE 1 prio->flow_table->node.lock.first_waiter->handoff_set 0-1
PARAM_VALUE 1 prio->flow_table->node.lock.first_waiter->type 0-1
PARAM_VALUE 1 prio->flow_table->node.root 4096-ptr_max
PARAM_VALUE 2 ft_added 0
DATA_SOURCE 0 dev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &stats->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

drivers/infiniband/hw/mlx5/fs.c mlx5_ib_fs_remove_op_fc() -> put_flow_table()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mdev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->mdev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->port 4096-ptr_max
PARAM_VALUE 1 prio 4096-ptr_max
PARAM_VALUE 2 ft_added 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 prio r get_opfc_prio
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &stats->lock

drivers/infiniband/hw/mlx5/fs.c mlx5_ib_handler_MLX5_IB_METHOD_STEERING_ANCHOR_CREATE() -> put_flow_table()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->flow_db->lock.dep_map->name 0-255
PARAM_VALUE 0 dev->flow_db->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->flow_db->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->flow_db->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.owner (-1)
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 dev->mdev 4096-ptr_max
PARAM_VALUE 1 prio 4096-ptr_max
PARAM_VALUE 2 ft_added 1
CAPPED_DATA 0 dev->mdev 1
CAPPED_DATA 0 &dev->flow_db->lock 1
DATA_SOURCE 0 dev r mlx5_udata_to_mdev
DATA_SOURCE 1 prio r _get_flow_table
NOCHECK_CALL
LOCK2 0 &dev->flow_db->lock
TYPE_LOCK (struct mlx5_ib_flow_db)->lock

drivers/infiniband/hw/mlx5/fs.c mlx5r_fs_unbind_op_fc() -> put_flow_table()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 1 prio 4096-ptr_max
PARAM_VALUE 2 ft_added 1
DATA_SOURCE 0 dev r to_mdev
DATA_SOURCE 1 prio r get_opfc_prio
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &counter->lock
TYPE_LOCK (struct rdma_counter)->lock

drivers/infiniband/hw/mlx5/fs.c put_per_qp_prio() -> put_flow_table()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->mdev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->mdev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 dev->port 4096-ptr_max
PARAM_VALUE 1 prio 4096-ptr_max
PARAM_VALUE 2 ft_added 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 prio r get_opfc_prio
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &stats->lock

drivers/infiniband/hw/mlx5/fs.c raw_fs_rule_add() -> put_flow_table()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->flow_db->lock.dep_map->name 0-255
PARAM_VALUE 0 dev->flow_db->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 dev->flow_db->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->flow_db->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.owner (-1)
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 dev->mdev 4096-ptr_max
PARAM_VALUE 1 prio 4096-ptr_max
PARAM_VALUE 1 prio->flow_table->autogroup.num_groups 0-4294967295
PARAM_VALUE 1 prio->flow_table->fgs_hash.ht.nelems.counter s32min-s32max
PARAM_VALUE 1 prio->flow_table->fgs_hash.ht.run_irq_work.node.a_flags.counter s32min-s32max
PARAM_VALUE 1 prio->flow_table->fgs_hash.ht.tbl->hash_rnd 0-4294967295
PARAM_VALUE 1 prio->flow_table->fgs_hash.ht.tbl->nest 0-4294967295
PARAM_VALUE 1 prio->flow_table->fgs_hash.ht.tbl->size 0-4294967295
PARAM_VALUE 1 prio->flow_table->node.lock.dep_map->name 0-255
PARAM_VALUE 1 prio->flow_table->node.lock.first_waiter->handoff_set 0-1
PARAM_VALUE 1 prio->flow_table->node.lock.first_waiter->list.next 2212933610777083904,2624917664208203776
PARAM_VALUE 1 prio->flow_table->node.lock.first_waiter->list.prev 2212933610777083904,2624917664208203776
PARAM_VALUE 1 prio->flow_table->node.lock.first_waiter->type 0-1
PARAM_VALUE 1 prio->flow_table->node.refcount.refs.counter s32min-s32max
PARAM_VALUE 1 prio->flow_table->node.version.counter s32min-s32max
PARAM_VALUE 2 ft_added 0
CAPPED_DATA 0 dev->mdev 1
CAPPED_DATA 0 &dev->flow_db->lock 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 prio r _get_flow_table
NOCHECK_CALL
LOCK2 0 &dev->flow_db->lock
TYPE_LOCK (struct mlx5_ib_flow_db)->lock

drivers/infiniband/hw/mlx5/fs.c steering_anchor_cleanup() -> put_flow_table()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->flow_db->lock.dep_map->name 0-255
PARAM_VALUE 0 dev->flow_db->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 dev->flow_db->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.owner (-1)
PARAM_VALUE 0 dev->flow_db->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 prio 4096-ptr_max
PARAM_VALUE 2 ft_added 1
CAPPED_DATA 0 &dev->flow_db->lock 1
NOCHECK_CALL
LOCK2 0 &dev->flow_db->lock
TYPE_LOCK (struct mlx5_ib_flow_db)->lock