Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c mlx5_fs_add_rx_underlay_qpn() -> (struct mlx5_flow_cmds)->update_root_ft()

Type Parameter Key Value
PARAM_VALUE 0 ns 4096-ptr_max
PARAM_VALUE 0 ns->chain_lock.dep_map->name 0-255
PARAM_VALUE 0 ns->chain_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ns->chain_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ns->chain_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 ns->chain_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 ns->chain_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ns->chain_lock.wait_lock.owner (-1)
PARAM_VALUE 0 ns->chain_lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 ns->cmds 4096-ptr_max
PARAM_VALUE 0 ns->root_ft 1-u64max
PARAM_VALUE 1 ft 1-u64max
PARAM_VALUE 3 disconnect 0
CAPPED_DATA 0 &ns->chain_lock 1
DATA_SOURCE 2 underlay_qpn $1
CONTAINER 0 -64-1696+0 $(-1)
CONTAINER 1 *(-64-1696+1520) $(-1)
RX_PATH
TASK_NOT_RUNNING
LOCK2 &epriv->state_lock
LOCK2 0 &ns->chain_lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct mlx5_flow_root_namespace)->chain_lock
TYPE_LOCK (struct mlx5e_priv)->state_lock

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c mlx5_fs_remove_rx_underlay_qpn() -> (struct mlx5_flow_cmds)->update_root_ft()

Type Parameter Key Value
PARAM_VALUE 0 ns 4096-ptr_max
PARAM_VALUE 0 ns->chain_lock.dep_map->name 0-255
PARAM_VALUE 0 ns->chain_lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 ns->chain_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 ns->chain_lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 ns->chain_lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 ns->chain_lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 ns->chain_lock.wait_lock.owner (-1)
PARAM_VALUE 0 ns->chain_lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 ns->cmds 4096-ptr_max
PARAM_VALUE 3 disconnect 1
CAPPED_DATA 0 &ns->chain_lock 1
CAPPED_DATA 0 &ns->underlay_qpns 1
CAPPED_DATA 2 underlay_qpn 1
DATA_SOURCE 2 underlay_qpn $1
CONTAINER 0 -64-1696+0 $(-1)
CONTAINER 1 *(-64-1696+1520) $(-1)
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &ns->chain_lock
HALF_LOCKED2 &epriv->state_lock
HALF_LOCKED2 &priv->state_lock
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct mlx5_flow_root_namespace)->chain_lock
TYPE_LOCK (struct mlx5e_priv)->state_lock

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c update_root_ft_create() -> (struct mlx5_flow_cmds)->update_root_ft()

Type Parameter Key Value
PARAM_VALUE 0 ns 4096-ptr_max
PARAM_VALUE 0 ns->cmds 4096-ptr_max
PARAM_VALUE 0 ns->root_ft 0,4096-ptr_max
PARAM_VALUE 0 ns->underlay_qpns.next 4096-ptr_max
PARAM_VALUE 1 ft 4096-ptr_max
PARAM_VALUE 1 ft->fgs_hash.ht.key_len 0-u16max
PARAM_VALUE 1 ft->fgs_hash.ht.max_elems 0-2147483646,2147483648
PARAM_VALUE 1 ft->fgs_hash.ht.nelems.counter 0
PARAM_VALUE 1 ft->fgs_hash.ht.p.insecure_elasticity 0
PARAM_VALUE 1 ft->fgs_hash.ht.p.min_size 4-u16max
PARAM_VALUE 1 ft->fgs_hash.ht.rhlist 1
PARAM_VALUE 1 ft->fgs_hash.ht.run_irq_work.func 0
PARAM_VALUE 1 ft->fgs_hash.ht.run_irq_work.node.dst 0
PARAM_VALUE 1 ft->fgs_hash.ht.run_irq_work.node.src 0
PARAM_VALUE 1 ft->fgs_hash.ht.run_work.func 0
PARAM_VALUE 1 ft->fgs_hash.ht.tbl 0,4096-ptr_max
PARAM_VALUE 1 ft->fgs_hash.ht.tbl->hash_rnd 0-255
PARAM_VALUE 1 ft->fgs_hash.ht.tbl->rcu.func (-1)
PARAM_VALUE 1 ft->fgs_hash.ht.tbl->size 4-u32max
PARAM_VALUE 1 ft->fgs_hash.ht.tbl->walkers.next 4096-ptr_max
PARAM_VALUE 1 ft->fgs_hash.ht.tbl->walkers.prev 4096-ptr_max
PARAM_VALUE 1 ft->fs_dr_table.dr_table->table_id 0-4294967295
PARAM_VALUE 1 ft->fs_dr_table.dr_table->table_type 0-4294967295
PARAM_VALUE 1 ft->fs_dr_table.miss_action->action_type 0-4294967295
PARAM_VALUE 1 ft->fwd_rules.next->next 4096-ptr_max
PARAM_VALUE 1 ft->fwd_rules.prev 4096-ptr_max
PARAM_VALUE 1 ft->fwd_rules.prev->next 4096-ptr_max
PARAM_VALUE 1 ft->fwd_rules.prev->prev 4096-ptr_max
PARAM_VALUE 1 ft->level 0-4294967294
PARAM_VALUE 1 ft->lock.dep_map->name 0-255
PARAM_VALUE 1 ft->lock.first_waiter 0
PARAM_VALUE 1 ft->lock.magic 4096-ptr_max
PARAM_VALUE 1 ft->lock.osq.tail.counter 0
PARAM_VALUE 1 ft->lock.owner.counter 0
PARAM_VALUE 1 ft->node.active 0
PARAM_VALUE 1 ft->node.children.next 16,4096-ptr_max
PARAM_VALUE 1 ft->node.children.next->next 16,4096-ptr_max
PARAM_VALUE 1 ft->node.children.prev 16,4096-ptr_max
PARAM_VALUE 1 ft->node.children.prev->next 16,4096-ptr_max
PARAM_VALUE 1 ft->node.children.prev->prev 16,4096-ptr_max
PARAM_VALUE 1 ft->node.del_hw_func 402262375680741376
PARAM_VALUE 1 ft->node.del_sw_func 6868762612298719232
PARAM_VALUE 1 ft->node.list.next 16,4096-ptr_max
PARAM_VALUE 1 ft->node.list.next->next 16,4096-ptr_max
PARAM_VALUE 1 ft->node.list.prev 16,4096-ptr_max
PARAM_VALUE 1 ft->node.list.prev->next 16,4096-ptr_max
PARAM_VALUE 1 ft->node.list.prev->prev 16,4096-ptr_max
PARAM_VALUE 1 ft->node.lock.count.counter 0
PARAM_VALUE 1 ft->node.lock.dep_map->name 0-255
PARAM_VALUE 1 ft->node.lock.first_waiter 0
PARAM_VALUE 1 ft->node.lock.magic 4096-ptr_max
PARAM_VALUE 1 ft->node.lock.osq.tail.counter 0
PARAM_VALUE 1 ft->node.lock.owner.counter 0
PARAM_VALUE 1 ft->node.refcount.refs.counter 1
PARAM_VALUE 1 ft->node.type 3
PARAM_VALUE 1 ft->ns 4096-ptr_max
PARAM_VALUE 1 ft->ns->node.root 4096-ptr_max
PARAM_VALUE 1 ft->op_mod 0-1
PARAM_VALUE 2 underlay_qpn 0
PARAM_VALUE 3 disconnect 0
BUF_SIZE 1 ft 912
BUF_SIZE 1 ft->ns (-1),256
CAPPED_DATA 0 &ns->underlay_qpns 1
CAPPED_DATA 1 ft->level 1
DATA_SOURCE 0 ns r find_root
DATA_SOURCE 1 ft $0
CONTAINER 0 -64-1696+0 $(-1)
PARAM_COMPARE 0 &ns->underlay_qpns == $0->underlay_qpns.next
HARD_MAX 1 ft->op_mod 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->chain_lock
TYPE_LOCK (struct mlx5_flow_root_namespace)->chain_lock

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c update_root_ft_create() -> (struct mlx5_flow_cmds)->update_root_ft()

Type Parameter Key Value
PARAM_VALUE 0 ns 4096-ptr_max
PARAM_VALUE 0 ns->cmds 4096-ptr_max
PARAM_VALUE 0 ns->dev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 ns->dev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 ns->root_ft 0,4096-ptr_max
PARAM_VALUE 1 ft 4096-ptr_max
PARAM_VALUE 1 ft->fgs_hash.ht.key_len 0-u16max
PARAM_VALUE 1 ft->fgs_hash.ht.max_elems 0-2147483646,2147483648
PARAM_VALUE 1 ft->fgs_hash.ht.nelems.counter 0
PARAM_VALUE 1 ft->fgs_hash.ht.p.insecure_elasticity 0
PARAM_VALUE 1 ft->fgs_hash.ht.p.min_size 4-u16max
PARAM_VALUE 1 ft->fgs_hash.ht.rhlist 1
PARAM_VALUE 1 ft->fgs_hash.ht.run_irq_work.func 0
PARAM_VALUE 1 ft->fgs_hash.ht.run_irq_work.node.dst 0
PARAM_VALUE 1 ft->fgs_hash.ht.run_irq_work.node.src 0
PARAM_VALUE 1 ft->fgs_hash.ht.run_work.func 0
PARAM_VALUE 1 ft->fgs_hash.ht.tbl 0,4096-ptr_max
PARAM_VALUE 1 ft->fgs_hash.ht.tbl->hash_rnd 0-255
PARAM_VALUE 1 ft->fgs_hash.ht.tbl->rcu.func (-1)
PARAM_VALUE 1 ft->fgs_hash.ht.tbl->size 4-u32max
PARAM_VALUE 1 ft->fgs_hash.ht.tbl->walkers.next 4096-ptr_max
PARAM_VALUE 1 ft->fgs_hash.ht.tbl->walkers.prev 4096-ptr_max
PARAM_VALUE 1 ft->fs_dr_table.dr_table->table_id 0-4294967295
PARAM_VALUE 1 ft->fs_dr_table.dr_table->table_type 0-4294967295
PARAM_VALUE 1 ft->fs_dr_table.miss_action->action_type 0-4294967295
PARAM_VALUE 1 ft->fwd_rules.next->next 4096-ptr_max
PARAM_VALUE 1 ft->fwd_rules.prev 4096-ptr_max
PARAM_VALUE 1 ft->fwd_rules.prev->next 4096-ptr_max
PARAM_VALUE 1 ft->fwd_rules.prev->prev 4096-ptr_max
PARAM_VALUE 1 ft->level 0-4294967294
PARAM_VALUE 1 ft->lock.dep_map->name 0-255
PARAM_VALUE 1 ft->lock.first_waiter 0
PARAM_VALUE 1 ft->lock.magic 4096-ptr_max
PARAM_VALUE 1 ft->lock.osq.tail.counter 0
PARAM_VALUE 1 ft->lock.owner.counter 0
PARAM_VALUE 1 ft->node.active 0
PARAM_VALUE 1 ft->node.children.next 16,4096-ptr_max
PARAM_VALUE 1 ft->node.children.next->next 16,4096-ptr_max
PARAM_VALUE 1 ft->node.children.prev 16,4096-ptr_max
PARAM_VALUE 1 ft->node.children.prev->next 16,4096-ptr_max
PARAM_VALUE 1 ft->node.children.prev->prev 16,4096-ptr_max
PARAM_VALUE 1 ft->node.del_hw_func 402262375680741376
PARAM_VALUE 1 ft->node.del_sw_func 6868762612298719232
PARAM_VALUE 1 ft->node.list.next 16,4096-ptr_max
PARAM_VALUE 1 ft->node.list.next->next 16,4096-ptr_max
PARAM_VALUE 1 ft->node.list.prev 16,4096-ptr_max
PARAM_VALUE 1 ft->node.list.prev->next 16,4096-ptr_max
PARAM_VALUE 1 ft->node.list.prev->prev 16,4096-ptr_max
PARAM_VALUE 1 ft->node.lock.count.counter 0
PARAM_VALUE 1 ft->node.lock.dep_map->name 0-255
PARAM_VALUE 1 ft->node.lock.first_waiter 0
PARAM_VALUE 1 ft->node.lock.magic 4096-ptr_max
PARAM_VALUE 1 ft->node.lock.osq.tail.counter 0
PARAM_VALUE 1 ft->node.lock.owner.counter 0
PARAM_VALUE 1 ft->node.refcount.refs.counter 1
PARAM_VALUE 1 ft->node.type 3
PARAM_VALUE 1 ft->ns 4096-ptr_max
PARAM_VALUE 1 ft->ns->node.root 4096-ptr_max
PARAM_VALUE 1 ft->op_mod 0-1
PARAM_VALUE 3 disconnect 0
BUF_SIZE 1 ft 912
BUF_SIZE 1 ft->ns (-1),256
CAPPED_DATA 0 &ns->underlay_qpns 1
CAPPED_DATA 1 ft->level 1
DATA_SOURCE 0 ns r find_root
DATA_SOURCE 1 ft $0
CONTAINER 0 -64-1696+0 $(-1)
PARAM_COMPARE 0 &ns->underlay_qpns != $0->underlay_qpns.next
HARD_MAX 1 ft->op_mod 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->chain_lock
TYPE_LOCK (struct mlx5_flow_root_namespace)->chain_lock

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c update_root_ft_destroy() -> (struct mlx5_flow_cmds)->update_root_ft()

Type Parameter Key Value
PARAM_VALUE 0 ns 4096-ptr_max
PARAM_VALUE 0 ns->cmds 4096-ptr_max
PARAM_VALUE 0 ns->root_ft 4096-ptr_max
PARAM_VALUE 0 ns->underlay_qpns.next 4096-ptr_max
PARAM_VALUE 1 ft 1-u64max
PARAM_VALUE 2 underlay_qpn 0
PARAM_VALUE 3 disconnect 0
CAPPED_DATA 0 ns->root_ft 1
CAPPED_DATA 0 &ns->underlay_qpns 1
DATA_SOURCE 0 ns r find_root
DATA_SOURCE 1 ft r find_next_ft
CONTAINER 0 -64-1696+0 $(-1)
PARAM_COMPARE 0 &ns->underlay_qpns == $0->underlay_qpns.next
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->chain_lock
HALF_LOCKED2 &*ipsec_roce->devcom->comp->sem
HALF_LOCKED2 &chains->lock
HALF_LOCKED2 &ct_priv->control_lock
HALF_LOCKED2 &esw->fdb_table.offloads.indir->lock
HALF_LOCKED2 &esw->fdb_table.offloads.vports.lock
HALF_LOCKED2 &esw->offloads.reps_lock
HALF_LOCKED2 &esw->offloads.termtbl_mutex
HALF_LOCKED2 &fs_prot->prot_mutex
HALF_LOCKED2 &ldev->lock
HALF_LOCKED2 &priv->macsec->lock
HALF_LOCKED2 &rx->ft.mutex
HALF_LOCKED2 &sd->devcom->comp->sem
HALF_LOCKED2 &tx->ft.mutex
HALF_LOCKED2 &tx_fs->mutex
TYPE_LOCK (struct mlx5_flow_root_namespace)->chain_lock

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c update_root_ft_destroy() -> (struct mlx5_flow_cmds)->update_root_ft()

Type Parameter Key Value
PARAM_VALUE 0 ns 4096-ptr_max
PARAM_VALUE 0 ns->cmds 4096-ptr_max
PARAM_VALUE 0 ns->dev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 ns->dev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 ns->root_ft 4096-ptr_max
PARAM_VALUE 1 ft 1-u64max
PARAM_VALUE 3 disconnect 0
CAPPED_DATA 0 ns->root_ft 1
CAPPED_DATA 0 &ns->underlay_qpns 1
DATA_SOURCE 0 ns r find_root
DATA_SOURCE 1 ft r find_next_ft
CONTAINER 0 -64-1696+0 $(-1)
PARAM_COMPARE 0 &ns->underlay_qpns != $0->underlay_qpns.next
RX_PATH
TASK_NOT_RUNNING
LOCK2 &root->chain_lock
HALF_LOCKED2 &*ipsec_roce->devcom->comp->sem
HALF_LOCKED2 &chains->lock
HALF_LOCKED2 &ct_priv->control_lock
HALF_LOCKED2 &esw->fdb_table.offloads.indir->lock
HALF_LOCKED2 &esw->fdb_table.offloads.vports.lock
HALF_LOCKED2 &esw->offloads.reps_lock
HALF_LOCKED2 &esw->offloads.termtbl_mutex
HALF_LOCKED2 &fs_prot->prot_mutex
HALF_LOCKED2 &ldev->lock
HALF_LOCKED2 &priv->macsec->lock
HALF_LOCKED2 &rx->ft.mutex
HALF_LOCKED2 &sd->devcom->comp->sem
HALF_LOCKED2 &tx->ft.mutex
HALF_LOCKED2 &tx_fs->mutex
TYPE_LOCK (struct mlx5_flow_root_namespace)->chain_lock

drivers/net/ethernet/mellanox/mlx5/core/steering/sws/fs_dr.c mlx5_cmd_dr_update_root_ft() -> (struct mlx5_flow_cmds)->update_root_ft()

Type Parameter Key Value
PARAM_VALUE 0 ns->cmds 0,4096-ptr_max
PARAM_VALUE 0 ns->dev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 ns->dev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
BUF_SIZE 1 ft->ns (-1),256
DATA_SOURCE 0 ns $0
DATA_SOURCE 1 ft $1
DATA_SOURCE 2 underlay_qpn $2
DATA_SOURCE 3 disconnect $3
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 ft->fgs_hash.ht.tbl->size
NO_OVERFLOW_SIMPLE 1 ft->fs_hws_table.hws_table->ctx->mdev->cmd.pool->allocation
NO_OVERFLOW_SIMPLE 1 ft->fs_hws_table.hws_table->ctx->mdev->cmd.pool->dev->cma_area->available_count
HALF_LOCKED2 &epriv->state_lock
HALF_LOCKED2 &root->chain_lock
HALF_LOCKED2 0 &ns->chain_lock

drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws.c mlx5_cmd_hws_update_root_ft() -> (struct mlx5_flow_cmds)->update_root_ft()

Type Parameter Key Value
PARAM_VALUE 0 ns->cmds 0,4096-ptr_max
PARAM_VALUE 0 ns->dev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 ns->dev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
BUF_SIZE 1 ft->ns (-1),256
DATA_SOURCE 0 ns $0
DATA_SOURCE 1 ft $1
DATA_SOURCE 2 underlay_qpn $2
DATA_SOURCE 3 disconnect $3
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 ft->fgs_hash.ht.tbl->size
NO_OVERFLOW_SIMPLE 1 ft->fs_hws_table.hws_table->ctx->mdev->cmd.pool->allocation
NO_OVERFLOW_SIMPLE 1 ft->fs_hws_table.hws_table->ctx->mdev->cmd.pool->dev->cma_area->available_count
HALF_LOCKED2 &epriv->state_lock
HALF_LOCKED2 &root->chain_lock
HALF_LOCKED2 0 &ns->chain_lock