Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c __mlx5_create_flow_table() -> find_root()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c _mlx5_modify_rule_destination() -> find_root()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &fte->node.lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &root->chain_lock
TYPE_LOCK (struct fs_node)->lock

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c add_rule_fte() -> find_root()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &fte->node.lock
HALF_LOCKED2 &*ipsec_roce->devcom->comp->sem
HALF_LOCKED2 &chains->lock
HALF_LOCKED2 &counter->lock
HALF_LOCKED2 &ct_priv->control_lock
HALF_LOCKED2 &dev->flow_db->lock
HALF_LOCKED2 &esw->fdb_table.offloads.indir->lock
HALF_LOCKED2 &esw->offloads.reps_lock
HALF_LOCKED2 &esw->offloads.termtbl_mutex
HALF_LOCKED2 &esw->state_lock
HALF_LOCKED2 &fs_prot->prot_mutex
HALF_LOCKED2 &ldev->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &priv->int_ports_lock
HALF_LOCKED2 &priv->macsec->lock
HALF_LOCKED2 &priv->netdev->nd_net.net->rtnl_mutex
HALF_LOCKED2 &rx->ft.mutex
HALF_LOCKED2 &stats->lock
HALF_LOCKED2 &ttc->mutex
HALF_LOCKED2 &tx->ft.mutex
HALF_LOCKED2 &tx_fs->mutex
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c connect_fts_in_prio() -> find_root()

Type Parameter Key Value
PREEMPT_ADD
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 create_auto_flow_group() -> find_root()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->root 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &fg->node.lock
HALF_LOCKED2 &counter->lock
HALF_LOCKED2 &ct_priv->control_lock
HALF_LOCKED2 &dev->flow_db->lock
HALF_LOCKED2 &esw->fdb_table.offloads.indir->lock
HALF_LOCKED2 &esw->offloads.reps_lock
HALF_LOCKED2 &esw->offloads.termtbl_mutex
HALF_LOCKED2 &esw->state_lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &priv->int_ports_lock
HALF_LOCKED2 &priv->macsec->lock
HALF_LOCKED2 &root->chain_lock
HALF_LOCKED2 &stats->lock
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c del_hw_flow_group() -> find_root()

Type Parameter Key Value
PARAM_VALUE 0 node->root 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c del_hw_flow_table() -> find_root()

Type Parameter Key Value
PARAM_VALUE 0 node->root 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c del_hw_fte() -> find_root()

Type Parameter Key Value
PARAM_VALUE 0 node->root 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c get_dev() -> find_root()

Type Parameter Key Value
DATA_SOURCE 0 node $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fte->node.lock
HALF_LOCKED2 &root->chain_lock

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c get_steering() -> find_root()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 node->lock.first_waiter->type 0-1
PARAM_VALUE 0 node->parent->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 node->parent->lock.first_waiter->type 0-1
DATA_SOURCE 0 node $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c mlx5_add_flow_rules() -> find_root()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &*ipsec_roce->devcom->comp->sem
HALF_LOCKED2 &chains->lock
HALF_LOCKED2 &counter->lock
HALF_LOCKED2 &ct_priv->control_lock
HALF_LOCKED2 &dev->flow_db->lock
HALF_LOCKED2 &esw->fdb_table.offloads.indir->lock
HALF_LOCKED2 &esw->offloads.reps_lock
HALF_LOCKED2 &esw->offloads.termtbl_mutex
HALF_LOCKED2 &esw->state_lock
HALF_LOCKED2 &ldev->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &priv->int_ports_lock
HALF_LOCKED2 &priv->macsec->lock
HALF_LOCKED2 &rx->ft.mutex
HALF_LOCKED2 &stats->lock
HALF_LOCKED2 &ttc->mutex
HALF_LOCKED2 &tx->ft.mutex
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c mlx5_create_flow_group() -> find_root()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &*ipsec_roce->devcom->comp->sem
HALF_LOCKED2 &chains->lock
HALF_LOCKED2 &ct_priv->control_lock
HALF_LOCKED2 &dev->flow_db->lock
HALF_LOCKED2 &esw->fdb_table.offloads.indir->lock
HALF_LOCKED2 &esw->offloads.reps_lock
HALF_LOCKED2 &esw->state_lock
HALF_LOCKED2 &ldev->lock
HALF_LOCKED2 &priv->macsec->lock
HALF_LOCKED2 &rx->ft.mutex

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c mlx5_destroy_flow_table() -> find_root()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
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 &ldev->lock
HALF_LOCKED2 &priv->macsec->lock
HALF_LOCKED2 &rx->ft.mutex
HALF_LOCKED2 &sd->devcom->comp->sem
HALF_LOCKED2 &tx->ft.mutex

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c mlx5_flow_namespace_set_mode() -> find_root()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &esw->offloads.reps_lock

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c mlx5_fs_get_capabilities() -> find_root()

Type Parameter Key Value
PARAM_VALUE 0 node 1-u64max
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c mlx5_get_root_namespace() -> find_root()

Type Parameter Key Value
PARAM_VALUE 0 node 1-u64max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &fs_pool->pool_lock
HALF_LOCKED2 lock

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c modify_fte() -> find_root()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &chains->lock
HALF_LOCKED2 &counter->lock
HALF_LOCKED2 &ct_priv->control_lock
HALF_LOCKED2 &dev->flow_db->lock
HALF_LOCKED2 &esw->fdb_table.offloads.indir->lock
HALF_LOCKED2 &esw->offloads.reps_lock
HALF_LOCKED2 &esw->state_lock
HALF_LOCKED2 &fte->node.lock
HALF_LOCKED2 &ldev->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &ppriv->int_ports_lock
HALF_LOCKED2 &priv->int_ports_lock
HALF_LOCKED2 &priv->macsec->lock
HALF_LOCKED2 &rx->ft.mutex
HALF_LOCKED2 &stats->lock
HALF_LOCKED2 &ttc->mutex
HALF_LOCKED2 &tx->ft.mutex
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c try_add_to_existing_fg() -> find_root()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->root 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &counter->lock
HALF_LOCKED2 &ct_priv->control_lock
HALF_LOCKED2 &dev->flow_db->lock
HALF_LOCKED2 &esw->fdb_table.offloads.indir->lock
HALF_LOCKED2 &esw->offloads.reps_lock
HALF_LOCKED2 &esw->offloads.termtbl_mutex
HALF_LOCKED2 &esw->state_lock
HALF_LOCKED2 &ft->node.lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &priv->int_ports_lock
HALF_LOCKED2 &priv->macsec->lock
HALF_LOCKED2 &root->chain_lock
HALF_LOCKED2 &stats->lock
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/mellanox/mlx5/core/fs_core.c update_root_ft_create() -> find_root()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PREEMPT_ADD
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() -> find_root()

Type Parameter Key Value
PARAM_VALUE 0 node 4096-ptr_max
PARAM_VALUE 0 node->root 4096-ptr_max
PREEMPT_ADD
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/eswitch_offloads.c esw_set_slave_root_fdb() -> find_root()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ldev->lock
HALF_LOCKED2 &pool->lock

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c esw_set_slave_root_fdb() -> find_root()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ldev->lock

drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c mlx5_cmd_set_slave_root_fdb() -> find_root()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &epriv->state_lock
HALF_LOCKED2 &ns->chain_lock
HALF_LOCKED2 &root->chain_lock