Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c mlx5_eswitch_num_vfs() -> mlx5_esw_allowed()

Type Parameter Key Value
DATA_SOURCE 0 esw $0
LOCK2 &devcom->comp->sem
LOCK2 &ldev->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct mlx5_lag)->lock

drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c mlx5_esw_devlink_rate_leaf_tc_bw_set() -> mlx5_esw_allowed()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c mlx5_esw_devlink_rate_leaf_tx_max_set() -> mlx5_esw_allowed()

Type Parameter Key Value
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c mlx5_esw_devlink_rate_leaf_tx_share_set() -> mlx5_esw_allowed()

Type Parameter Key Value
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &dpll_lock
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &net_dm_mutex
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
HALF_LOCKED2 rcu_read

drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c mlx5_eswitch_get_vepa() -> mlx5_esw_allowed()

Type Parameter Key Value
PARAM_VALUE 0 esw 1-u64max
DATA_SOURCE 0 esw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c mlx5_eswitch_set_vepa() -> mlx5_esw_allowed()

Type Parameter Key Value
PARAM_VALUE 0 esw 1-u64max
DATA_SOURCE 0 esw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex

drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c mlx5_eswitch_set_vport_rate() -> mlx5_esw_allowed()

Type Parameter Key Value
DATA_SOURCE 0 esw $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 esw->esw_funcs.num_ec_vfs
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rx_queue_mutex

drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c mlx5_eswitch_set_vport_spoofchk() -> mlx5_esw_allowed()

Type Parameter Key Value
DATA_SOURCE 0 esw $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 esw->esw_funcs.num_ec_vfs
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rx_queue_mutex

drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c mlx5_eswitch_set_vport_trust() -> mlx5_esw_allowed()

Type Parameter Key Value
DATA_SOURCE 0 esw $0
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 esw->esw_funcs.num_ec_vfs
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rx_queue_mutex

drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c mlx5_eswitch_set_vport_vlan() -> mlx5_esw_allowed()

Type Parameter Key Value
DATA_SOURCE 0 esw $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rx_queue_mutex

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c mlx5_eswitch_block_encap() -> mlx5_esw_allowed()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rx->ft.mutex
HALF_LOCKED2 &tx->ft.mutex

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c mlx5_eswitch_block_mode() -> mlx5_esw_allowed()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rx->ft.mutex
HALF_LOCKED2 &tx->ft.mutex

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c mlx5_eswitch_is_peer() -> mlx5_esw_allowed()

Type Parameter Key Value
DATA_SOURCE 0 esw $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ldev->lock
HALF_LOCKED2 &sd->devcom->comp->sem
TYPE_LOCK (struct mlx5_lag)->lock

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c mlx5_eswitch_is_peer() -> mlx5_esw_allowed()

Type Parameter Key Value
DATA_SOURCE 0 esw $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &ldev->lock
HALF_LOCKED2 &sd->devcom->comp->sem
TYPE_LOCK (struct mlx5_lag)->lock

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c mlx5_eswitch_unblock_encap() -> mlx5_esw_allowed()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rx->ft.mutex
HALF_LOCKED2 &tx->ft.mutex

drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c mlx5_eswitch_unblock_mode() -> mlx5_esw_allowed()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &rx->ft.mutex
HALF_LOCKED2 &tx->ft.mutex

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_esw_get() -> mlx5_esw_allowed()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &block->cb_lock
HALF_LOCKED2 &flowtable->flow_block_lock
HALF_LOCKED2 &mdev->priv.eswitch->mode_lock

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_esw_get_hpf_host_number() -> mlx5_esw_allowed()

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

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_esw_get_num_spfs() -> mlx5_esw_allowed()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->intf_state_mutex
HALF_LOCKED2 &devlink->lock
TYPE_LOCK (struct mlx5_core_dev)->intf_state_mutex

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_esw_has_spf_sfs() -> mlx5_esw_allowed()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->intf_state_mutex
HALF_LOCKED2 &devlink->lock
TYPE_LOCK (struct mlx5_core_dev)->intf_state_mutex

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_esw_hold() -> mlx5_esw_allowed()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_esw_pf_disable_hca() -> mlx5_esw_allowed()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 esw->esw_funcs.num_vfs
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &esw->offloads.reps_lock

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_esw_pf_enable_hca() -> mlx5_esw_allowed()

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/eswitch.c mlx5_esw_put() -> mlx5_esw_allowed()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &block->cb_lock
HALF_LOCKED2 &flowtable->flow_block_lock

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_esw_release() -> mlx5_esw_allowed()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &mdev->priv.eswitch->mode_lock

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_esw_sf_max_spf_functions() -> mlx5_esw_allowed()

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

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_esw_spf_get_host_number() -> mlx5_esw_allowed()

Type Parameter Key Value
PARAM_VALUE 0 esw 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->intf_state_mutex
HALF_LOCKED2 &devlink->lock
TYPE_LOCK (struct mlx5_core_dev)->intf_state_mutex

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_eswitch_block_ipsec() -> mlx5_esw_allowed()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_eswitch_disable() -> mlx5_esw_allowed()

Type Parameter Key Value
PARAM_VALUE 0 esw->dev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 esw->dev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
PARAM_VALUE 0 esw->dev->priv.roce.fg->node.parent->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->dev->priv.roce.fg->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->dev->priv.roce.ft->node.parent->lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->dev->priv.roce.ft->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->fdb_table.legacy.fdb->node.lock.first_waiter->handoff_set 0-1
PARAM_VALUE 0 esw->fdb_table.legacy.fdb->node.lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->offloads.ft_offloads->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->offloads.restore_group->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 esw->offloads.vport_rx_group->node.parent->lock.first_waiter->type 0-1
PARAM_VALUE 0 *esw->dev->priv.lag->lag_mpesw.pf_metadata 0-4294967295
DATA_SOURCE 0 esw $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->intf_state_mutex
HALF_LOCKED2 &devlink->lock
TYPE_LOCK (struct mlx5_core_dev)->intf_state_mutex

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_eswitch_disable_sriov() -> mlx5_esw_allowed()

Type Parameter Key Value
PARAM_VALUE 0 esw->dev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 esw->dev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
DATA_SOURCE 0 esw $0
NOSPEC 0 esw->esw_funcs.num_ec_vfs
NOSPEC 0 esw->esw_funcs.num_vfs
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 esw->esw_funcs.num_ec_vfs 1-u16max[c]
USER_DATA 0 esw->esw_funcs.num_vfs 1-u16max[c]
NO_OVERFLOW_SIMPLE 0 esw->esw_funcs.num_vfs
NO_OVERFLOW_SIMPLE 0 esw->fdb_table.offloads.drop_root_rule->num_rules
NO_OVERFLOW_SIMPLE 0 esw->offloads.vport_rx_drop_rule->num_rules
HALF_LOCKED2 &dev->intf_state_mutex
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pdev->dev.mutex
HALF_LOCKED2 global &pci_rescan_remove_lock

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_eswitch_enable() -> mlx5_esw_allowed()

Type Parameter Key Value
PARAM_VALUE 0 esw->dev->cmd.vars.throttle_sem.first_waiter->up 0-1
PARAM_VALUE 0 esw->dev->cmd.vars.unprivileged_sem.first_waiter->up 0-1
DATA_SOURCE 0 esw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->intf_state_mutex
HALF_LOCKED2 &devlink->lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &pdev->dev.mutex
HALF_LOCKED2 global &pci_rescan_remove_lock

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_eswitch_get_core_dev() -> mlx5_esw_allowed()

Type Parameter Key Value
DATA_SOURCE 0 esw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->flow_db->lock

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_eswitch_get_total_vports() -> mlx5_esw_allowed()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &dev->intf_state_mutex
HALF_LOCKED2 &esw->offloads.reps_lock

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_eswitch_mode() -> mlx5_esw_allowed()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 0 esw->esw_funcs.num_vfs
HALF_LOCKED2 &dev->flow_db->lock
HALF_LOCKED2 &devcom->comp->sem
HALF_LOCKED2 &ldev->lock
HALF_LOCKED2 &pool->lock

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_eswitch_set_vport_state() -> mlx5_esw_allowed()

Type Parameter Key Value
DATA_SOURCE 0 esw $0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &rtnl_mutex

drivers/net/ethernet/mellanox/mlx5/core/eswitch.c mlx5_eswitch_unblock_ipsec() -> mlx5_esw_allowed()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING